congo/README.md

151 lines
6.0 KiB
Markdown
Raw Normal View History

2021-08-11 10:22:25 +00:00
# Congo
2021-08-11 05:28:33 +00:00
2021-08-19 01:49:20 +00:00
Congo is designed to be a simple, lightweight theme for [Hugo](https://gohugo.io). It's built using Tailwind CSS with a clean and minimalist design that prioritises to your content.
2021-08-11 05:28:33 +00:00
🌏 [Demo site](https://jpanther.github.io/congo/)
2021-08-19 01:49:20 +00:00
📑 [Theme documentation](https://jpanther.github.io/congo/docs/)
🐛 [Bug reports & issues](https://github.com/jpanther/congo/issues)
💡 [Questions & feature requests](https://github.com/jpanther/congo/discussions)
2021-08-14 00:50:40 +00:00
![Screenshot](https://raw.githubusercontent.com/jpanther/congo/stable/images/screenshot.png)
2021-08-12 07:33:04 +00:00
2021-08-11 05:28:33 +00:00
## Features
2021-08-14 00:50:40 +00:00
- Built with Tailwind CSS JIT for minified stylesheets without any excess code
- Fully responsive layout
2021-08-14 00:50:40 +00:00
- Dark mode (auto-switching based upon browser)
- Highly customisable configuration
2021-08-15 08:41:40 +00:00
- Multiple homepage layouts
2021-08-12 07:33:04 +00:00
- Flexible with any content types, taxonomies and menus
2021-08-16 07:19:10 +00:00
- Ability to link to posts on third-party websites
2021-08-14 00:50:40 +00:00
- Diagrams and visualisations using Mermaid JS
- SVG icons from FontAwesome 5
2021-08-16 07:19:10 +00:00
- Heading anchors, Buttons, Badges and more
2021-08-14 00:50:40 +00:00
- HTML and Emoji support in articles
2021-08-16 07:19:10 +00:00
- SEO friendly with links for sharing to social media
2021-08-14 03:54:17 +00:00
- RSS feeds
2021-08-14 00:50:40 +00:00
- Fathom Analytics and Google Analytics support
- Favicons support
- Comments support
- Advanced customisation using simple Tailwind colour definitions and styles
- [Fully documented](https://jpanther.github.io/congo/docs/)
2021-08-14 00:50:40 +00:00
---
2021-08-11 05:28:33 +00:00
## Installation
This is a simplified set of instructions and assumes a basic understanding of building Hugo sites and installing themes. For detailed instructions, refer to the full [theme documentation](https://jpanther.github.io/congo/docs/).
2021-08-11 05:28:33 +00:00
There are a couple of ways to install the Congo theme into your Hugo website. The git method is the easiest to keep the theme up-to-date, but you can also download and install manually if you don't have git available.
2021-08-16 07:19:10 +00:00
### Install using git
2021-08-11 05:28:33 +00:00
Change into the directory for your Hugo website, initialise a new repository and add Congo as a submodule.
```bash
cd mywebsite
git init
git submodule add -b stable https://github.com/jpanther/congo.git themes/congo
2021-08-11 05:28:33 +00:00
```
2021-08-16 07:19:10 +00:00
### Install manually
2021-08-11 05:28:33 +00:00
Download the latest release of the theme from: [https://github.com/jpanther/congo/releases](https://github.com/jpanther/congo/releases)
2021-08-11 05:28:33 +00:00
2021-08-16 07:19:10 +00:00
Extract the archive, rename the folder to `congo` and move it to the `themes/` directory inside your Hugo project.
2021-08-11 05:28:33 +00:00
2021-08-16 07:19:10 +00:00
### Set up your configuration files
2021-08-11 05:28:33 +00:00
2021-08-16 07:19:10 +00:00
In the root folder of your website, delete the `config.toml` file that was generated by Hugo. Copy the entire `config` folder from `themes/congo/config/` into the root of your website. This will ensure you have all the correct theme settings and will enable you to easily customise the theme.
2021-08-11 05:28:33 +00:00
You're now all set up to use Congo. From here you can add some content and start the Hugo server.
## Configuration
For all the theme options and detailed configuration instructions, refer to the [Congo docs](https://jpanther.github.io/congo/docs/).
2021-08-11 05:28:33 +00:00
A few things you need to set for a new installation:
```toml
2021-08-12 08:33:42 +00:00
# config/_default/config.toml
2021-08-11 05:28:33 +00:00
baseURL = "https://your_domain.com"
languageCode = "en-AU"
title = "My awesome website"
[author]
name = "Your name"
links = [
{ twitter = "https://twitter.com/jpanther" }
]
2021-08-11 05:28:33 +00:00
```
2021-08-14 00:50:40 +00:00
## Advanced customisation
There are a couple of ways you can make style changes to Congo.
If you just need to add or override some simple styles, you can do so by creating a `custom.css` file in your project's `static/css/` folder. This file will be loaded automatically after the theme's default styles.
Alternatively, if you'd like to make a major change, you can take advantage of Tailwind CSS's JIT compiler and rebuild the entire theme CSS from scratch.
> **Note:** Building the theme manually is intended for advanced users.
Change into the `themes/congo/` folder and install the project dependencies.
```bash
npm install
```
Once installed, you can edit the `themes/congo/tailwind.config.js` to change the styles that are applied throughout the theme. You can also adjust specific styles in `themes/congo/assets/css/main.css`.
To allow for easy theme colour changes, Congo defines a `primary` and `secondary` colour palette that is used throughout the theme. In order to change the colour across the entire theme, simply edit the `tailwind.config.js` file accordingly.
For example, to change to a green colour scheme, you could apply these changes:
```js
// themes/congo/tailwind.config.js
theme: {
colors: {
transparent: "transparent",
white: colors.white,
gray: colors.gray,
primary: colors.lime,
secondary: colors.teal,
},
...
}
```
For a full list of colours available, and their corresponding configuration values, see the official [Tailwind docs](https://tailwindcss.com/docs/customizing-colors#color-palette-reference).
After editing the configuration, you need to rebuild the theme's stylesheets.
```bash
npm run build
```
This will automatically output a minified CSS file to `/themes/congo/static/css/main.css`.
To aid with testing style changes, you can also run the Tailwind JIT comiler in watch mode.
```bash
npm run dev
```
Now whenever you make a change, the (non-minified) CSS files will be rebuilt automatically. This mode is useful to run when using `hugo server` to preview your site during development. Remember to perform a full build before publishing your website.
2021-08-16 07:19:10 +00:00
---
2021-08-11 05:28:33 +00:00
## Contributing
Congo is still very much a work in progress. I intend to keep adding features and making changes as required.
2021-08-19 01:49:20 +00:00
Feel free to get in touch with any issues or suggestions for new features you'd like to see.
2021-08-11 05:28:33 +00:00
2021-08-19 01:49:20 +00:00
- 🐛 **Bug reports & issues:** Use [GitHub Issues](https://github.com/jpanther/congo/issues)
- 💡 **Ideas for new features:** Open a discussion on [GitHub Discussions](https://github.com/jpanther/congo/discussions)
- 🙋‍♀️ **General questions:** Head to [GitHub Discussions](https://github.com/jpanther/congo/discussions)
2021-08-11 05:28:33 +00:00
2021-08-19 01:49:20 +00:00
If you're able to fix a bug or implement a new feature, I welcome PRs for this purpose. Learn more in the [contributing guidelines](https://github.com/jpanther/congo/CONTRIBUTING.md).