hugo new site mysite cd mysite
git submodule add [email protected]:MeiK2333/github-style.git themes/github-style
If you just installed the theme, it is already in the latest version. If not, you can update using the below commands
cd themes/github-style git pull
Then, you need to rename the previous
postsfolder to
post
cd mv content/posts content/post
hugo new readme.md echo '`Hello World!`' > content/readme.md
--- pin: true ---
Hugo will create a post with
draft: true, change it to false in order for it to show in the website.
hugo new post/title_of_the_post.md
--- title: "title" date: 2019-10-22T18:46:47+08:00 draft: false summary: "The summary content" ---
Use
to seperate content that will display in the posts page as abstraction and the rest of the content. This is different from summary, as summary will not appear in the post.title: "title" date: 2019-10-22T18:46:47+08:00
abstraction show in the post page <!--more--> other content ```
add to
config.toml
lastmod = true[frontmatter] lastmod = ["lastmod", ":fileModTime", ":default"]
In you post add
math: trueto front matter
--- katex: math ---
Then the katex script will auto render the string enclosed be delimiters.
# replace ... with latex formula display inline \\( ... \\) display block $$ ... $$
baseURL = "https://meik2333.com/" languageCode = "zh-cn" title = "MeiK's blog" theme = "github-style" googleAnalytics = "UA-123456-789" pygmentsCodeFences = true pygmentsUseClasses = true[params] author = "MeiK" description = "In solitude, where we are least alone." github = "MeiK2333" facebook = "MeiK2333" twitter = "MeiK2333" linkedin = "MeiK2333" instagram = "MeiK2333" tumblr = "MeiK2333" email = "[email protected]" url = "https://meik2333.com" keywords = "blog, google analytics" rss = true lastmod = true favicon = "/images/github.png" location = "China"
[[params.links]] title = "Link" href = "https://github.com/meik2333" [[params.links]] title = "Link2" href = "https://meik2333.com" icon = "https://meik2333.com/images/avatar.png"
[frontmatter] lastmod = ["lastmod", ":fileModTime", ":default"]
There are various way to deploy to github, here is a link to official document.
Here is an sample. Note line 22 have
env HUGO_ENV="production", makes sure googleAnalysis is loaded during production, but is not loaded when we are testing it in localhost.
#!/bin/shif [ "
git status -s
" ] then echo "The working directory is dirty. Please commit any pending changes." exit 1; fiecho "Deleting old publication" rm -rf public mkdir public git worktree prune rm -rf .git/worktrees/public/
echo "Checking out gh-pages branch into public" git worktree add -B gh-pages public origin/gh-pages
echo "Removing existing files" rm -rf public/*
echo "Generating site" env HUGO_ENV="production" hugo -t github-style
echo "Updating gh-pages branch" cd public && git add --all && git commit -m "Publishing to gh-pages (publish.sh)"
#echo "Pushing to github" #git push --all
Then you can verify the site is working and use
git push --allto push the change to github. If you don't want to check again every time, you can uncomment the
#git push --allin the script.