Skip to content

Commit 8de07cc

Browse files
drmenzelitbrianteemanLadySolveigbembelimen
authored
Articles Module (joomla#43738)
Co-authored-by: Brian Teeman <[email protected]> Co-authored-by: Martina Scholz <[email protected]> Co-authored-by: Benjamin Trenkle <[email protected]>
1 parent 7e7dd1c commit 8de07cc

File tree

17 files changed

+1783
-54
lines changed

17 files changed

+1783
-54
lines changed
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
-- Add mod_articles module
2+
INSERT INTO `#__extensions` (`package_id`, `name`, `type`, `element`, `folder`, `client_id`, `enabled`, `access`, `protected`, `locked`, `manifest_cache`, `params`, `custom_data`) VALUES
3+
(0, 'mod_articles', 'module', 'mod_articles', '', 0, 1, 0, 0, 1, '', '', '');
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
-- Add mod_articles module
2+
INSERT INTO "#__extensions" ("package_id", "name", "type", "element", "folder", "client_id", "enabled", "access", "protected", "locked", "manifest_cache", "params", "custom_data", "ordering", "state") VALUES
3+
(0, 'mod_articles', 'module', 'mod_articles', '', 0, 1, 0, 0, 1, '', '', '', 0, 0);
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
.mod-articles-item-card .mod-articles-link::before {
2+
position: absolute;
3+
z-index: 1;
4+
content: "";
5+
inset: 0;
6+
}
7+
.mod-articles-item-card {
8+
position: relative;
9+
}
10+
.mod-articles-item-card:focus-within {
11+
box-shadow: 0 0 0 var(--focus-ring-width) var(--focus-ring-color);
12+
}
13+
.mod-articles-item-card:focus-within :focus {
14+
border: none;
15+
outline: none;
16+
box-shadow: none;
17+
}
18+
.mod-articles-item-card:hover {
19+
box-shadow: 1px 1px 4px #0000001a;
20+
}
21+
.mod-articles-item {
22+
display: flex;
23+
flex-direction: column;
24+
}
25+
.mod-articles-item .mod-articles-item-content {
26+
order: 1;
27+
}
28+
.mod-articles-image {
29+
margin-bottom: .5rem;
30+
}
31+
@supports (container-type: inline-size) {
32+
div:has(.mod-articles-grid),
33+
section:has(.mod-articles-grid) {
34+
container-type: inline-size;
35+
}
36+
}
37+
.grid-cols-2 {
38+
--grid-column-count: 2;
39+
}
40+
.grid-cols-3 {
41+
--grid-column-count: 3;
42+
}
43+
.grid-cols-4 {
44+
--grid-column-count: 4;
45+
}
46+
.mod-articles-grid {
47+
--grid-layout-gap: 2rem;
48+
--grid-item--min-width: 100px;
49+
--gap-count: calc(var(--grid-column-count) - 1);
50+
--total-gap-width: calc(var(--gap-count) * var(--grid-layout-gap));
51+
--grid-item--max-width: calc((100% - var(--total-gap-width)) / var(--grid-column-count));
52+
53+
display: grid;
54+
grid-template-columns: 1fr;
55+
grid-gap: var(--grid-layout-gap);
56+
}
57+
@container (min-width: 768px) {
58+
.mod-articles-grid {
59+
grid-template-columns: 1fr 1fr;
60+
}
61+
}
62+
@container (min-width: 992px) {
63+
.mod-articles-grid {
64+
grid-template-columns: repeat(auto-fill, minmax(max(var(--grid-item--min-width), var(--grid-item--max-width)), 1fr));
65+
}
66+
}
67+
68+
@supports not (container-type: inline-size) {
69+
@media (min-width: 768px) {
70+
.mod-articles-grid {
71+
grid-template-columns: 1fr 1fr;
72+
}
73+
}
74+
@media (min-width: 992px) {
75+
.mod-articles-grid {
76+
grid-template-columns: repeat(auto-fill, minmax(max(var(--grid-item--min-width), var(--grid-item--max-width)), 1fr));
77+
}
78+
}
79+
}

installation/sql/mysql/base.sql

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -222,7 +222,8 @@ INSERT INTO `#__extensions` (`package_id`, `name`, `type`, `element`, `folder`,
222222
(0, 'mod_articles_category', 'module', 'mod_articles_category', '', 0, 1, 1, 0, 1, '', '', ''),
223223
(0, 'mod_articles_categories', 'module', 'mod_articles_categories', '', 0, 1, 1, 0, 1, '', '', ''),
224224
(0, 'mod_languages', 'module', 'mod_languages', '', 0, 1, 1, 0, 1, '', '', ''),
225-
(0, 'mod_finder', 'module', 'mod_finder', '', 0, 1, 0, 0, 1, '', '', '');
225+
(0, 'mod_finder', 'module', 'mod_finder', '', 0, 1, 0, 0, 1, '', '', ''),
226+
(0, 'mod_articles', 'module', 'mod_articles', '', 0, 1, 0, 0, 1, '', '', '');
226227

227228
-- Modules: Administrator
228229
INSERT INTO `#__extensions` (`package_id`, `name`, `type`, `element`, `folder`, `client_id`, `enabled`, `access`, `protected`, `locked`, `manifest_cache`, `params`, `custom_data`) VALUES

installation/sql/postgresql/base.sql

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,8 @@ INSERT INTO "#__extensions" ("package_id", "name", "type", "element", "folder",
228228
(0, 'mod_articles_category', 'module', 'mod_articles_category', '', 0, 1, 1, 0, 1, '', '', '', 0, 0),
229229
(0, 'mod_articles_categories', 'module', 'mod_articles_categories', '', 0, 1, 1, 0, 1, '', '', '', 0, 0),
230230
(0, 'mod_languages', 'module', 'mod_languages', '', 0, 1, 1, 0, 1, '', '', '', 0, 0),
231-
(0, 'mod_finder', 'module', 'mod_finder', '', 0, 1, 0, 0, 1, '', '', '', 0, 0);
231+
(0, 'mod_finder', 'module', 'mod_finder', '', 0, 1, 0, 0, 1, '', '', '', 0, 0),
232+
(0, 'mod_articles', 'module', 'mod_articles', '', 0, 1, 0, 0, 1, '', '', '', 0, 0);
232233

233234
-- Modules: Administrator
234235
INSERT INTO "#__extensions" ("package_id", "name", "type", "element", "folder", "client_id", "enabled", "access", "protected", "locked", "manifest_cache", "params", "custom_data", "ordering", "state") VALUES

language/en-GB/mod_articles.ini

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
; Joomla! Project
2+
; (C) 2024 Open Source Matters, Inc. <https://www.joomla.org>
3+
; License GNU General Public License version 2 or later; see LICENSE.txt
4+
; Note : All ini files need to be saved as UTF-8
5+
6+
MOD_ARTICLES="Articles"
7+
MOD_ARTICLES_FIELD_ARTICLEGROUPINGDIR_LABEL="Grouping Direction"
8+
MOD_ARTICLES_FIELD_ARTICLEGROUPING_LABEL="Article Grouping"
9+
MOD_ARTICLES_FIELD_ARTICLEORDERINGDIR_LABEL="Ordering Direction"
10+
MOD_ARTICLES_FIELD_ARTICLEORDERING_LABEL="Article Field to Order By"
11+
MOD_ARTICLES_FIELD_AUTHORALIASFILTERING_LABEL="Author Alias Filtering Type"
12+
MOD_ARTICLES_FIELD_AUTHORALIAS_LABEL="Author Aliases"
13+
MOD_ARTICLES_FIELD_AUTHORFILTERING_LABEL="Author Filtering Type"
14+
MOD_ARTICLES_FIELD_AUTHOR_LABEL="Authors"
15+
MOD_ARTICLES_FIELD_CATDEPTH_LABEL="Category Depth"
16+
MOD_ARTICLES_FIELD_CATFILTERINGTYPE_DESC="Include or exclude the selected categories."
17+
MOD_ARTICLES_FIELD_CATFILTERINGTYPE_LABEL="Category Filtering Type"
18+
MOD_ARTICLES_FIELD_COUNT_DESC="The number of items to display. The default value of 0 will display all articles."
19+
MOD_ARTICLES_FIELD_COUNT_LABEL="Articles to Display"
20+
MOD_ARTICLES_FIELD_DATEFIELDFORMAT_DESC="Please enter in a valid date format. See: https://php.net/date for formatting information."
21+
MOD_ARTICLES_FIELD_DATEFIELDFORMAT_LABEL="Date Format"
22+
MOD_ARTICLES_FIELD_DATEFIELD_LABEL="Date Field"
23+
MOD_ARTICLES_FIELD_DATEFILTERING_LABEL="Date Filtering"
24+
MOD_ARTICLES_FIELD_DATEGROUPINGFIELD_DESC="Select which date field you want the date grouping to be applied to."
25+
MOD_ARTICLES_FIELD_DATEGROUPINGFIELD_LABEL="Date Grouping Field"
26+
MOD_ARTICLES_FIELD_DATERANGEFIELD_LABEL="Date Range Field"
27+
MOD_ARTICLES_FIELD_ENDDATE_LABEL="To Date"
28+
MOD_ARTICLES_FIELD_EXCLUDEDARTICLES_LABEL="Article IDs to Exclude"
29+
MOD_ARTICLES_FIELD_EXCLUDE_CURRENT_LABEL="Exclude Current Article"
30+
MOD_ARTICLES_FIELD_GROUP_DISPLAY_LABEL="Display Options"
31+
MOD_ARTICLES_FIELD_GROUP_FILTERING_LABEL="Filtering Options"
32+
MOD_ARTICLES_FIELD_GROUP_GROUPING_LABEL="Grouping Options"
33+
MOD_ARTICLES_FIELD_GROUP_ORDERING_LABEL="Ordering Options"
34+
MOD_ARTICLES_FIELD_IMAGES_ARTICLE_LABEL="Show Intro/Full Image"
35+
MOD_ARTICLES_FIELD_IMAGES_DESC="Show the images that are inside the text of the article."
36+
MOD_ARTICLES_FIELD_IMAGES_LABEL="Show Article Images"
37+
MOD_ARTICLES_FIELD_INCLUDEDARTICLES_LABEL="Article IDs to Include"
38+
MOD_ARTICLES_FIELD_INFOLAYOUT_DESC="Layout for the Articles Info (Date, Hits, Category, Author)."
39+
MOD_ARTICLES_FIELD_INFOLAYOUT_LABEL="Articles Info Layout"
40+
MOD_ARTICLES_FIELD_INTROTEXTLIMIT_DESC="Truncate Introtext to a specified number of characters. Set to 0 to disable truncation."
41+
MOD_ARTICLES_FIELD_INTROTEXTLIMIT_LABEL="Introtext Limit (characters)"
42+
MOD_ARTICLES_FIELD_LAYOUT_COL_LABEL="Max. Number of Columns"
43+
MOD_ARTICLES_FIELD_LAYOUT_DESC="Vertical or horizontal display of articles."
44+
MOD_ARTICLES_FIELD_LAYOUT_HOR="Horizontal"
45+
MOD_ARTICLES_FIELD_LAYOUT_LABEL="Layout"
46+
MOD_ARTICLES_FIELD_LAYOUT_MULTILINE="Multiline"
47+
MOD_ARTICLES_FIELD_LAYOUT_SINGLELINE="Single Line"
48+
MOD_ARTICLES_FIELD_LAYOUT_VERT="Vertical"
49+
MOD_ARTICLES_FIELD_LINKTITLES_LABEL="Title Link"
50+
MOD_ARTICLES_FIELD_MONTHYEARFORMAT_DESC="Please enter in a valid date format. See: https://php.net/date for formatting information."
51+
MOD_ARTICLES_FIELD_MONTHYEARFORMAT_LABEL="Month and Year Display Format"
52+
MOD_ARTICLES_FIELD_ONLYARCHIVED_LABEL="Archived Articles"
53+
MOD_ARTICLES_FIELD_RELATIVEDATE_LABEL="Relative Date"
54+
MOD_ARTICLES_FIELD_SHOWCATEGORYLINK_LABEL="Category Link"
55+
MOD_ARTICLES_FIELD_SHOWCHILDCATEGORYARTICLES_DESC="Include or exclude articles in the child categories of the selected ones."
56+
MOD_ARTICLES_FIELD_SHOWCHILDCATEGORYARTICLES_LABEL="Child Category Articles"
57+
MOD_ARTICLES_FIELD_SHOWFEATURED_LABEL="Featured Articles"
58+
MOD_ARTICLES_FIELD_SHOWHITS_LABEL="Hits"
59+
MOD_ARTICLES_FIELD_SHOWINTROTEXT_LABEL="Introtext"
60+
MOD_ARTICLES_FIELD_STARTDATE_LABEL="Start Date Range"
61+
MOD_ARTICLES_FIELD_TITLEONLY_LABEL="Title Only (lists)"
62+
MOD_ARTICLES_FIELD_TITLE_HEADING="Header Level"
63+
MOD_ARTICLES_FIELD_TITLE_HEADING_NONE="None"
64+
MOD_ARTICLES_FIELD_TITLE_LABEL="Article Title"
65+
MOD_ARTICLES_INFO="Details"
66+
MOD_ARTICLES_OPTION_ASCENDING_VALUE="Ascending"
67+
MOD_ARTICLES_OPTION_CREATED_VALUE="Created Date"
68+
MOD_ARTICLES_OPTION_DATERANGE_VALUE="Date Range"
69+
MOD_ARTICLES_OPTION_DESCENDING_VALUE="Descending"
70+
MOD_ARTICLES_OPTION_EXCLUDE_VALUE="Exclude"
71+
MOD_ARTICLES_OPTION_EXCLUSIVE_VALUE="Exclusive"
72+
MOD_ARTICLES_OPTION_FINISHPUBLISHING_VALUE="Finish Publishing Date"
73+
MOD_ARTICLES_OPTION_FULLIMAGE="Full Image"
74+
MOD_ARTICLES_OPTION_HITS_VALUE="Hits"
75+
MOD_ARTICLES_OPTION_ID_VALUE="ID"
76+
MOD_ARTICLES_OPTION_INCLUDE_VALUE="Include"
77+
MOD_ARTICLES_OPTION_INCLUSIVE_VALUE="Inclusive"
78+
MOD_ARTICLES_OPTION_INTROIMAGE="Intro Image"
79+
MOD_ARTICLES_OPTION_MODIFIED_VALUE="Modified Date"
80+
MOD_ARTICLES_OPTION_MONTHYEAR_VALUE="Month and Year"
81+
MOD_ARTICLES_OPTION_NORMAL_VALUE="Normal"
82+
MOD_ARTICLES_OPTION_OFF_VALUE="Off"
83+
MOD_ARTICLES_OPTION_ONLYARCHIVEDHIDE_VALUE="None"
84+
MOD_ARTICLES_OPTION_ONLYARCHIVEDSHOW_VALUE="Only"
85+
MOD_ARTICLES_OPTION_ONLYFEATURED_VALUE="Only"
86+
MOD_ARTICLES_OPTION_ORDERINGFEATURED_VALUE="Featured Articles Order"
87+
MOD_ARTICLES_OPTION_ORDERING_VALUE="Article Order"
88+
MOD_ARTICLES_OPTION_RANDOM_VALUE="Random"
89+
MOD_ARTICLES_OPTION_RATING_VALUE="Rating"
90+
MOD_ARTICLES_OPTION_RELATIVEDAY_VALUE="Relative Date"
91+
MOD_ARTICLES_OPTION_STARTPUBLISHING_VALUE="Start Publishing Date"
92+
MOD_ARTICLES_OPTION_VOTE_VALUE="Vote"
93+
MOD_ARTICLES_OPTION_YEAR_VALUE="Year"
94+
MOD_ARTICLES_UNTAGGED="Untagged"
95+
MOD_ARTICLES_XML_DESCRIPTION="This module displays articles in a variety of ways."
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
; Joomla! Project
2+
; (C) 2024 Open Source Matters, Inc. <https://www.joomla.org>
3+
; License GNU General Public License version 2 or later; see LICENSE.txt
4+
; Note : All ini files need to be saved as UTF-8
5+
6+
MOD_ARTICLES="Articles"
7+
MOD_ARTICLES_LAYOUT_DEFAULT="Default"
8+
MOD_ARTICLES_XML_DESCRIPTION="This module displays articles in a variety of ways."

libraries/src/Extension/ExtensionHelper.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,7 @@ class ExtensionHelper
131131
['module', 'mod_version', '', 1],
132132

133133
// Core module extensions - site
134+
['module', 'mod_articles', '', 0],
134135
['module', 'mod_articles_archive', '', 0],
135136
['module', 'mod_articles_categories', '', 0],
136137
['module', 'mod_articles_category', '', 0],

0 commit comments

Comments
 (0)