diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..bf64fc4 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,5 @@ +blank_issues_enabled: false +contact_links: + - name: 🐛 Issues + url: https://github.com/Chrede88/qubt/issues + about: Please report issues in the theme repo diff --git a/.github/deploymentWorkflow/buildDeploy.yaml b/.github/deploymentWorkflow/buildDeploy.yaml new file mode 100644 index 0000000..3ac3533 --- /dev/null +++ b/.github/deploymentWorkflow/buildDeploy.yaml @@ -0,0 +1 @@ +# empty placeholder \ No newline at end of file diff --git a/.github/renovate.json b/.github/renovate.json new file mode 100644 index 0000000..50298b7 --- /dev/null +++ b/.github/renovate.json @@ -0,0 +1,32 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "extends": [ + "config:recommended" + ], + "dependencyDashboardTitle": "Renovate Dashboard 🤖", + "commitMessagePrefix": "🤖", + "commitMessageTopic": "{{depName}}", + "commitMessageExtra": "to {{newVersion}}", + "commitMessageSuffix": "", + "prConcurrentLimit": 0, + "prHourlyLimit": 0, + "reviewers": ["chrede88"], + "timezone": "Europe/Zurich", + "customManagers": [ + { + "description": "Update Hugo/Go version in Github actions", + "customType": "regex", + "fileMatch": ["^.github/(?:workflows|actions)/.+\\.ya?ml$"], + "matchStrings": ["datasource=(?.*?) depName=(?.*?)\n.*?'(?.*)'\n"], + "versioningTemplate": "semver-coerced", + "extractVersionTemplate": "^(v|go)?(?.*)$" + } + ], + "packageRules": [ + { + "matchManagers": ["gomod"], + "matchDepTypes": ["indirect"], + "enabled": true + } + ] +} diff --git a/.github/template-cleanup/README.md b/.github/template-cleanup/README.md new file mode 100644 index 0000000..b366cc9 --- /dev/null +++ b/.github/template-cleanup/README.md @@ -0,0 +1,52 @@ +# %NAME% + +Please follow the instructions below to finish the setup of your new Qubt site. + +## Installation + +1) Add a LICENSE to your repo. +2) Clone your version of the template to your local computer: +```shell +git clone https://github.com// +``` +3) Modify `config/_default/hugo.yaml`, `config/_default/params.yaml` and `config/_default/menus.yaml` according to the configuration below. +4) Add your blog posts to `content/blog/`. See example posts for reference. +5) Modify `content/about.md` so it matches your preferences. +6) All images are stored in the `assets/` folder. You can group in subfolders if you like. +7) Build a local version of your site by executing `hugo server`. You can see the site by navigating to `localhost:1313` (actual URL will be outputted in the CLI) in a browser. +8) Add a new `icon.png` file to update the favicon. The png file should be 512px by 512px in size. + +--- + +## Configuration + +See the [wiki](https://github.com/chrede88/qubt/wiki) for all info about configuration. + +--- + +## Update the Theme Version + +The theme version used to build the site is defined in `go.mod` file. + +The best practice is to update to released and tested versions. To update to a specific version execute the following command in a terminal/commandline (at the root path of your site repo): + +```shell + hugo mod get github.com/Chrede88/qubt@vX.Y.Z +``` +Replace X,Y & Z with the corresponding version numbers. You can find the releases [here](https://github.com/Chrede88/qubt/releases). Please check if any breaking changes are listed under the release you want to update to, before proceeding. + +--- + +## Deploy on Github Pages +You can very easily deploy your site using Github Pages. Included in this template is a Github Action workflow that will build and deploy your site to Github Pages automatically :+1: + +You can find the workflow here `.github/deploymentWorkflow/buildDeploy.yml`. To use this, move it to `.github/workflows/`. + +The workflow is already set up and ready to go, but go through it and spend some time to understand what's going on. Otherwise, it'll always be this black box of magic that you can't fix when it breaks! + +Last step: Go to Settings -> Pages -> Build and deployment -> Set the Source to "Github Actions". + +Next time you publish a release this workflow will build and deploy your site :tada: + +Your site will be published to the following URL: +`https://%USER%.github.io/%NAME%` \ No newline at end of file diff --git a/.github/template-cleanup/config/hugo.yaml b/.github/template-cleanup/config/hugo.yaml new file mode 100644 index 0000000..977da55 --- /dev/null +++ b/.github/template-cleanup/config/hugo.yaml @@ -0,0 +1,15 @@ +############################ +## CHANGE THESE +############################ + +baseURL: "https://%USER%.github.io/%NAME%" +title: %NAME% + +############################ +## MISC +############################ + +enableEmoji: true +disableKinds: ["taxonomy", "term"] +languageCode: "en-us" +enableRobotsTXT: true diff --git a/.github/template-cleanup/config/params.yaml b/.github/template-cleanup/config/params.yaml new file mode 100644 index 0000000..85213b4 --- /dev/null +++ b/.github/template-cleanup/config/params.yaml @@ -0,0 +1,70 @@ +############################ +## Author +############################ + +author: + name: %USER% + image: author.png + greeting: "Your new Qubt site :tada:" + icon: ":wave:" + +############################ +## Links +############################ + +links: + - github: https://github.com/%USER%/%NAME% + - link: https://github.com/%USER%/%NAME%#readme + # - website: + # - x-twitter: + # - mastodon: + # - linkedin: + # - instagram: + # - reddit: + # - telegram: + # - whatsapp: + # - signal: + # - codepen: + # - dev: + # - email: + # - discord: + # - orcid: + # - slack: + # - stack-overflow: + # - twitch: + # - patreon: + # - soundcloud: + # - dribbble: + # - stack-exchange: + # - tiktok: + # - youtube: + # - keybase: + # - flickr: + # - tumblr: + # - kickstarter: + # - snapchat: + # - bluesky: + # - bitbucket: + # - bandcamp: + # - etsy: + # - spotify: + # - pinterest: + # - strava: + # - untappd: + # - skype: + # - medium: + # - foursquare: + # - apple: + # - amazon: + # - google: + # - paypal: + # - windows: + +############################### +## OpenGraph & Twitter Cards +############################### + +title: %NAME% +description: "Site build with Qubt & Hugo" +images: + - thumbnail.png diff --git a/.github/template-cleanup/content/about.md b/.github/template-cleanup/content/about.md new file mode 100644 index 0000000..1c16312 --- /dev/null +++ b/.github/template-cleanup/content/about.md @@ -0,0 +1,12 @@ +--- +# don't change +type: misc + +# change these +jobTitle: Blogger +name: %USER% +bio: true +icon: ":coffee:" +--- + +Add your Bio here!:+1: \ No newline at end of file diff --git a/.github/template-cleanup/go.mod b/.github/template-cleanup/go.mod new file mode 100644 index 0000000..9821445 --- /dev/null +++ b/.github/template-cleanup/go.mod @@ -0,0 +1,5 @@ +module github.com/%USER%/%NAME% + +go 1.22.2 + +require github.com/chrede88/qubt v1.4.0 // indirect diff --git a/.github/workflows/buildDeploy.yaml b/.github/workflows/buildDeploy.yaml new file mode 100644 index 0000000..5bb35ca --- /dev/null +++ b/.github/workflows/buildDeploy.yaml @@ -0,0 +1,85 @@ +# Sample workflow for building and deploying a Hugo site to GitHub Pages +# Go to Settings -> Pages -> Build and deployment -> Set the Source to "Github Actions". +name: Build & Deploy Hugo site to Pages + +# Will fire when a new release is published +on: + release: + types: [published] + +# Change the above to this if you want to build and deploy on every push, but +# be mindful of overuse. Free accounts have a limited amount of +# compute time per month. +# on: +# push: +# branches: +# - main + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + id-token: write + pages: write + +# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. +# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. +concurrency: + group: "pages" + cancel-in-progress: false + +# Default to bash +defaults: + run: + shell: bash + +jobs: + # Build job + build: # name of the job. We are conditioning the next job (deploy) on the succes of this one. + runs-on: ubuntu-latest # runner + steps: + # Checkout the main branch so the action has access to the files + - name: Checkout + uses: actions/checkout@v4 + with: + submodules: true + fetch-depth: 0 + + # Setup Go. Remember to keep the version up to date with your local build environment + - name: Setup Go + uses: actions/setup-go@v5 + with: + # renovate: datasource=github-tags depName=golang/go + go-version: '1.23.2' + + # Setup Hugo. Remember to keep the version up to date with your local build environment + - name: Setup Hugo + uses: peaceiris/actions-hugo@v3 + with: + # renovate: datasource=github-releases depName=gohugoio/hugo + hugo-version: '0.136.5' + extended: true + + # Build your site and dump the files in ./public + - name: Build + run: hugo --minify + + # Upload the files outputtet files so the next job can get to them + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + with: + path: ./public + + # Deployment job. Now let's deploy the site + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} # https://.github.io/ + runs-on: ubuntu-latest # runner + needs: build # only do this if the build was succesfull + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 diff --git a/.github/workflows/cleanTemplate.yml b/.github/workflows/cleanTemplate.yml new file mode 100644 index 0000000..9c9bf69 --- /dev/null +++ b/.github/workflows/cleanTemplate.yml @@ -0,0 +1,78 @@ +name: Clean Template + +on: + # run when branch created (repo generated from template) + create: + +# only keep latest run of this workflow +concurrency: + group: first-time-setup + cancel-in-progress: false + +# ADDED THIS CHANGE +permissions: + actions: write + checks: write + contents: write + + +jobs: + first-time-setup: + # ensure run only once, when repo generated + if: github.run_number == 1 + + runs-on: ubuntu-latest + + steps: + # get main branch repo contents + - name: Checkout code + uses: actions/checkout@v4 + + # remove files not needed for user instance of template + - name: Remove unneeded files + run: | + # Prepare variables + NAME="${GITHUB_REPOSITORY##*/}" + USER=$GITHUB_REPOSITORY_OWNER + + # update placeholders + sed -i "s/%NAME%/$NAME/g" .github/template-cleanup/README.md + sed -i "s/%USER%/$USER/g" .github/template-cleanup/README.md + sed -i "s/%NAME%/$NAME/g" .github/template-cleanup/config/hugo.yaml + sed -i "s/%USER%/$USER/g" .github/template-cleanup/config/hugo.yaml + sed -i "s/%NAME%/$NAME/g" .github/template-cleanup/config/params.yaml + sed -i "s/%USER%/$USER/g" .github/template-cleanup/config/params.yaml + sed -i "s/%NAME%/$NAME/g" .github/template-cleanup/go.mod + sed -i "s/%USER%/$USER/g" .github/template-cleanup/go.mod + sed -i "s/%NAME%/$NAME/g" .github/template-cleanup/content/about.md + sed -i "s/%USER%/$USER/g" .github/template-cleanup/content/about.md + + # replace files + cp -R .github/template-cleanup/README.md . + cp -R .github/template-cleanup/config/* config/_default/ + cp -R .github/template-cleanup/go.mod . + cp -R .github/template-cleanup/content/* content/ + + # move files + mv -f .github/workflows/buildDeploy.yaml .github/deploymentWorkflow/buildDeploy.yaml + + # download new author and thumbnail images + wget -O assets/author.png https://github.com/$USER.png + wget -O assets/thumbnail.png https://github.com/$USER.png + + # remove files + rm -rf \ + .github/ISSUE_TEMPLATE/ \ + .github/workflows/ \ + .github/template-cleanup/ \ + .github/renovate.json \ + go.sum \ + LICENSE \ + assets/author.jpeg \ + assets/thumbnail.jpeg + + # save changed files + - name: Commit changed files + uses: stefanzweifel/git-auto-commit-action@v5 + with: + commit_message: "Setup and populate your repo" diff --git a/.github/workflows/renovate.yaml b/.github/workflows/renovate.yaml new file mode 100644 index 0000000..e3f50c0 --- /dev/null +++ b/.github/workflows/renovate.yaml @@ -0,0 +1,50 @@ +--- +name: "Renovate" + +on: + workflow_dispatch: + + schedule: + - cron: "0 * * * *" # Every hour + push: + branches: ["main"] + paths: + - .github/renovate.json + +permissions: + packages: read + +concurrency: + group: ${{ github.workflow }}-${{ github.event.number || github.ref }} + cancel-in-progress: true + +env: + LOG_LEVEL: "debug" + RENOVATE_AUTODISCOVER: true + RENOVATE_AUTODISCOVER_FILTER: "${{ github.repository }}" + RENOVATE_PLATFORM: github + RENOVATE_PLATFORM_COMMIT: true + RENOVATE_BOT_NAME: "bb-17" + +jobs: + renovate: + name: Renovate + runs-on: ubuntu-latest + steps: + - name: Generate Token + uses: actions/create-github-app-token@v1 + id: app-token + with: + app-id: "${{ secrets.BOT_APP_ID }}" + private-key: "${{ secrets.BOT_PRIVATE_KEY }}" + + - name: Checkout + uses: actions/checkout@v4 + with: + token: "${{ steps.app-token.outputs.token }}" + + - name: Renovate + uses: renovatebot/github-action@v40.3.4 + with: + configurationFile: .github/renovate.json + token: "${{ steps.app-token.outputs.token }}" diff --git a/.github/workflows/testBuild.yml b/.github/workflows/testBuild.yml new file mode 100644 index 0000000..08e5cdf --- /dev/null +++ b/.github/workflows/testBuild.yml @@ -0,0 +1,39 @@ +name: Template Build + +on: + push: + branches: + - main + pull_request: + +jobs: + build-deploy: + name: Test Build template + runs-on: ubuntu-24.04 + concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + submodules: true + fetch-depth: 0 + + - name: Setup Go + uses: actions/setup-go@v5 + with: + # renovate: datasource=github-tags depName=golang/go + go-version: '1.23.2' + + - name: Setup Hugo + uses: peaceiris/actions-hugo@v3 + with: + # renovate: datasource=github-releases depName=gohugoio/hugo + hugo-version: '0.136.5' + extended: true + + - name: Clean cache + run: hugo mod clean + + - name: Build + run: hugo --minify \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ef8650c --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +# Hugo stuff +.hugo_build.lock +**/resources/_gen/ + + +# Apple stuff +.DS_Store \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..ca4df32 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 Christian Olsen + +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..bde89ff --- /dev/null +++ b/README.md @@ -0,0 +1,48 @@ +# Qubt - Template + +This is the theme template repository! **Please** follow the installation instructions below. +If you're looking for the actual theme repository, follow this [link](https://github.com/Chrede88/qubt). + +## Installation + +1) Use this template by pressing `Use this template`. **Don't fork this repository!** +2) Wait 20s-30s and update the page. The files in your repo are getting populated. +3) Add a LICENSE to your repo. +4) Clone your version of the template to your local computer: +```shell +git clone https://github.com// +``` +5) Change the module name to match your github repo in `go.mod`. +6) Modify `config/_default/hugo.yaml`, `config/_default/params.yaml` and `config/_default/menus.yaml` according to the configuration below. +7) Add your blog posts to `content/blog/`. See example posts for reference. +8) Modify `content/about.md` so it matches your preferences. +9) All images are stored in the `assets/` folder. You can group in subfolders if you like. +10) Build a local version of your site by executing `hugo server`. You can see the site by navigating to `localhost:1313` (actual URL will be outputted in the CLI) in a browser. +11) Add a new `icon.png` file to update the favicon. The png file should be 512px by 512px in size. + +--- + +## Features + +- Simple personal blog theme, designed for mobile-first. +- Automatic dark mode (based on system setttings). +- Emoji support for a fun design. +- Healthcheck endpoint (/healthcheck.json). + +--- + +## Configuration + +See the [wiki](https://github.com/chrede88/qubt/wiki) for all info about configuration and how to easily deploy to Github Pages. + +--- + +## Update the Theme Version +The theme version used to build the site is defined in `go.mod` file. + +The best practice is to update to released and tested versions. To update to a specific version execute the following command in a terminal/commandline (at the root path of your site repo): + +```shell + hugo mod get github.com/chrede88/qubt@vX.Y.Z +``` +Replace X,Y & Z with the corresponding version numbers. You can find the releases [here](https://github.com/chrede88/qubt/releases). Please check if any breaking changes are listed under the release you want to update to, before proceeding. \ No newline at end of file diff --git a/assets/author.jpeg b/assets/author.jpeg new file mode 100644 index 0000000..c0efc89 Binary files /dev/null and b/assets/author.jpeg differ diff --git a/assets/icon.png b/assets/icon.png new file mode 100644 index 0000000..c0efc89 Binary files /dev/null and b/assets/icon.png differ diff --git a/assets/logo.png b/assets/logo.png new file mode 100644 index 0000000..c0efc89 Binary files /dev/null and b/assets/logo.png differ diff --git a/assets/photo1.jpeg b/assets/photo1.jpeg new file mode 100644 index 0000000..ba2dc1a Binary files /dev/null and b/assets/photo1.jpeg differ diff --git a/assets/photo1_card.jpeg b/assets/photo1_card.jpeg new file mode 100644 index 0000000..25a37b7 Binary files /dev/null and b/assets/photo1_card.jpeg differ diff --git a/assets/photo2.jpeg b/assets/photo2.jpeg new file mode 100644 index 0000000..4cf5940 Binary files /dev/null and b/assets/photo2.jpeg differ diff --git a/assets/photo2_card.jpeg b/assets/photo2_card.jpeg new file mode 100644 index 0000000..a253247 Binary files /dev/null and b/assets/photo2_card.jpeg differ diff --git a/assets/photo3.jpeg b/assets/photo3.jpeg new file mode 100644 index 0000000..ceee2bd Binary files /dev/null and b/assets/photo3.jpeg differ diff --git a/assets/photo3_card.jpeg b/assets/photo3_card.jpeg new file mode 100644 index 0000000..4b7397b Binary files /dev/null and b/assets/photo3_card.jpeg differ diff --git a/assets/thumbnail.jpeg b/assets/thumbnail.jpeg new file mode 100644 index 0000000..c0efc89 Binary files /dev/null and b/assets/thumbnail.jpeg differ diff --git a/config/_default/hugo.yaml b/config/_default/hugo.yaml new file mode 100644 index 0000000..2f2f328 --- /dev/null +++ b/config/_default/hugo.yaml @@ -0,0 +1,16 @@ +############################ +## CHANGE THESE +############################ + +baseURL: 'https://chrede88.github.io/qubt' +title: 'Qubt Theme' + +############################ +## MISC +############################ + +enableEmoji: true +disableKinds: ['taxonomy', 'term'] +languageCode: 'en-us' + + diff --git a/config/_default/menus.yaml b/config/_default/menus.yaml new file mode 100644 index 0000000..fd3ed5f --- /dev/null +++ b/config/_default/menus.yaml @@ -0,0 +1,14 @@ +############################ +## Navbar +############################ + +main: +- name: Home + url: / + weight: 10 +- name: Blog + url: /blog/ + weight: 20 +- name: About + url: /about/ + weight: 30 \ No newline at end of file diff --git a/config/_default/module.yaml b/config/_default/module.yaml new file mode 100644 index 0000000..f43aa5c --- /dev/null +++ b/config/_default/module.yaml @@ -0,0 +1,8 @@ +############################ +## MODULES +## Add more modules if needed +## https://gohugo.io/hugo-modules/ +############################ + +imports: + - path: github.com/chrede88/qubt \ No newline at end of file diff --git a/config/_default/params.yaml b/config/_default/params.yaml new file mode 100644 index 0000000..b7711e7 --- /dev/null +++ b/config/_default/params.yaml @@ -0,0 +1,71 @@ +############################ +## Author +############################ + +author: + name: "Qubt" + image: author.jpeg + greeting: "A personal blog theme for Hugo :evergreen_tree:" + icon: ":wave:" + +############################ +## Links +############################ + +links: + - github: https://github.com/chrede88/qubt + - facebook: https://github.com/chrede88/qubt + # - x-twitter: + # - mastodon: + # - linkedin: + # - instagram: + # - reddit: + # - telegram: + # - whatsapp: + # - signal: + # - codepen: + # - dev: + # - email: + # - website: + # - link: + # - discord: + # - orcid: + # - slack: + # - stack-overflow: + # - twitch: + # - patreon: + # - soundcloud: + # - dribbble: + # - stack-exchange: + # - tiktok: + # - youtube: + # - keybase: + # - flickr: + # - tumblr: + # - kickstarter: + # - snapchat: + # - bluesky: + # - bitbucket: + # - bandcamp: + # - etsy: + # - spotify: + # - pinterest: + # - strava: + # - untappd: + # - skype: + # - medium: + # - foursquare: + # - apple: + # - amazon: + # - google: + # - paypal: + # - windows: + +############################### +## OpenGraph & Twitter Cards +############################### + +title: "Qubt Theme" +description: "Demo site build with Qubt & Hugo" +images: + - thumbnail.jpeg \ No newline at end of file diff --git a/content/about.md b/content/about.md new file mode 100644 index 0000000..18570a8 --- /dev/null +++ b/content/about.md @@ -0,0 +1,14 @@ +--- +# don't change +type: misc + +# change these +jobTitle: Blogger +name: John Doe +bio: true +icon: ":coffee:" +--- + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec id erat enim. Ut cursus magna sed luctus auctor. Sed eu augue dignissim, lobortis ipsum eu, dictum nisi. [Integer varius](https://lipsum.com) ex maximus quam lobortis accumsan. Morbi mollis vulputate metus, aliquam feugiat arcu porta a. Quisque id justo ultricies, lacinia elit quis, pulvinar odio. Fusce feugiat at velit vitae lobortis. Nulla fringilla metus et sem mattis posuere. + +Nulla pellentesque quam sit amet est posuere, tincidunt auctor ligula bibendum. Donec dapibus lacinia nibh, convallis ultrices enim laoreet et. Duis auctor, lectus nec vehicula suscipit, sapien erat pellentesque augue, pulvinar tempus sapien leo sit amet erat. Proin porta, mauris vitae aliquet consectetur, erat eros maximus turpis, at suscipit nibh urna id leo. Nunc commodo sed diam ut aliquet. Duis eros mi, ullamcorper sit amet ex id, aliquet dignissim libero. Fusce at turpis eget nisl feugiat cursus eget vitae elit. Integer auctor enim vel orci fringilla facilisis. Praesent ac euismod tellus. \ No newline at end of file diff --git a/content/blog/_index.md b/content/blog/_index.md new file mode 100644 index 0000000..6f1bd49 --- /dev/null +++ b/content/blog/_index.md @@ -0,0 +1,3 @@ +--- +title: Blog +--- \ No newline at end of file diff --git a/content/blog/post1/images/photo1.jpeg b/content/blog/post1/images/photo1.jpeg new file mode 100644 index 0000000..ba2dc1a Binary files /dev/null and b/content/blog/post1/images/photo1.jpeg differ diff --git a/content/blog/post1/images/photo2.jpeg b/content/blog/post1/images/photo2.jpeg new file mode 100644 index 0000000..4cf5940 Binary files /dev/null and b/content/blog/post1/images/photo2.jpeg differ diff --git a/content/blog/post1/index.md b/content/blog/post1/index.md new file mode 100644 index 0000000..58fe03e --- /dev/null +++ b/content/blog/post1/index.md @@ -0,0 +1,33 @@ +--- +title: Blog Post with Inline Images +subtitle: "Blog post subtitle :zap:" +summary: 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. aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. +date: 2023-11-24 +cardimage: photo1_card.jpeg +featureimage: photo1.jpeg +caption: Image caption +authors: + - Christian: author.jpeg +--- +Use the shortcode "figArray" to add images to your blog post. Add your images to a subfolder. Call the figArray shortcode using the following syntax: + +``` +{{" figCaption="Some caption" numCols=2 */>}} +``` +Both "figCaption" and "numCols" are optional. The shortcode will try to guess the best number of columns to use for the array of figures if "numCols" is not passed. +You will need one subfolder containing images per call to the shortcode. The image files need to be one of the following types: png, jpg, jpeg or webp. + +{{< figArray subfolder="images" figCaption="A nice figure caption :wave:" >}} + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec id erat enim. Ut cursus magna sed luctus auctor. Sed eu augue dignissim, lobortis ipsum eu, dictum nisi. Integer varius ex maximus quam lobortis accumsan. Morbi mollis vulputate metus, aliquam feugiat arcu porta a. Quisque id justo ultricies, lacinia elit quis, pulvinar odio. Fusce feugiat at velit vitae lobortis. Nulla fringilla metus et sem mattis posuere :zap:. + +**Heading** +- List item 1 +- List item 2 +- List item 3 + +Cras ligula velit, aliquet ac orci dapibus, molestie ultricies libero. Donec at bibendum est. Phasellus vulputate dapibus quam vel accumsan. Curabitur at felis euismod, lobortis urna id, lobortis dolor. Cras tortor ligula, euismod quis lacus faucibus, condimentum fringilla dolor. Mauris in maximus nisi. Phasellus facilisis lacus quis mi cursus, a ornare mi maximus. Nullam nunc lacus, tincidunt varius risus nec, pellentesque vulputate ligula. Etiam id purus et tortor porta mattis. Donec id sapien nulla. Vivamus at malesuada tellus, id ultricies ante. Maecenas ullamcorper mi massa, at rutrum risus aliquet a. Donec sem tortor, molestie quis ex a, faucibus commodo augue. Morbi convallis sem vel tellus facilisis, et sodales felis consequat. Aliquam ut ante tristique, volutpat lectus vestibulum, egestas sapien. + +Donec tellus est, faucibus eget ultricies ac, posuere non augue. Fusce ultrices lectus quis nunc lacinia, non tincidunt lectus ultrices. Morbi sodales nisi at felis luctus, eu convallis tortor commodo. Morbi tristique nibh neque, vel tristique dolor laoreet eget. Phasellus felis erat, mattis at suscipit id, faucibus in dolor. In vitae odio at lectus tincidunt dignissim. Fusce risus nisl, hendrerit a ultricies vitae, porta id sapien. Nam elit nunc, hendrerit ut sem quis, ultrices varius leo. Nullam eget lectus in sapien venenatis iaculis at at turpis. Etiam iaculis magna porttitor augue tempus suscipit. Interdum et malesuada fames ac ante ipsum primis in faucibus. Nullam suscipit nibh leo, in pellentesque urna luctus et. Duis diam ipsum, posuere nec tellus sit amet, dignissim feugiat massa. Etiam ut sollicitudin lorem. Quisque commodo libero non mauris viverra malesuada. Morbi vitae auctor felis. + +Maecenas ac dignissim dolor. Sed vitae nisl vel ante rutrum tincidunt ac et diam. Integer id dignissim quam. Vestibulum quis enim sit amet tellus tincidunt sagittis ut vitae nunc. Sed hendrerit, quam ut fermentum imperdiet, augue purus cursus felis, in ultricies elit mauris in risus. Morbi hendrerit imperdiet vehicula. Etiam porttitor magna eu quam laoreet ullamcorper. Etiam a erat ante. Curabitur pharetra, lacus in porttitor cursus, libero lacus consectetur dui, sit amet auctor tellus magna et enim. Pellentesque tristique molestie fringilla. Vivamus sit amet tincidunt quam. Morbi eu nisi quam. Nunc ultrices vel sem sit amet aliquam. \ No newline at end of file diff --git a/content/blog/post2/index.md b/content/blog/post2/index.md new file mode 100644 index 0000000..bb782c8 --- /dev/null +++ b/content/blog/post2/index.md @@ -0,0 +1,26 @@ +--- +title: Blog Post With Extra Long Title +summary: 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. +date: 2023-11-23 +cardimage: photo2_card.jpeg +featureimage: photo2.jpeg +caption: "Image caption :tada:" +authors: + - Jane Doe: author.jpeg + - John Doe: author.jpeg +--- + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec id erat enim. Ut cursus magna sed luctus auctor. Sed eu augue dignissim, lobortis ipsum eu, dictum nisi. Integer varius ex maximus quam lobortis accumsan. Morbi mollis vulputate metus, aliquam feugiat arcu porta a. Quisque id justo ultricies, lacinia elit quis, pulvinar odio. Fusce feugiat at velit vitae lobortis. Nulla fringilla metus et sem mattis posuere :zap:. + +**Heading** +- List item 1 +- List item 2 +- List item 3 + +Nulla pellentesque quam sit amet est posuere, tincidunt auctor ligula bibendum. Donec dapibus lacinia nibh, convallis ultrices enim laoreet et. Duis auctor, lectus nec vehicula suscipit, sapien erat pellentesque augue, pulvinar tempus sapien leo sit amet erat. Proin porta, mauris vitae aliquet consectetur, erat eros maximus turpis, at suscipit nibh urna id leo. Nunc commodo sed diam ut aliquet. Duis eros mi, ullamcorper sit amet ex id, aliquet dignissim libero. Fusce at turpis eget nisl feugiat cursus eget vitae elit. Integer auctor enim vel orci fringilla facilisis. Praesent ac euismod tellus. + +Cras ligula velit, aliquet ac orci dapibus, molestie ultricies libero. Donec at bibendum est. Phasellus vulputate dapibus quam vel accumsan. Curabitur at felis euismod, lobortis urna id, lobortis dolor. Cras tortor ligula, euismod quis lacus faucibus, condimentum fringilla dolor. Mauris in maximus nisi. Phasellus facilisis lacus quis mi cursus, a ornare mi maximus. Nullam nunc lacus, tincidunt varius risus nec, pellentesque vulputate ligula. Etiam id purus et tortor porta mattis. Donec id sapien nulla. Vivamus at malesuada tellus, id ultricies ante. Maecenas ullamcorper mi massa, at rutrum risus aliquet a. Donec sem tortor, molestie quis ex a, faucibus commodo augue. Morbi convallis sem vel tellus facilisis, et sodales felis consequat. Aliquam ut ante tristique, volutpat lectus vestibulum, egestas sapien. + +Donec tellus est, faucibus eget ultricies ac, posuere non augue. Fusce ultrices lectus quis nunc lacinia, non tincidunt lectus ultrices. Morbi sodales nisi at felis luctus, eu convallis tortor commodo. Morbi tristique nibh neque, vel tristique dolor laoreet eget. Phasellus felis erat, mattis at suscipit id, faucibus in dolor. In vitae odio at lectus tincidunt dignissim. Fusce risus nisl, hendrerit a ultricies vitae, porta id sapien. Nam elit nunc, hendrerit ut sem quis, ultrices varius leo. Nullam eget lectus in sapien venenatis iaculis at at turpis. Etiam iaculis magna porttitor augue tempus suscipit. Interdum et malesuada fames ac ante ipsum primis in faucibus. Nullam suscipit nibh leo, in pellentesque urna luctus et. Duis diam ipsum, posuere nec tellus sit amet, dignissim feugiat massa. Etiam ut sollicitudin lorem. Quisque commodo libero non mauris viverra malesuada. Morbi vitae auctor felis. + +Maecenas ac dignissim dolor. Sed vitae nisl vel ante rutrum tincidunt ac et diam. Integer id dignissim quam. Vestibulum quis enim sit amet tellus tincidunt sagittis ut vitae nunc. Sed hendrerit, quam ut fermentum imperdiet, augue purus cursus felis, in ultricies elit mauris in risus. Morbi hendrerit imperdiet vehicula. Etiam porttitor magna eu quam laoreet ullamcorper. Etiam a erat ante. Curabitur pharetra, lacus in porttitor cursus, libero lacus consectetur dui, sit amet auctor tellus magna et enim. Pellentesque tristique molestie fringilla. Vivamus sit amet tincidunt quam. Morbi eu nisi quam. Nunc ultrices vel sem sit amet aliquam. \ No newline at end of file diff --git a/content/blog/post3/index.md b/content/blog/post3/index.md new file mode 100644 index 0000000..0945e77 --- /dev/null +++ b/content/blog/post3/index.md @@ -0,0 +1,25 @@ +--- +title: Blog Post 3 +summary: 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. +date: 2023-11-22 +cardimage: photo3_card.jpeg +featureimage: photo3.jpeg +caption: "Image caption :tada:" +authors: + - John Doe: author.jpeg +--- + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec id erat enim. Ut cursus magna sed luctus auctor. Sed eu augue dignissim, lobortis ipsum eu, dictum nisi. Integer varius ex maximus quam lobortis accumsan. Morbi mollis vulputate metus, aliquam feugiat arcu porta a. Quisque id justo ultricies, lacinia elit quis, pulvinar odio. Fusce feugiat at velit vitae lobortis. Nulla fringilla metus et sem mattis posuere :zap:. + +**Heading** +- List item 1 +- List item 2 +- List item 3 + +Nulla pellentesque quam sit amet est posuere, tincidunt auctor ligula bibendum. Donec dapibus lacinia nibh, convallis ultrices enim laoreet et. Duis auctor, lectus nec vehicula suscipit, sapien erat pellentesque augue, pulvinar tempus sapien leo sit amet erat. Proin porta, mauris vitae aliquet consectetur, erat eros maximus turpis, at suscipit nibh urna id leo. Nunc commodo sed diam ut aliquet. Duis eros mi, ullamcorper sit amet ex id, aliquet dignissim libero. Fusce at turpis eget nisl feugiat cursus eget vitae elit. Integer auctor enim vel orci fringilla facilisis. Praesent ac euismod tellus. + +Cras ligula velit, aliquet ac orci dapibus, molestie ultricies libero. Donec at bibendum est. Phasellus vulputate dapibus quam vel accumsan. Curabitur at felis euismod, lobortis urna id, lobortis dolor. Cras tortor ligula, euismod quis lacus faucibus, condimentum fringilla dolor. Mauris in maximus nisi. Phasellus facilisis lacus quis mi cursus, a ornare mi maximus. Nullam nunc lacus, tincidunt varius risus nec, pellentesque vulputate ligula. Etiam id purus et tortor porta mattis. Donec id sapien nulla. Vivamus at malesuada tellus, id ultricies ante. Maecenas ullamcorper mi massa, at rutrum risus aliquet a. Donec sem tortor, molestie quis ex a, faucibus commodo augue. Morbi convallis sem vel tellus facilisis, et sodales felis consequat. Aliquam ut ante tristique, volutpat lectus vestibulum, egestas sapien. + +Donec tellus est, faucibus eget ultricies ac, posuere non augue. Fusce ultrices lectus quis nunc lacinia, non tincidunt lectus ultrices. Morbi sodales nisi at felis luctus, eu convallis tortor commodo. Morbi tristique nibh neque, vel tristique dolor laoreet eget. Phasellus felis erat, mattis at suscipit id, faucibus in dolor. In vitae odio at lectus tincidunt dignissim. Fusce risus nisl, hendrerit a ultricies vitae, porta id sapien. Nam elit nunc, hendrerit ut sem quis, ultrices varius leo. Nullam eget lectus in sapien venenatis iaculis at at turpis. Etiam iaculis magna porttitor augue tempus suscipit. Interdum et malesuada fames ac ante ipsum primis in faucibus. Nullam suscipit nibh leo, in pellentesque urna luctus et. Duis diam ipsum, posuere nec tellus sit amet, dignissim feugiat massa. Etiam ut sollicitudin lorem. Quisque commodo libero non mauris viverra malesuada. Morbi vitae auctor felis. + +Maecenas ac dignissim dolor. Sed vitae nisl vel ante rutrum tincidunt ac et diam. Integer id dignissim quam. Vestibulum quis enim sit amet tellus tincidunt sagittis ut vitae nunc. Sed hendrerit, quam ut fermentum imperdiet, augue purus cursus felis, in ultricies elit mauris in risus. Morbi hendrerit imperdiet vehicula. Etiam porttitor magna eu quam laoreet ullamcorper. Etiam a erat ante. Curabitur pharetra, lacus in porttitor cursus, libero lacus consectetur dui, sit amet auctor tellus magna et enim. Pellentesque tristique molestie fringilla. Vivamus sit amet tincidunt quam. Morbi eu nisi quam. Nunc ultrices vel sem sit amet aliquam. \ No newline at end of file diff --git a/content/blog/post4/index.md b/content/blog/post4/index.md new file mode 100644 index 0000000..b220328 --- /dev/null +++ b/content/blog/post4/index.md @@ -0,0 +1,7 @@ +--- +title: Blog Post 4 +summary: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec id erat enim. Ut cursus magna sed luctus auctor. Sed eu augue dignissim, lobortis ipsum eu, dictum nisi. Integer varius ex maximus quam lobortis accumsan. Morbi mollis vulputate metus, aliquam feugiat arcu porta a. Quisque id justo ultricies, lacinia elit quis, pulvinar odio. Fusce feugiat at velit vitae lobortis. Nulla fringilla metus et sem mattis posuere. Nulla pellentesque quam sit amet est posuere, tincidunt auctor ligula bibendum. Donec dapibus lacinia nibh, convallis ultrices enim laoreet et. +date: 2023-11-21 +authors: + - John Doe: author.jpeg +--- \ No newline at end of file diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..b6cee2c --- /dev/null +++ b/go.mod @@ -0,0 +1,5 @@ +module github.com/chrede88/qubtTemplate + +go 1.22.2 + +require github.com/chrede88/qubt v1.4.0 // indirect diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..39ec15b --- /dev/null +++ b/go.sum @@ -0,0 +1,20 @@ +github.com/chrede88/qubt v1.1.0 h1:nltegAjkvZnsSnsT0D/UsDIiQxDRj1X5l1pdUL2QNEc= +github.com/chrede88/qubt v1.1.0/go.mod h1:Kr4QegXzzlR+195D+OuzDjfoTkN2cZP04ZmvLeDES+c= +github.com/chrede88/qubt v1.1.1/go.mod h1:Kr4QegXzzlR+195D+OuzDjfoTkN2cZP04ZmvLeDES+c= +github.com/chrede88/qubt v1.1.2/go.mod h1:LNKgH/KNBmQ7uR5qwKirELm6ApjPfer9tw+eEpjKgbA= +github.com/chrede88/qubt v1.2.0/go.mod h1:LNKgH/KNBmQ7uR5qwKirELm6ApjPfer9tw+eEpjKgbA= +github.com/chrede88/qubt v1.2.1/go.mod h1:LNKgH/KNBmQ7uR5qwKirELm6ApjPfer9tw+eEpjKgbA= +github.com/chrede88/qubt v1.2.2/go.mod h1:LNKgH/KNBmQ7uR5qwKirELm6ApjPfer9tw+eEpjKgbA= +github.com/chrede88/qubt v1.2.3/go.mod h1:LNKgH/KNBmQ7uR5qwKirELm6ApjPfer9tw+eEpjKgbA= +github.com/chrede88/qubt v1.2.4/go.mod h1:LNKgH/KNBmQ7uR5qwKirELm6ApjPfer9tw+eEpjKgbA= +github.com/chrede88/qubt v1.2.5 h1:eoz24u1byC3C6rYJcKcospjUY9KwmbRLs4Zx9aNkGgM= +github.com/chrede88/qubt v1.2.5/go.mod h1:h/fOqEMamJzVqwoguCa024jeQHesr0i9HC2vDUMJ6B8= +github.com/chrede88/qubt v1.2.6/go.mod h1:h/fOqEMamJzVqwoguCa024jeQHesr0i9HC2vDUMJ6B8= +github.com/chrede88/qubt v1.2.7/go.mod h1:D+P6y2ztynEgelFoxOAgsL/YWNXkc1shRs7cR7MeOrY= +github.com/chrede88/qubt v1.2.8/go.mod h1:tW9MLQwgX8QmbnAfTkImcl0opM//skLlgwjU08QiRpo= +github.com/chrede88/qubt v1.2.9/go.mod h1:5rVoQlcu2HIT7+/4xWFBX7nMQGgfqSabqGVZV5OZ9J0= +github.com/chrede88/qubt v1.2.10/go.mod h1:5rVoQlcu2HIT7+/4xWFBX7nMQGgfqSabqGVZV5OZ9J0= +github.com/chrede88/qubt v1.3.0/go.mod h1:5rVoQlcu2HIT7+/4xWFBX7nMQGgfqSabqGVZV5OZ9J0= +github.com/chrede88/qubt v1.3.1/go.mod h1:5rVoQlcu2HIT7+/4xWFBX7nMQGgfqSabqGVZV5OZ9J0= +github.com/chrede88/qubt v1.3.2/go.mod h1:5rVoQlcu2HIT7+/4xWFBX7nMQGgfqSabqGVZV5OZ9J0= +github.com/chrede88/qubt v1.4.0/go.mod h1:5rVoQlcu2HIT7+/4xWFBX7nMQGgfqSabqGVZV5OZ9J0=