From 5e9c3617cac1e3eac246e2ae7df6f4b71c33d37c Mon Sep 17 00:00:00 2001 From: Inverle Date: Thu, 4 Dec 2025 20:06:21 +0100 Subject: Improve layout of documentation page and add search feature (#8247) * Improve layout of documentation page and add search feature Closes https://github.com/FreshRSS/FreshRSS/issues/7915, https://github.com/FreshRSS/FreshRSS/issues/5325 Also: anchor headings and fix building site locally * Further improvements * Set color of hyperlinks * Consistent styling of close aside button across devices * Mobile layout 600px -> 1200px * Add suffix to docs `` * Note: titles of pages probably need to be improved, since currently they are just derived from the names of the first heading on every page * Add favicon * Improve font * Try to fix favicon not loading correctly on GH pages * Use local font * Attempt to fix GH pages * Final improvements * Copy to clipboard button * Support for nojs search * Dark mode * Load search.json (200KB json) only on search input focus * Keep scroll state of sidebar across navigations * Clickable images and CSP CSP so we avoid hotlinking resources and clickable images are useful for zooming on mobile for example * Fix typos * Disable Dark Reader extension if dark mode CSS is loaded * Support internationalisation (via language dropdown) * Add Gemfile.lock * Make CI build work with the custom plugin * Make menus closable with Esc * Fix typos CI * Suggestions * Use `ruby/setup-ruby` action in workflow for installing and caching gems. * Run build only when there are changes to `docs/` See: https://docs.github.com/en/actions/reference/workflows-and-actions/events-that-trigger-workflows?versionId=free-pro-team%40latest&productId=actions#running-your-workflow-only-when-a-push-to-specific-branches-occurs * Change font to `Open Sans` * Increase line height * Fix Liquid syntax error --- docs/_includes/docs_nav.html | 77 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 docs/_includes/docs_nav.html (limited to 'docs/_includes/docs_nav.html') diff --git a/docs/_includes/docs_nav.html b/docs/_includes/docs_nav.html new file mode 100644 index 000000000..3b3083c1e --- /dev/null +++ b/docs/_includes/docs_nav.html @@ -0,0 +1,77 @@ +{% if page.lang == 'en' %} + <ul> + <li><a href="{{ '/en/' | relative_url }}">Home</a></li> + <li> + <a href="{{ '/en/users/02_First_steps.html' | relative_url }}">User documentation</a> + <ul> + {% for page in site.pages %} + {% if page.url contains '/en/users/' and page.title != nil and page.url != "/en/users/02_First_steps.html" %} + <li><a href="{{ page.url | relative_url }}">{{ page.title | escape }}</a></li> + {% endif %} + {% endfor %} + </ul> + </li> + <li> + <a href="{{ '/en/admins/01_Index.html' | relative_url }}">Administrator documentation</a> + <ul> + {% for page in site.pages %} + {% if page.url contains '/en/admins/' and page.url != "/en/admins/01_Index.html" and page.title != nil %} + <li><a href="{{ page.url | relative_url }}">{{ page.title | escape }}</a></li> + {% endif %} + {% endfor %} + </ul> + </li> + <li> + <a href="{{ '/en/developers/01_Index.html' | relative_url }}">Developer documentation</a> + <ul> + {% for page in site.pages %} + {% if page.url contains '/en/developers/' and page.url != "/en/developers/01_Index.html" and page.title != nil %} + <li><a href="{{ page.url | relative_url }}">{{ page.title | escape }}</a></li> + {% endif %} + {% endfor %} + </ul> + </li> + <li> + <a href="{{ '/en/contributing.html' | relative_url}}">Contributor guidelines</a> + </li> + </ul> +{% elsif page.lang == 'fr' %} + <ul> + <li><a href="{{ '/fr/' | relative_url }}">Accueil</a></li> + <li> + <a href="{{ '/fr/users/02_First_steps.html' | relative_url }}">Documentation utilisateur</a> + <ul> + {% for page in site.pages %} + {% if page.url contains '/fr/users/' and page.title != nil and page.url != "/fr/users/02_First_steps.html" %} + <li><a href="{{ page.url | relative_url }}">{{ page.title | escape }}</a></li> + {% endif %} + {% endfor %} + </ul> + </li> + <!-- TODO: French doesn't have admin docs --> + <!-- <li> --> + <!-- <a href="{{ '/fr/admins/01_Index.html' | relative_url }}">Administrator documentation</a> --> + <!-- <ul> --> + <!-- {% for page in site.pages %} --> + <!-- {% if page.url contains '/fr/admins/' and page.url != "/fr/admins/01_Index.html" and page.title != nil %} --> + <!-- <li><a href="{{ page.url | relative_url }}">{{ page.title | escape }}</a></li> --> + <!-- {% endif %} --> + <!-- {% endfor %} --> + <!-- </ul> --> + <!-- </li> --> + <li> + <a href="{{ '/fr/developers/01_First_steps.html' | relative_url }}">Documentation développeur</a> + <ul> + {% for page in site.pages %} + {% if page.url contains '/fr/developers/' and page.url != "/fr/developers/01_First_steps.html" and page.title != nil %} + <li><a href="{{ page.url | relative_url }}">{{ page.title | escape }}</a></li> + {% endif %} + {% endfor %} + </ul> + </li> + <li> + <a href="{{ '/fr/contributing.html' | relative_url}}">Directives pour les contributeurs</a> + </li> + </ul> +{% endif %} + -- cgit v1.2.3