Giter Site home page Giter Site logo

reallinice / next Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ntk148v/hugo-toigian

0.0 0.0 0.0 804 KB

A minimal Hugo theme with Tailwind CSS that covers all of the essentials. All you have to do is start typing!

License: Apache License 2.0

JavaScript 10.40% CSS 47.33% HTML 42.28%

next's Introduction

Hugo Toigian

A minimal Hugo theme with Tailwind CSS

GitHub license GitHub stars Hugo


Toigian - Tối giản (vietnamese): Minimalist (english)

Disclaimer: I'm not a front-end developer, just a guy who like tweaking stuff, so my code may not be pretty/clean. I attempt to learn Tailwind CSS, and hugo-toigian is the result.

0. Showcase

These screenshots may be outdated. Take a look at demo site for newest.

Dark Light
dark dark
dark dark
dark dark

1. Features

  • Minimalist (tối giản) design. Highly inspired by mellow.dev.
  • Use the classy minimalist Rosé Pine color palette.
  • Customizable.
  • Support light/dark mode.
  • Useful shortcodes.
  • Comments support.
  • Syntax highlighting: use server-side solution (Chroma, hugo built-in), I've added Rosé Pine styles to Chroma, so everything is the same vibe.

2. Prerequisites

  • git, npm installed.
  • A minimum Hugo "extended" version of v0.93.0 and above.
snap install hugo --channel=extended
  • Hugo Pipe’s PostCSS requires the postcss-cli JavaScript package to be installed in the environment (npm install -g postcss postcss-cli) along with any PostCSS plugin(s) used (e.g., npm install -g autoprefixer). If you are using the Hugo Snap package, PostCSS and plugin(s) need to be installed locally within your Hugo site directory, e.g., npm install postcss-cli without the -g flag.

3. Installation

  • Go to root directory of your Hugo website, or create a new site with:
hugo new site hugo-example-site
cd hugo-example-site
git init
  • Add the theme.
git submodule add https://github.com/ntk148v/hugo-toigian.git themes/hugo-toigian
  • Install Nodejs modules.
cd themes/hugo-toigian
npm install
  • Finally, update theme in your configuration config.toml file in the root directory of your Hugo website.
theme = "hugo-toigian"
  • Run server to see a live preview of it.
hugo server -DF --disableFastRender
  • Build static pages
hugo --environment production --minify

3. Configuration

3.1. Site configuration

There are a few configuration options that you can add to config.toml file.

baseURL = 'http://example.org/'
languageCode = 'en-us'
title = 'Toigian'
theme = "hugo-toigian"
themesDir = "../.."
# (Optional) If you provide a Disqus shortname, comments will be enabled on
# all pages.
# disqusShortname = "my-site"

[params]
# (Optional, default true): Controls table of contents visibility on right side of pages.
# Start and end levels can be controlled with markup.tableOfContents setting.
toc = true
# (Optional, default true) Enables comments template on pages
# By default partials/docs/comments.html includes Disqus template
# See https://gohugo.io/content-management/comments/#configure-disqus
# Can be overwritten by same param in page frontmatter
comments = true

[params.author]
name = "Kien Nguyen-Tuan"
email = "[email protected]"

[markup]
  defaultMarkdownHandler = "goldmark"
  # By default, Goldmark trims unsafe outputs which might prevent some shortcodes from rendering.
  # It is recommended to set markup.goldmark.renderer.unsafe=true if you encounter problems.
  [markup.goldmark]
    [markup.goldmark.renderer]
      unsafe = true  # Enable user to embed HTML snippets in Markdown content.
  [markup.highlight]
    codeFences = true
    guessSyntax = true
    lineNos = false
    noClasses = false
    tabWidth = 4
  [markup.tableOfContents]
    startLevel = 2
    endLevel = 4
    ordered = true

# The left side navbar at the top
[menu]
  [[menu.nav]]
  name = "About"
  url = "/about"
  weight = 2

  [[menu.nav]]
  name = "Posts"
  url = "/posts"
  weight = 3

3.2. Page configuration

You can specify additional params in the front matter of individual pages.

# Your posts tags

tags = []

# If you have enabled comments for the site, you can disable it for specific pages

comment = true

4. Shortcodes

Check out shortcodes.

5. Customization

  • Partials: There are layout partials available for you to easily override components of the theme in layouts/partials/.
Empty partial Placement Usage
layouts/partials/custom/head.html Before closing <head> tag Add custom css/js
layouts/partials/custom/content-before.html Before page content
layouts/partials/custom/content-after.html After page content
layouts/partials/font.html Import custom fonts
  • Extra customization:
File Description
assets/css/custom.css Customize or override css styles
  • For example, you don't like the chosen fonts (Roboto Mono and Barlow fonts), and you want to use your own choice, follow these steps:

    • Create layouts/partials/font.html to import your fonts:
    <!-- load Inter and Overpass fonts -->
    <link rel="preconnect" href="https://fonts.googleapis.com" />
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
    <link
      href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&family=Overpass:wght@400;500&display=swap"
      rel="stylesheet"
    />
    • Create assets/css/custom.css:
    // change the default mono font to Overpass
    :root {
      --font-mono: "Overpass";
      --font-serif: "Inter";
    }

6. Contributing

As you already known, I'm not front-end developer. Therefore, if you find anything wrong or want to make improvement, don't hesitate to open an issue/pull request.

Primary goals are:

  • Keep it simple.
  • Avoid using JS if it can be solved by CSS>

Feel free to open issues if you find missing configuration or customization options.

7. Credits

next's People

Contributors

ntk148v avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.