Skip to content

Commit 93f66a6

Browse files
docs/editions: Replace categories view with feature rich page (#342)
* config: Enable @docusaurus/plugin-ideal-image support * static/img: Add screenshots for editions/spins * docs/editions: Replace categories page with feature rich page This page includes screenshots of the editions, a short description as well as direct links to the Configuration and Tips and Tricks pages for each spin in a nice card container format. * fix up some linting, add translatables, updated deps - fix Grid layout and spacing inconsistencies - dynamically hide / show icons based on resolution to prevent overflows - create an MUI theme - simplified image imports - fix translate func usage - remove extraneous "true" string --------- Co-authored-by: Joshua Strobl <[email protected]>
1 parent 9037ee7 commit 93f66a6

File tree

18 files changed

+1300
-183
lines changed

18 files changed

+1300
-183
lines changed

.eslintrc.json

+7-1
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,15 @@
11
{
2-
"extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended", "prettier"],
2+
"extends": [
3+
"eslint:recommended",
4+
"plugin:@docusaurus/recommended",
5+
"plugin:@typescript-eslint/recommended",
6+
"prettier"
7+
],
38
"parser": "@typescript-eslint/parser",
49
"parserOptions": { "project": ["./tsconfig.json"] },
510
"plugins": ["@typescript-eslint"],
611
"rules": {
12+
"import/no-unresolved": [2, { "ignore": ["@theme", "@docusaurus", "@site"] }],
713
"@typescript-eslint/ban-types": "off",
814
"@typescript-eslint/consistent-type-imports": "error",
915
"@typescript-eslint/no-unnecessary-boolean-literal-compare": "error",

docs/user/editions/_category_.json

-7
This file was deleted.

docs/user/editions/index.mdx

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Editions
2+
3+
import { ThemeProvider } from "@mui/material";
4+
import { EditionCardsRow } from "@site/src/components/editions";
5+
import { SiteTheme } from "@site/src/theme";
6+
7+
<ThemeProvider theme={SiteTheme}>
8+
<EditionCardsRow />
9+
</ThemeProvider>

docs/user/intro.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ With that in mind, the Help Center has been broken up into several sections to h
1616

1717
If you've never used Solus before, this section will set you on the right track. It contains docs related to installing Solus, software package management, the boot process, and troubleshooting all of the above.
1818

19-
**[Editions](/docs/category/editions/)**
19+
**[Editions](/docs/user/editions/)**
2020

2121
Solus comes in multiple Editions for different Desktop Environments. The purpose of this section is to introduce you to those desktops, walk you through common configuration tasks, and provides useful tips and tricks.
2222

docusaurus.config.js

+10
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,16 @@ const config = {
6565
// Options here
6666
},
6767
],
68+
[
69+
"@docusaurus/plugin-ideal-image",
70+
{
71+
quality: 70,
72+
max: 1030, // max resized image's size.
73+
min: 640, // min resized image's size. if original is lower, use that size.
74+
steps: 2, // the max number of images generated between min and max (inclusive)
75+
disableInDev: false,
76+
},
77+
],
6878
],
6979

7080
themeConfig:

i18n/en/code.json

+335
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,335 @@
1+
{
2+
"edition.budgie.description": {
3+
"message": "A feature-rich, luxurious desktop using the most modern technologies."
4+
},
5+
"edition.plasma.description": {
6+
"message": "A sophisticated desktop experience for the tinkerers. Simple by default, powerful when needed."
7+
},
8+
"edition.gnome.description": {
9+
"message": "A simple, streamlined desktop for more modern hardware."
10+
},
11+
"edition.mate.description": {
12+
"message": "A traditional desktop for advanced users and older hardware."
13+
},
14+
"edition.card.configuration": {
15+
"message": "Configuration"
16+
},
17+
"edition.card.tipsntricks": {
18+
"message": "Tips & Tricks"
19+
},
20+
"theme.ErrorPageContent.title": {
21+
"message": "This page crashed.",
22+
"description": "The title of the fallback page when the page crashed"
23+
},
24+
"theme.NotFound.title": {
25+
"message": "Page Not Found",
26+
"description": "The title of the 404 page"
27+
},
28+
"theme.NotFound.p1": {
29+
"message": "We could not find what you were looking for.",
30+
"description": "The first paragraph of the 404 page"
31+
},
32+
"theme.NotFound.p2": {
33+
"message": "Please contact the owner of the site that linked you to the original URL and let them know their link is broken.",
34+
"description": "The 2nd paragraph of the 404 page"
35+
},
36+
"theme.admonition.note": {
37+
"message": "note",
38+
"description": "The default label used for the Note admonition (:::note)"
39+
},
40+
"theme.admonition.tip": {
41+
"message": "tip",
42+
"description": "The default label used for the Tip admonition (:::tip)"
43+
},
44+
"theme.admonition.danger": {
45+
"message": "danger",
46+
"description": "The default label used for the Danger admonition (:::danger)"
47+
},
48+
"theme.admonition.info": {
49+
"message": "info",
50+
"description": "The default label used for the Info admonition (:::info)"
51+
},
52+
"theme.admonition.caution": {
53+
"message": "caution",
54+
"description": "The default label used for the Caution admonition (:::caution)"
55+
},
56+
"theme.BackToTopButton.buttonAriaLabel": {
57+
"message": "Scroll back to top",
58+
"description": "The ARIA label for the back to top button"
59+
},
60+
"theme.blog.archive.title": {
61+
"message": "Archive",
62+
"description": "The page & hero title of the blog archive page"
63+
},
64+
"theme.blog.archive.description": {
65+
"message": "Archive",
66+
"description": "The page & hero description of the blog archive page"
67+
},
68+
"theme.blog.paginator.navAriaLabel": {
69+
"message": "Blog list page navigation",
70+
"description": "The ARIA label for the blog pagination"
71+
},
72+
"theme.blog.paginator.newerEntries": {
73+
"message": "Newer Entries",
74+
"description": "The label used to navigate to the newer blog posts page (previous page)"
75+
},
76+
"theme.blog.paginator.olderEntries": {
77+
"message": "Older Entries",
78+
"description": "The label used to navigate to the older blog posts page (next page)"
79+
},
80+
"theme.blog.post.paginator.navAriaLabel": {
81+
"message": "Blog post page navigation",
82+
"description": "The ARIA label for the blog posts pagination"
83+
},
84+
"theme.blog.post.paginator.newerPost": {
85+
"message": "Newer Post",
86+
"description": "The blog post button label to navigate to the newer/previous post"
87+
},
88+
"theme.blog.post.paginator.olderPost": {
89+
"message": "Older Post",
90+
"description": "The blog post button label to navigate to the older/next post"
91+
},
92+
"theme.blog.post.plurals": {
93+
"message": "One post|{count} posts",
94+
"description": "Pluralized label for \"{count} posts\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)"
95+
},
96+
"theme.blog.tagTitle": {
97+
"message": "{nPosts} tagged with \"{tagName}\"",
98+
"description": "The title of the page for a blog tag"
99+
},
100+
"theme.tags.tagsPageLink": {
101+
"message": "View All Tags",
102+
"description": "The label of the link targeting the tag list page"
103+
},
104+
"theme.colorToggle.ariaLabel": {
105+
"message": "Switch between dark and light mode (currently {mode})",
106+
"description": "The ARIA label for the navbar color mode toggle"
107+
},
108+
"theme.colorToggle.ariaLabel.mode.dark": {
109+
"message": "dark mode",
110+
"description": "The name for the dark color mode"
111+
},
112+
"theme.colorToggle.ariaLabel.mode.light": {
113+
"message": "light mode",
114+
"description": "The name for the light color mode"
115+
},
116+
"theme.docs.breadcrumbs.navAriaLabel": {
117+
"message": "Breadcrumbs",
118+
"description": "The ARIA label for the breadcrumbs"
119+
},
120+
"theme.docs.DocCard.categoryDescription": {
121+
"message": "{count} items",
122+
"description": "The default description for a category card in the generated index about how many items this category includes"
123+
},
124+
"theme.docs.paginator.navAriaLabel": {
125+
"message": "Docs pages",
126+
"description": "The ARIA label for the docs pagination"
127+
},
128+
"theme.docs.paginator.previous": {
129+
"message": "Previous",
130+
"description": "The label used to navigate to the previous doc"
131+
},
132+
"theme.docs.paginator.next": {
133+
"message": "Next",
134+
"description": "The label used to navigate to the next doc"
135+
},
136+
"theme.docs.tagDocListPageTitle.nDocsTagged": {
137+
"message": "One doc tagged|{count} docs tagged",
138+
"description": "Pluralized label for \"{count} docs tagged\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)"
139+
},
140+
"theme.docs.tagDocListPageTitle": {
141+
"message": "{nDocsTagged} with \"{tagName}\"",
142+
"description": "The title of the page for a docs tag"
143+
},
144+
"theme.docs.versionBadge.label": {
145+
"message": "Version: {versionLabel}"
146+
},
147+
"theme.docs.versions.unreleasedVersionLabel": {
148+
"message": "This is unreleased documentation for {siteTitle} {versionLabel} version.",
149+
"description": "The label used to tell the user that he's browsing an unreleased doc version"
150+
},
151+
"theme.docs.versions.unmaintainedVersionLabel": {
152+
"message": "This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained.",
153+
"description": "The label used to tell the user that he's browsing an unmaintained doc version"
154+
},
155+
"theme.docs.versions.latestVersionSuggestionLabel": {
156+
"message": "For up-to-date documentation, see the {latestVersionLink} ({versionLabel}).",
157+
"description": "The label used to tell the user to check the latest version"
158+
},
159+
"theme.docs.versions.latestVersionLinkLabel": {
160+
"message": "latest version",
161+
"description": "The label used for the latest version suggestion link label"
162+
},
163+
"theme.common.editThisPage": {
164+
"message": "Edit this page",
165+
"description": "The link label to edit the current page"
166+
},
167+
"theme.common.headingLinkTitle": {
168+
"message": "Direct link to {heading}",
169+
"description": "Title for link to heading"
170+
},
171+
"theme.lastUpdated.atDate": {
172+
"message": " on {date}",
173+
"description": "The words used to describe on which date a page has been last updated"
174+
},
175+
"theme.lastUpdated.byUser": {
176+
"message": " by {user}",
177+
"description": "The words used to describe by who the page has been last updated"
178+
},
179+
"theme.lastUpdated.lastUpdatedAtBy": {
180+
"message": "Last updated{atDate}{byUser}",
181+
"description": "The sentence used to display when a page has been last updated, and by who"
182+
},
183+
"theme.navbar.mobileVersionsDropdown.label": {
184+
"message": "Versions",
185+
"description": "The label for the navbar versions dropdown on mobile view"
186+
},
187+
"theme.tags.tagsListLabel": {
188+
"message": "Tags:",
189+
"description": "The label alongside a tag list"
190+
},
191+
"theme.AnnouncementBar.closeButtonAriaLabel": {
192+
"message": "Close",
193+
"description": "The ARIA label for close button of announcement bar"
194+
},
195+
"theme.blog.sidebar.navAriaLabel": {
196+
"message": "Blog recent posts navigation",
197+
"description": "The ARIA label for recent posts in the blog sidebar"
198+
},
199+
"theme.CodeBlock.copied": {
200+
"message": "Copied",
201+
"description": "The copied button label on code blocks"
202+
},
203+
"theme.CodeBlock.copyButtonAriaLabel": {
204+
"message": "Copy code to clipboard",
205+
"description": "The ARIA label for copy code blocks button"
206+
},
207+
"theme.CodeBlock.copy": {
208+
"message": "Copy",
209+
"description": "The copy button label on code blocks"
210+
},
211+
"theme.CodeBlock.wordWrapToggle": {
212+
"message": "Toggle word wrap",
213+
"description": "The title attribute for toggle word wrapping button of code block lines"
214+
},
215+
"theme.DocSidebarItem.toggleCollapsedCategoryAriaLabel": {
216+
"message": "Toggle the collapsible sidebar category '{label}'",
217+
"description": "The ARIA label to toggle the collapsible sidebar category"
218+
},
219+
"theme.NavBar.navAriaLabel": {
220+
"message": "Main",
221+
"description": "The ARIA label for the main navigation"
222+
},
223+
"theme.navbar.mobileLanguageDropdown.label": {
224+
"message": "Languages",
225+
"description": "The label for the mobile language switcher dropdown"
226+
},
227+
"theme.TOCCollapsible.toggleButtonLabel": {
228+
"message": "On this page",
229+
"description": "The label used by the button on the collapsible TOC component"
230+
},
231+
"theme.blog.post.readMore": {
232+
"message": "Read More",
233+
"description": "The label used in blog post item excerpts to link to full blog posts"
234+
},
235+
"theme.blog.post.readMoreLabel": {
236+
"message": "Read more about {title}",
237+
"description": "The ARIA label for the link to full blog posts from excerpts"
238+
},
239+
"theme.blog.post.readingTime.plurals": {
240+
"message": "One min read|{readingTime} min read",
241+
"description": "Pluralized label for \"{readingTime} min read\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)"
242+
},
243+
"theme.docs.breadcrumbs.home": {
244+
"message": "Home page",
245+
"description": "The ARIA label for the home page in the breadcrumbs"
246+
},
247+
"theme.docs.sidebar.collapseButtonTitle": {
248+
"message": "Collapse sidebar",
249+
"description": "The title attribute for collapse button of doc sidebar"
250+
},
251+
"theme.docs.sidebar.collapseButtonAriaLabel": {
252+
"message": "Collapse sidebar",
253+
"description": "The title attribute for collapse button of doc sidebar"
254+
},
255+
"theme.docs.sidebar.navAriaLabel": {
256+
"message": "Docs sidebar",
257+
"description": "The ARIA label for the sidebar navigation"
258+
},
259+
"theme.docs.sidebar.closeSidebarButtonAriaLabel": {
260+
"message": "Close navigation bar",
261+
"description": "The ARIA label for close button of mobile sidebar"
262+
},
263+
"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel": {
264+
"message": "← Back to main menu",
265+
"description": "The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)"
266+
},
267+
"theme.docs.sidebar.toggleSidebarButtonAriaLabel": {
268+
"message": "Toggle navigation bar",
269+
"description": "The ARIA label for hamburger menu button of mobile navigation"
270+
},
271+
"theme.docs.sidebar.expandButtonTitle": {
272+
"message": "Expand sidebar",
273+
"description": "The ARIA label and title attribute for expand button of doc sidebar"
274+
},
275+
"theme.docs.sidebar.expandButtonAriaLabel": {
276+
"message": "Expand sidebar",
277+
"description": "The ARIA label and title attribute for expand button of doc sidebar"
278+
},
279+
"cmfcmf/d-s-l.searchBar.placeholder": {
280+
"message": "Search...",
281+
"description": "Placeholder shown in the searchbar"
282+
},
283+
"cmfcmf/d-s-l.searchBar.clearButtonTitle": {
284+
"message": "Clear",
285+
"description": "Title of the button to clear the current search input"
286+
},
287+
"cmfcmf/d-s-l.searchBar.detachedCancelButtonText": {
288+
"message": "Cancel",
289+
"description": "Text of the button to close the detached search window"
290+
},
291+
"cmfcmf/d-s-l.searchBar.submitButtonTitle": {
292+
"message": "Submit",
293+
"description": "Title of the button to submit a new search"
294+
},
295+
"cmfcmf/d-s-l.searchBar.noResults": {
296+
"message": "No results found.",
297+
"description": "message shown if no results are found"
298+
},
299+
"theme.IdealImageMessage.loading": {
300+
"message": "Loading...",
301+
"description": "When the full-scale image is loading"
302+
},
303+
"theme.IdealImageMessage.load": {
304+
"message": "Click to load{sizeMessage}",
305+
"description": "To prompt users to load the full image. sizeMessage is a parenthesized size figure."
306+
},
307+
"theme.IdealImageMessage.offline": {
308+
"message": "Your browser is offline. Image not loaded",
309+
"description": "When the user is viewing an offline document"
310+
},
311+
"theme.IdealImageMessage.404error": {
312+
"message": "404. Image not found",
313+
"description": "When the image is not found"
314+
},
315+
"theme.IdealImageMessage.error": {
316+
"message": "Error. Click to reload",
317+
"description": "When the image fails to load for unknown error"
318+
},
319+
"theme.ErrorPageContent.tryAgain": {
320+
"message": "Try again",
321+
"description": "The label of the button to try again rendering when the React error boundary captures an error"
322+
},
323+
"theme.common.skipToMainContent": {
324+
"message": "Skip to main content",
325+
"description": "The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation"
326+
},
327+
"theme.tags.tagsPageTitle": {
328+
"message": "Tags",
329+
"description": "The title of the tag list page"
330+
},
331+
"edition.card.image": {
332+
"message": "Screenshot of {name} edition",
333+
"description": "Alt text for images of editions"
334+
}
335+
}

0 commit comments

Comments
 (0)