Skip to content

Jieiku/abridge

Repository files navigation

Abridge Zola Theme

A fast, lightweight, and modern Zola theme utilizing abridge.css (a class-light semantic HTML CSS Framework). Perfect Lighthouse, YellowLabTools, and Observatory scores. Here is a Zola Themes Benchmarks Page.

Lighthouse Score

Maintenance of this project is made possible by all the contributors and sponsors. If you'd like to sponsor this project and have your avatar or company logo appear below click here. 💖

User avatar: User avatar: Samuel Henrique

View Abridge demo

View Abridge.css demo [abridge.css framework]

The Abridge.css demo is simply using Abridge theme as a submodule: config.toml, sass/abridge.scss

Features

  • Perfect Lighthouse, YellowLabTools, and Observatory scores.
  • PWA support (Progressive Web Application).
  • All JavaScript can be fully disabled.
  • Dark, Light, Auto, and Switcher themes. (colors can be customized, css variables)
  • Code syntax highlighting. (colors can be customized, css variables)
  • Numbered code blocks with line highlighting.
  • Entirely Offline Site by using the PWA or by setting search_library = "offline" in config.toml (full search support).
  • Multi-language support.
  • Search support. (elasticlunr, pagefind, tinysearch)
  • Search Suggestions navigation keys, / focus, arrow move, enter select, escape close.
  • Search Results Page, type search query then hit Enter Key or click the search button icon.
  • SEO support. (Search Engine Optimization)
  • Pagination with numbered paginator on index.
  • Title Based Previous and Next Article links at bottom of Article.
  • Table of Contents in page Index (Optional, clickable links)
  • Recent Posts Block. (Optional)
  • Back to Top button. (uses css only)
  • Code Blocks copy button.
  • Email link in footer obfuscation. (anti-spam)
  • KaTeX support.
  • Archive page.
  • Tags.
  • Categories. (similar to Tags, disabled/commented out by default)
  • Social icon links in footer.
  • Responsive design. (mobile first)
  • Video Shortcodes: Youtube, Vimeo, Streamable.
  • Media Shortcodes: video, img, imgswap, image, gif, audio.
  • Other Shortcodes: showdata, katex.

Complete Documentation is available here

Quick Start

This theme requires version 0.19.1 or later of Zola

git clone https://github.com/jieiku/abridge.git
cd abridge
zola serve
# open http://127.0.0.1:1111/ in the browser

Installation

The Quick Start shows how to run the theme directly. Next we will use abridge as a theme to a NEW site.

1: Create a new zola site

yes "" | zola init mysite
cd mysite

2: Install Abridge

Add the theme as a git submodule:

git init  # if your project is a git repository already, ignore this command
git submodule add https://github.com/jieiku/abridge.git themes/abridge
git submodule update --init --recursive
git submodule update --remote --merge

Or clone the theme into your themes directory:

git clone https://github.com/jieiku/abridge.git themes/abridge

3: Configuration

Copy some files from the theme directory to your project's root directory:

rsync themes/abridge/.gitignore .gitignore
rsync themes/abridge/config.toml config.toml
rsync themes/abridge/content/_index.md content/
rsync -r themes/abridge/COPY-TO-ROOT-SASS/* sass/
rsync themes/abridge/netlify.toml netlify.toml
rsync themes/abridge/package_abridge.js package_abridge.js
rsync themes/abridge/package.json package.json
  • config.toml base configuration with all config values.
  • content/_index.md required to set pagination.
  • COPY-TO-ROOT-SASS/abridge.scss overrides to customize Abridge variables.
  • netlify.toml settings to deploy your repo with netlfiy.
  • package_abridge.js node script to: update cache files list in PWA, minify js, bundle js
  • package.json to facilitate use of package_abridge.js

Uncomment the theme line in your project's root config.toml:

sed -i 's/^#theme = "abridge"/theme = "abridge"/' config.toml

4: Add new content

Copy the content from the theme directory to your project or make a new post:

rsync -r themes/abridge/content .

5: Run the project

Just run zola serve in the root path of the project:

zola serve

Zola will start the dev web server, accessible by default at http://127.0.0.1:1111.

Saved changes will live reload in the browser. (press ctrl+f5, or while developing set pwa=false in config.toml)

Customization

For further customization be sure to check the docs.

Sponsor

Do you love this theme? Was it useful to you? Please leave a github star, and if you feel inclined to donate you can make a donation to me through github sponsors.

Contributing and Philosophy

We'd love your help! Especially with fixes to issues, or improvements to existing features.

The goal is for Abridge to be lightweight, fast, and to work properly even if javascript is disabled or blocked.

The only feature that may be considered a necessity that relies on javascript is the Search.

License

Abridge is distributed under the terms of the MIT license.