diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile new file mode 100644 index 0000000..3ce7003 --- /dev/null +++ b/.devcontainer/Dockerfile @@ -0,0 +1,38 @@ +# Update the NODE_VERSION arg in docker-compose.yml to pick a Node version: 18, 16, 14 +ARG NODE_VERSION=16 +FROM mcr.microsoft.com/devcontainers/javascript-node:${NODE_VERSION} + +# VARIANT can be either 'hugo' for the standard version or 'hugo_extended' for the extended version. +ARG VARIANT=hugo +# VERSION can be either 'latest' or a specific version number +ARG VERSION=latest + +# Download Hugo +RUN apt-get update && apt-get install -y ca-certificates openssl git curl && \ + rm -rf /var/lib/apt/lists/* && \ + case ${VERSION} in \ + latest) \ + export VERSION=$(curl -s https://api.github.com/repos/gohugoio/hugo/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4)}') ;;\ + esac && \ + echo ${VERSION} && \ + case $(uname -m) in \ + aarch64) \ + export ARCH=ARM64 ;; \ + *) \ + export ARCH=64bit ;; \ + esac && \ + echo ${ARCH} && \ + wget -O ${VERSION}.tar.gz https://github.com/gohugoio/hugo/releases/download/v${VERSION}/${VARIANT}_${VERSION}_Linux-${ARCH}.tar.gz && \ + tar xf ${VERSION}.tar.gz && \ + mv hugo /usr/bin/hugo + +# Hugo dev server port +EXPOSE 1313 + +# [Optional] Uncomment this section to install additional OS packages you may want. +# +# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ +# && apt-get -y install --no-install-recommends + +# [Optional] Uncomment if you want to install more global node packages +# RUN sudo -u node npm install -g diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000..49ba3aa --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,51 @@ +{ + "name": "Hugo (Community)", + "build": { + "dockerfile": "Dockerfile", + "args": { + // Update VARIANT to pick hugo variant. + // Example variants: hugo, hugo_extended + // Rebuild the container if it already exists to update. + "VARIANT": "hugo_extended", + // Update VERSION to pick a specific hugo version. + // Example versions: latest, 0.73.0, 0,71.1 + // Rebuild the container if it already exists to update. + "VERSION": "latest", + // Update NODE_VERSION to pick the Node.js version: 12, 14 + "NODE_VERSION": "14" + } + }, + + // Configure tool-specific properties. + "customizations": { + // Configure properties specific to VS Code. + "vscode": { + // Set *default* container specific settings.json values on container create. + "settings": { + "html.format.templating": true + }, + + // Add the IDs of extensions you want installed when the container is created. + "extensions": [ + "tamasfe.even-better-toml", + "davidanson.vscode-markdownlint" + ] + } + }, + + // Use 'forwardPorts' to make a list of ports inside the container available locally. + "forwardPorts": [ + 1313 + ], + + // Use 'postCreateCommand' to run commands after the container is created. + // "postCreateCommand": "uname -a", + + // Set `remoteUser` to `root` to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root. + "remoteUser": "node", + "features": { + "ghcr.io/devcontainers/features/go:1": { + "version": "latest" + } + } +} diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..31e1365 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,51 @@ +name: Deploy to Github Pages + +on: + push: + branches: [master] + pull_request: + branches: [master] + +jobs: + build: + runs-on: ubuntu-latest + + permissions: + # Give the default GITHUB_TOKEN write permission to commit and push the + # added or changed files to the repository. + contents: write + + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Cache Hugo resources + uses: actions/cache@v4 + env: + cache-name: cache-hugo-resources + with: + path: resources + key: ${{ env.cache-name }} + + - uses: actions/setup-go@v5 + with: + go-version: "^1.17.0" + - run: go version + + - name: Setup Hugo + uses: peaceiris/actions-hugo@v2 + with: + hugo-version: "latest" + extended: true + + - name: Build + run: hugo --minify --gc + + - name: Deploy 🚀 + uses: JamesIves/github-pages-deploy-action@v4 + with: + branch: gh-pages + folder: public + clean: true + single-commit: true diff --git a/.github/workflows/update-theme.yml b/.github/workflows/update-theme.yml new file mode 100644 index 0000000..9053e0c --- /dev/null +++ b/.github/workflows/update-theme.yml @@ -0,0 +1,38 @@ +name: Update theme + +# Controls when the workflow will run +on: + schedule: + # Update theme automatically everyday at 00:00 UTC + - cron: "0 0 * * *" + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +jobs: + update-theme: + runs-on: ubuntu-latest + + permissions: + # Give the default GITHUB_TOKEN write permission to commit and push the + # added or changed files to the repository. + contents: write + + steps: + - uses: actions/checkout@v4 + + - name: Setup Hugo + uses: peaceiris/actions-hugo@v2 + with: + hugo-version: 0.123.8 + extended: true + + - name: Update theme + run: hugo mod get -u github.com/CaiJimmy/hugo-theme-stack/v3 + + - name: Tidy go.mod, go.sum + run: hugo mod tidy + + - name: Commit changes + uses: stefanzweifel/git-auto-commit-action@v5 + with: + commit_message: "CI: Update theme" diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c8ff03a --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +public +resources +.hugo_build.lock diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 0000000..5f702e8 --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,28 @@ +{ + // See https://go.microsoft.com/fwlink/?LinkId=733558 + // for the documentation about the tasks.json format + "version": "2.0.0", + "tasks": [ + { + "label": "Serve Drafts", + "type": "shell", + "command": "hugo server -D", + "group": { + "kind": "test", + "isDefault": true + }, + "isBackground": true, + "problemMatcher": [] + }, + { + "label": "Build", + "type": "shell", + "command": "hugo", + "group": { + "kind": "build", + "isDefault": true + }, + "problemMatcher": [] + } + ] +} \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..4b5f721 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 Jimmy Cai + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..fbfbbca --- /dev/null +++ b/README.md @@ -0,0 +1,69 @@ +logo + +# Hugo Theme Stack Starter Template + +This is a quick start template for [Hugo theme Stack](https://github.com/CaiJimmy/hugo-theme-stack). It uses [Hugo modules](https://gohugo.io/hugo-modules/) feature to load the theme. + +It comes with a basic theme structure and configuration. GitHub action has been set up to deploy the theme to a public GitHub page automatically. Also, there's a cron job to update the theme automatically everyday. + +## Get started + +1. Click *Use this template*, and create your repository as `.github.io` on GitHub. +![Step 1](https://user-images.githubusercontent.com/5889006/156916624-20b2a784-f3a9-4718-aa5f-ce2a436b241f.png) + +2. Once the repository is created, create a GitHub codespace associated with it. +![Create codespace](https://user-images.githubusercontent.com/5889006/156916672-43b7b6e9-4ffb-4704-b4ba-d5ca40ffcae7.png) + +3. And voila! You're ready to go. The codespace has been configured with the latest version of Hugo extended, just run `hugo server` in the terminal and see your new site in action. + +4. Check `config` folder for the configuration files. You can edit them to suit your needs. Make sure to update the `baseurl` property in `config/_default/config.toml` to your site's URL. + +5. Open Settings -> Pages. Change the build branch from `master` to `gh-pages`. +![Build](https://github.com/namanh11611/hugo-theme-stack-starter/assets/16586200/12c763cd-bead-4923-b610-8788f388fcb5) + +6. Once you're done editing the site, just commit it and push it. GitHub action will deploy the site automatically to GitHub page asociated with the repository. +![GitHub action](https://user-images.githubusercontent.com/5889006/156916881-90b8bb9b-1925-4e60-9d7a-8026cda729bf.png) + +--- + +In case you don't want to use GitHub codespace, you can also run this template in your local machine. **You need to install Git, Go and Hugo extended locally.** + +## Update theme manually + +Run: + +```bash +hugo mod get -u github.com/CaiJimmy/hugo-theme-stack/v3 +hugo mod tidy +``` + +> This starter template has been configured with `v3` version of theme. Due to the limitation of Go module, once the `v4` or up version of theme is released, you need to update the theme manually. (Modifying `config/module.toml` file) + +## Deploy to another static page hostings + +If you want to build this site using another static page hosting, you need to make sure they have Go installed in the machine. + +
+ Vercel + +You need to overwrite build command to install manually Go: + +``` +amazon-linux-extras install golang1.11 && hugo --gc --minify +``` + +![](https://user-images.githubusercontent.com/5889006/156917172-01e4d418-3469-4ffb-97e4-a905d28b8424.png) + +If you are using Node.js 20, you need to overwrite the install command to install manually Go: + +``` +dnf install -y golang +``` + +![image](https://github.com/zhi-yi-huang/hugo-theme-stack-starter/assets/83860323/777c1109-dfc8-4893-9db7-1305ec027cf5) + + +Make sure also to specify Hugo version in the environment variable `HUGO_VERSION` (Use the latest version of Hugo extended): + +![Environment variable](https://user-images.githubusercontent.com/5889006/156917212-afb7c70d-ab85-480f-8288-b15781a462c0.png) +
diff --git a/assets/img/avatar.png b/assets/img/avatar.png new file mode 100644 index 0000000..bab4bde Binary files /dev/null and b/assets/img/avatar.png differ diff --git a/assets/scss/custom.scss b/assets/scss/custom.scss new file mode 100644 index 0000000..942c2bb --- /dev/null +++ b/assets/scss/custom.scss @@ -0,0 +1,3 @@ +/* + You can add your own custom styles here. +*/ \ No newline at end of file diff --git a/config/_default/_languages.toml b/config/_default/_languages.toml new file mode 100644 index 0000000..901aea9 --- /dev/null +++ b/config/_default/_languages.toml @@ -0,0 +1,6 @@ +# Rename this file to languages.toml to enable multilingual support +[en] +languageName = "English" +languagedirection = "ltr" +title = "Example Site" +weight = 1 diff --git a/config/_default/config.toml b/config/_default/config.toml new file mode 100644 index 0000000..88ae633 --- /dev/null +++ b/config/_default/config.toml @@ -0,0 +1,18 @@ +# Change baseurl before deploy +baseurl = "https://demo.stack.jimmycai.com" +languageCode = "en-us" +title = "Hugo Theme Stack Starter" + +# Theme i18n support +# Available values: en, fr, id, ja, ko, pt-br, zh-cn, zh-tw, es, de, nl, it, th, el, uk, ar +defaultContentLanguage = "en" + +# Set hasCJKLanguage to true if DefaultContentLanguage is in [zh-cn ja ko] +# This will make .Summary and .WordCount behave correctly for CJK languages. +hasCJKLanguage = false + +# Change it to your Disqus shortname before using +disqusShortname = "hugo-theme-stack" + +[pagination] +pagerSize = 5 \ No newline at end of file diff --git a/config/_default/markup.toml b/config/_default/markup.toml new file mode 100644 index 0000000..98928e0 --- /dev/null +++ b/config/_default/markup.toml @@ -0,0 +1,26 @@ +# Markdown renderer configuration +[goldmark.renderer] +unsafe = true + +[goldmark.extensions.passthrough] +enable = true + +# LaTeX math support +# https://gohugo.io/content-management/mathematics/ +[goldmark.extensions.passthrough.delimiters] +block = [['\[', '\]'], ['$$', '$$']] +inline = [['\(', '\)']] + +[tableOfContents] +endLevel = 4 +ordered = true +startLevel = 2 + +[highlight] +noClasses = false +codeFences = true +guessSyntax = true +lineNoStart = 1 +lineNos = true +lineNumbersInTable = true +tabWidth = 4 \ No newline at end of file diff --git a/config/_default/menu.toml b/config/_default/menu.toml new file mode 100644 index 0000000..20bdb9e --- /dev/null +++ b/config/_default/menu.toml @@ -0,0 +1,24 @@ +# Configure main menu and social menu +#[[main]] +#identifier = "home" +#name = "Home" +#url = "/" +#[main.params] +#icon = "home" +#newtab = true + +[[social]] +identifier = "github" +name = "GitHub" +url = "https://github.com/CaiJimmy/hugo-theme-stack" + +[social.params] +icon = "brand-github" + +[[social]] +identifier = "twitter" +name = "Twitter" +url = "https://twitter.com" + +[social.params] +icon = "brand-twitter" diff --git a/config/_default/module.toml b/config/_default/module.toml new file mode 100644 index 0000000..f13256c --- /dev/null +++ b/config/_default/module.toml @@ -0,0 +1,2 @@ +[[imports]] +path = "github.com/CaiJimmy/hugo-theme-stack/v3" diff --git a/config/_default/params.toml b/config/_default/params.toml new file mode 100644 index 0000000..0d99361 --- /dev/null +++ b/config/_default/params.toml @@ -0,0 +1,150 @@ +# Pages placed under these sections will be shown on homepage and archive page. +mainSections = ["post"] +# Output page's full content in RSS. +rssFullContent = true +favicon = "/favicon.png" + +[footer] +since = 2020 +customText = "" + +[dateFormat] +published = "Jan 02, 2006" +lastUpdated = "Jan 02, 2006 15:04 MST" + +[sidebar] +emoji = "🍥" +subtitle = "Lorem ipsum dolor sit amet, consectetur adipiscing elit." + +[sidebar.avatar] +enabled = true +local = true +src = "img/avatar.png" + +[article] +headingAnchor = false +math = false +readingTime = true + +[article.license] +enabled = true +default = "Licensed under CC BY-NC-SA 4.0" + +## Widgets +[[widgets.homepage]] +type = "search" + +[[widgets.homepage]] +type = "archives" + +[widgets.homepage.params] +limit = 5 + +[[widgets.homepage]] +type = "categories" + +[widgets.homepage.params] +limit = 10 + +[[widgets.homepage]] +type = "tag-cloud" + +[widgets.homepage.params] +limit = 10 + +[[widgets.page]] +type = "toc" + +[opengraph.twitter] +site = "" +card = "summary_large_image" + +[defaultImage.opengraph] +enabled = false +local = false +src = "" + +[colorScheme] +toggle = true +default = "auto" + +[imageProcessing.cover] +enabled = true + +[imageProcessing.content] +enabled = true + +## Comments +[comments] +enabled = true +provider = "disqus" + +[comments.disqusjs] +shortname = "" +apiUrl = "" +apiKey = "" +admin = "" +adminLabel = "" + +[comments.utterances] +repo = "" +issueTerm = "pathname" +label = "" + +[comments.remark42] +host = "" +site = "" +locale = "" + +[comments.vssue] +platform = "" +owner = "" +repo = "" +clientId = "" +clientSecret = "" +autoCreateIssue = false + +[comments.waline] +serverURL = "" +lang = "" +visitor = "" +avatar = "" +emoji = ["https://cdn.jsdelivr.net/gh/walinejs/emojis/weibo"] +requiredMeta = ["name", "email", "url"] +placeholder = "" + +[comments.waline.locale] +admin = "Admin" + +[comments.twikoo] +envId = "" +region = "" +path = "" +lang = "" + +[comments.cactus] +defaultHomeserverUrl = "https://matrix.cactus.chat:8448" +serverName = "cactus.chat" +siteName = "" + +[comments.giscus] +repo = "" +repoID = "" +category = "" +categoryID = "" +mapping = "" +lightTheme = "" +darkTheme = "" +reactionsEnabled = 1 +emitMetadata = 0 + +[comments.gitalk] +owner = "" +admin = "" +repo = "" +clientID = "" +clientSecret = "" + +[comments.cusdis] +host = "" +id = "" diff --git a/config/_default/permalinks.toml b/config/_default/permalinks.toml new file mode 100644 index 0000000..2499a7e --- /dev/null +++ b/config/_default/permalinks.toml @@ -0,0 +1,3 @@ +# Permalinks format of each content section +post = "/p/:slug/" +page = "/:slug/" \ No newline at end of file diff --git a/config/_default/related.toml b/config/_default/related.toml new file mode 100644 index 0000000..ae9f69a --- /dev/null +++ b/config/_default/related.toml @@ -0,0 +1,12 @@ +# Related contents configuration +includeNewer = true +threshold = 60 +toLower = false + +[[indices]] +name = "tags" +weight = 100 + +[[indices]] +name = "categories" +weight = 200 diff --git a/content/_index.md b/content/_index.md new file mode 100644 index 0000000..636abae --- /dev/null +++ b/content/_index.md @@ -0,0 +1,8 @@ +--- +menu: + main: + name: Home + weight: 1 + params: + icon: home +--- \ No newline at end of file diff --git a/content/categories/example-category/_index.md b/content/categories/example-category/_index.md new file mode 100644 index 0000000..678b089 --- /dev/null +++ b/content/categories/example-category/_index.md @@ -0,0 +1,10 @@ +--- +title: Example Category +description: A description of this category +image: + +# Badge style +style: + background: "#2a9d8f" + color: "#fff" +--- \ No newline at end of file diff --git a/content/page/archives/index.md b/content/page/archives/index.md new file mode 100644 index 0000000..2b1bf20 --- /dev/null +++ b/content/page/archives/index.md @@ -0,0 +1,11 @@ +--- +title: "Archives" +date: 2022-03-06 +layout: "archives" +slug: "archives" +menu: + main: + weight: 2 + params: + icon: archives +--- \ No newline at end of file diff --git a/content/page/links/index.md b/content/page/links/index.md new file mode 100644 index 0000000..ef8bb3e --- /dev/null +++ b/content/page/links/index.md @@ -0,0 +1,33 @@ +--- +title: Links +links: + - title: GitHub + description: GitHub is the world's largest software development platform. + website: https://github.com + image: https://github.githubassets.com/images/modules/logos_page/GitHub-Mark.png +menu: + main: + weight: 4 + params: + icon: link + +comments: false +--- + +To use this feature, add `links` section to frontmatter. + +This page's frontmatter: + +```yaml +links: + - title: GitHub + description: GitHub is the world's largest software development platform. + website: https://github.com + image: https://github.githubassets.com/images/modules/logos_page/GitHub-Mark.png + - title: TypeScript + description: TypeScript is a typed superset of JavaScript that compiles to plain JavaScript. + website: https://www.typescriptlang.org + image: ts-logo-128.jpg +``` + +`image` field accepts both local and external images. \ No newline at end of file diff --git a/content/page/search/index.md b/content/page/search/index.md new file mode 100644 index 0000000..7507b68 --- /dev/null +++ b/content/page/search/index.md @@ -0,0 +1,13 @@ +--- +title: "Search" +slug: "search" +layout: "search" +outputs: + - html + - json +menu: + main: + weight: 3 + params: + icon: search +--- \ No newline at end of file diff --git a/content/post/hello-world/cover.jpg b/content/post/hello-world/cover.jpg new file mode 100644 index 0000000..1634e85 Binary files /dev/null and b/content/post/hello-world/cover.jpg differ diff --git a/content/post/hello-world/index.md b/content/post/hello-world/index.md new file mode 100644 index 0000000..381ffff --- /dev/null +++ b/content/post/hello-world/index.md @@ -0,0 +1,20 @@ +--- +title: Hello World +description: Welcome to Hugo Theme Stack +slug: hello-world +date: 2022-03-06 00:00:00+0000 +image: cover.jpg +categories: + - Example Category +tags: + - Example Tag +weight: 1 # You can add weight to some posts to override the default sorting (date descending) +--- + +Welcome to Hugo theme Stack. This is your first post. Edit or delete it, then start writing! + +For more information about this theme, check the documentation: https://stack.jimmycai.com/ + +Want a site like this? Check out [hugo-theme-stack-stater](https://github.com/CaiJimmy/hugo-theme-stack-starter) + +> Photo by [Pawel Czerwinski](https://unsplash.com/@pawel_czerwinski) on [Unsplash](https://unsplash.com/) \ No newline at end of file diff --git a/content/post/image-gallery/1.jpg b/content/post/image-gallery/1.jpg new file mode 100644 index 0000000..3f1f905 Binary files /dev/null and b/content/post/image-gallery/1.jpg differ diff --git a/content/post/image-gallery/2.jpg b/content/post/image-gallery/2.jpg new file mode 100644 index 0000000..d19214e Binary files /dev/null and b/content/post/image-gallery/2.jpg differ diff --git a/content/post/image-gallery/index.md b/content/post/image-gallery/index.md new file mode 100644 index 0000000..94bc377 --- /dev/null +++ b/content/post/image-gallery/index.md @@ -0,0 +1,22 @@ +--- +title: Image gallery +description: Create beautiful interactive image gallery using Markdown +date: 2023-08-26 00:00:00+0000 +image: 2.jpg +--- + +Hugo theme Stack supports the creation of interactive image galleries using Markdown. It's powered by [PhotoSwipe](https://photoswipe.com/) and its syntax was inspired by [Typlog](https://typlog.com/). + +To use this feature, the image must be in the same directory as the Markdown file, as it uses Hugo's page bundle feature to read the dimensions of the image. **External images are not supported.** + +## Syntax + +```markdown +![Image 1](1.jpg) ![Image 2](2.jpg) +``` + +## Result + +![Image 1](1.jpg) ![Image 2](2.jpg) + +> Photo by [mymind](https://unsplash.com/@mymind) and [Luke Chesser](https://unsplash.com/@lukechesser) on [Unsplash](https://unsplash.com/) \ No newline at end of file diff --git a/content/post/markdown-syntax/index.md b/content/post/markdown-syntax/index.md new file mode 100644 index 0000000..e004892 --- /dev/null +++ b/content/post/markdown-syntax/index.md @@ -0,0 +1,150 @@ +--- +title: Markdown Syntax Guide +date: 2023-09-07 +description: Sample article showcasing basic Markdown syntax and formatting for HTML elements. +tags: + - markdown + - css + - html + - themes +categories: + - themes + - syntax +--- + +This article offers a sample of basic Markdown syntax that can be used in Hugo content files, also it shows whether basic HTML elements are decorated with CSS in a Hugo theme. + + + +## Headings + +The following HTML `

`—`

` elements represent six levels of section headings. `

` is the highest section level while `

` is the lowest. + +# H1 +## H2 +### H3 +#### H4 +##### H5 +###### H6 + +## Paragraph + +Xerum, quo qui aut unt expliquam qui dolut labo. Aque venitatiusda cum, voluptionse latur sitiae dolessi aut parist aut dollo enim qui voluptate ma dolestendit peritin re plis aut quas inctum laceat est volestemque commosa as cus endigna tectur, offic to cor sequas etum rerum idem sintibus eiur? Quianimin porecus evelectur, cum que nis nust voloribus ratem aut omnimi, sitatur? Quiatem. Nam, omnis sum am facea corem alique molestrunt et eos evelece arcillit ut aut eos eos nus, sin conecerem erum fuga. Ri oditatquam, ad quibus unda veliamenimin cusam et facea ipsamus es exerum sitate dolores editium rerore eost, temped molorro ratiae volorro te reribus dolorer sperchicium faceata tiustia prat. + +Itatur? Quiatae cullecum rem ent aut odis in re eossequodi nonsequ idebis ne sapicia is sinveli squiatum, core et que aut hariosam ex eat. + +## Blockquotes + +The blockquote element represents content that is quoted from another source, optionally with a citation which must be within a `footer` or `cite` element, and optionally with in-line changes such as annotations and abbreviations. + +### Blockquote without attribution + +> Tiam, ad mint andaepu dandae nostion secatur sequo quae. +> **Note** that you can use *Markdown syntax* within a blockquote. + +### Blockquote with attribution + +> Don't communicate by sharing memory, share memory by communicating.
+> — Rob Pike[^1] + +[^1]: The above quote is excerpted from Rob Pike's [talk](https://www.youtube.com/watch?v=PAAkCSZUG1c) during Gopherfest, November 18, 2015. + +## Tables + +Tables aren't part of the core Markdown spec, but Hugo supports supports them out-of-the-box. + + Name | Age +--------|------ + Bob | 27 + Alice | 23 + +### Inline Markdown within tables + +| Italics | Bold | Code | +| -------- | -------- | ------ | +| *italics* | **bold** | `code` | + +| A | B | C | D | E | F | +|----------------------------------------------------------|---------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------|------------------------------------------------------------|----------------------------------------------------------------------| +| Lorem ipsum dolor sit amet, consectetur adipiscing elit. | Phasellus ultricies, sapien non euismod aliquam, dui ligula tincidunt odio, at accumsan nulla sapien eget ex. | Proin eleifend dictum ipsum, non euismod ipsum pulvinar et. Vivamus sollicitudin, quam in pulvinar aliquam, metus elit pretium purus | Proin sit amet velit nec enim imperdiet vehicula. | Ut bibendum vestibulum quam, eu egestas turpis gravida nec | Sed scelerisque nec turpis vel viverra. Vivamus vitae pretium sapien | + +## Code Blocks +### Code block with backticks + +```html + + + + + Example HTML5 Document + + +

Test

+ + +``` + +### Code block indented with four spaces + + + + + + Example HTML5 Document + + +

Test

+ + + +### Diff code block + +```diff +[dependencies.bevy] +git = "https://github.com/bevyengine/bevy" +rev = "11f52b8c72fc3a568e8bb4a4cd1f3eb025ac2e13" +- features = ["dynamic"] ++ features = ["jpeg", "dynamic"] +``` + +### One line code block + +```html +

A paragraph

+``` + +## List Types + +### Ordered List + +1. First item +2. Second item +3. Third item + +### Unordered List + +* List item +* Another item +* And another item + +### Nested list + +* Fruit + * Apple + * Orange + * Banana +* Dairy + * Milk + * Cheese + +## Other Elements — abbr, sub, sup, kbd, mark + +GIF is a bitmap image format. + +H2O + +Xn + Yn = Zn + +Press CTRL + ALT + Delete to end the session. + +Most salamanders are nocturnal, and hunt for insects, worms, and other small creatures. \ No newline at end of file diff --git a/content/post/math-typesetting/index.md b/content/post/math-typesetting/index.md new file mode 100644 index 0000000..d206914 --- /dev/null +++ b/content/post/math-typesetting/index.md @@ -0,0 +1,40 @@ +--- +title: Math Typesetting +description: Math typesetting using KaTeX +date: 2023-08-24 00:00:00+0000 +math: true +--- + +Stack has built-in support for math typesetting using [KaTeX](https://katex.org/). + +**It's not enabled by default side-wide,** but you can enable it for individual posts by adding `math: true` to the front matter. Or you can enable it side-wide by adding `math = true` to the `params.article` section in `config.toml`. + +## Inline math + +This is an inline mathematical expression: $\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…$ + +```markdown +$\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…$ +``` + +## Block math + +$$ + \varphi = 1+\frac{1} {1+\frac{1} {1+\frac{1} {1+\cdots} } } +$$ + +```markdown +$$ + \varphi = 1+\frac{1} {1+\frac{1} {1+\frac{1} {1+\cdots} } } +$$ +``` + +$$ + f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi +$$ + +```markdown +$$ + f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi +$$ +``` \ No newline at end of file diff --git a/content/post/shortcodes/cover.jpg b/content/post/shortcodes/cover.jpg new file mode 100644 index 0000000..3bdd200 Binary files /dev/null and b/content/post/shortcodes/cover.jpg differ diff --git a/content/post/shortcodes/index.md b/content/post/shortcodes/index.md new file mode 100644 index 0000000..72d8166 --- /dev/null +++ b/content/post/shortcodes/index.md @@ -0,0 +1,42 @@ +--- +title: Shortcodes +description: Useful shortcodes that can be used in Markdown +date: 2023-08-25 00:00:00+0000 +image: cover.jpg +--- + +For more details, check out the [documentation](https://stack.jimmycai.com/writing/shortcodes). + +## Bilibili video + +{{< bilibili "BV1d4411N7zD" >}} + +## Tencent video + +{{< tencent "g0014r3khdw" >}} + +## YouTube video + +{{< youtube "0qwALOOvUik" >}} + +## Generic video file + +{{< video "https://www.w3schools.com/tags/movie.mp4" >}} + +## Gist + +{{< gist CaiJimmy e2751a943de10b2a5b3a8a6c2120cb86 >}} + +## GitLab + +{{< gitlab 2589724 >}} + +## Quote + +{{< quote author="A famous person" source="The book they wrote" url="https://en.wikipedia.org/wiki/Book">}} +Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. +{{< /quote >}} + +----- + +> Photo by [Codioful](https://unsplash.com/@codioful) on [Unsplash](https://unsplash.com/photos/WDSN62Qdxuk) \ No newline at end of file diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..c96717d --- /dev/null +++ b/go.mod @@ -0,0 +1,5 @@ +module github.com/CaiJimmy/hugo-theme-stack-starter + +go 1.17 + +require github.com/CaiJimmy/hugo-theme-stack/v3 v3.29.0 // indirect diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..2d68b37 --- /dev/null +++ b/go.sum @@ -0,0 +1,2 @@ +github.com/CaiJimmy/hugo-theme-stack/v3 v3.29.0 h1:6Ahvbvlyi0HrstfDt2yk6BfcAEnW107lWOUjPjD/ye4= +github.com/CaiJimmy/hugo-theme-stack/v3 v3.29.0/go.mod h1:IPmCXiIxlFSLFYS0tOmYP6ySLviyeNVSabyvSuaxD+I= diff --git a/static/favicon.png b/static/favicon.png new file mode 100644 index 0000000..e53125d Binary files /dev/null and b/static/favicon.png differ