~huyngo/hugo-anubis-fork

Fork of hugo anubis theme that adds more color contrast, some CSS and remove unethical social media
Add theme for previous/next post
Update highlighting and table

refs

custom
browse  log 

clone

read-only
https://git.sr.ht/~huyngo/hugo-anubis-fork
read/write
git@git.sr.ht:~huyngo/hugo-anubis-fork

You can also use your local clone with git send-email.

#Anubis Theme for Hugo License: MIT Donate

Anubis is a simple minimalist theme for Hugo blog engine. This is a fork of the theme for my personal use.

Anubis Screenshot

#Features

  • Dark mode (automatic / by switcher)
  • Pagination
  • Tags/Categories support
  • Archive
  • Open Graph and Twitter Cards support
  • Mobile support
  • Social icons
  • Utteranc.es
  • RSS feeds
  • Hiding posts from the RSS feed
  • Translations (en, ru, fr, pl)
  • Custom CSS/JS
  • Multilingual mode
  • Robots.txt
  • Favorite posts
  • Pagination on post single page
  • Optional "Read more" link
  • webmentions

#Installation

You need to install an extended version of Hugo to run this theme.

Inside the folder of your Hugo site run:

$ git submodule add https://github.com/mitrichius/hugo-theme-anubis.git themes/anubis

For more information read the official setup guide of Hugo.

#Getting started

After installing the theme successfully it requires a just a few more steps to get your site running.

#Update config file

If you have toml config (which is by default), you should rename it to config.yaml or adapt this config for toml syntax.

Example of config.yaml:

languageCode: "en-us"
baseUrl: ""
title: "Anubis"
theme: "anubis"
paginate: 10
enableRobotsTXT: true

menu:
  main:
  - identifier: archive
    name: Archive
    title: Archive
    url: /posts/
    weight: 0

params:
  author: "John Doe"
  email: mail@example.org # used for microformats
  avatar: "/images/me.png" # used for microformats
  description: ""
  # Uncomment if you need this
  # images:
  #   - images/og-featured.png # relative path to "static" directory
  # customCSS:
  #   - css/my.css # relative path to "assets" directory (don't use main.css filename)
  # customJS:
  #   - js/main.js # relative path to "assets" directory
  dateFormat: "2006-01-02"
  paginationSinglePost: true
  style: light-without-switcher
  readMore: false
  disableSummary: false
  # utteranc.es support
  utterancesRepo: ""  # mandatory
  utterancesTheme: "" # optional
  utterancesIssue: "" # optional
  utterancesLabel: "" # optional
  webmentions:
    url: https://yourdomain.com/webemntions/receive
    login: hugo-theme-anubis
    pingback: true
  social:
  - id: github
    name: gohugoio
#  - id: hugo
#    url: "https://gohugo.io/"
#    icon: "hugo"

markup:
  goldmark:
    renderer:
      unsafe: true # enable raw HTML in Markdown

#Check your site

In order to see your site in action, run Hugo's built-in local server.

$ hugo server

Now enter localhost:1313 in the address bar of your browser.

#Feature Settings

#Dark Mode

Customize via style param in params section of config. Options:

  • light-without-switcher - light theme, without switcher, JS-free (by default)
  • dark-without-switcher - dark theme, without switcher, JS-free
  • auto-without-switcher - theme based on user system settings, without switcher, JS-free
  • light - light theme by default, can be switched by user to dark theme and back. Theme settings are saved for user
  • dark - dark theme by default, can be switched by user to light theme and back. Theme settings are saved for user
  • auto - theme based on user system settings by default, can be switched by user to dark/light theme. Theme settings are saved for user

#Social icons

#Predefined icons

To add icon from predefined list, add to params.social config:

  • id of social network
  • name for placeholder (usually it's your nickname or login)

Predefined list:

  • email
  • patreon
  • github
  • mastodon
  • pleroma
  • matrix
  • liberapay
  • sourcehut

Example:

  - id: github
    name: gohugoio

Config like this generate github icon with "https://github.com/gohugoio" url.

For Fediverse (Mastodon-style) instances, you would need to supply the instance's domain as URL.

- id: mastodon
  name: huy_ngo
  instance: fosstodon.org
  url: "https://fosstodon.org/@%s"
#Custom icons

To add custom icon, add to params.social config:

  • id of social network/site
  • full url to your network/site Also you need to create directory static/fa-icons and add svg icon of your network/site with name equals to id from config.

Example:

  - id: google
    url: "https://www.google.com/search?q=I'm+lucky"

Icon should be "static/fa-icons/google.svg"

If you want font awesome icons, download "Font Awesome For Desktop" and open svg directory.

#Multilingual mode

Check config/example usage in exampleSiteMultilingual directory and documentation on Hugo site.

#Robots.txt

Based on environment.
For production — allow all, for other — disallow all.

#Favorite posts

To mark posts as favorite just add favorite: true in post's front matter. It adds a "★" icon nearby post's title.

#Hiding posts from RSS

To hide a post from the RSS feed, just add disable_feed: true to its front matter.

#Pagination on post single page

Enabled by paginationSinglePost param in params section of config.

#Webmentions

To provide webmention support you can either specify your webmention.io username with login: webmentionusername or specify a link to your custom webmention endpoint with url: https://yourdomain.com/webemntions/receive. If you use webmention.io you can also enable pingback with pingback: true

#Contributing

If you find a bug or have an idea for a feature, feel free to write an issue or make a PR.

#TODO

See issues.

#License

MIT

© Dmitry Kolosov 2020

© Ngô Ngọc Đức Huy 2021