The Rodo Fork of
wowthemesnet/mediumish-vuepress-blog-themewith super powers.
It takes a markdown blog repo and generates a VuePress app that can be configured to be automatically published to GitHub pages.
- A markdown blog repository following a simply scheme (example rodolfoberrios/blog).
./
├── .github
│ └── workflows
│ └── push-deploy.yml
├── _posts
│ └── 2020-07-09-a-post.md
├── public
│ ├── avatars
│ │ └── user.jpg
│ ├── icons
│ │ ├── android-chrome-192x192.png
│ │ └── android-chrome-512x512.png
│ ├── logo.png
│ ├── manifest.json
│ └── photos
│ └── some-photo.jpg
└── .vuepress
├── config.js
├── enhanceApp.js
└── styles
├── index.styl
└── palette.stylRead Deploying to GitHub pages.
Contains the posts of the target blog source.
- ⚠ Post name must be in the format
YYYY-MM-DD-<name_here>.md - ⚠ Post must link internal resources using absolute path (Use
/to map topublic/folder)
Posts use Front Matter to provide meta:
---
date: 2020-07-09 11:32:02 GMT
title: Vuelvo a bloguear
tags:
- ✊🏾resurrecting
author: Rodolfo
summary: Vuelvo a renacer, amado pueblo... Se siente tan vacío sin mi!
image: /photos/image.jpg
feed:
description: Description used in feed
image: /photos/image-alt.jpg
---Public folder for logos, icons and manifest files that maps to the root. For example, public/logo.png will be available at /logo.png in the deployed app.
Contains config.js, enhanceApp.js and styles/ used by VuePress. These allow to configure your blog name, links, authors and allow to define the colors used by the theme.
Requirements:
- A GitHub repository for hosting (see GitHub pages).
🧔🏾 Your own clone of this repo is the deploy repo of yours.
REPO_BLOGexamplerodolfoberrios/blogREPO_BLOG_ACCESS_TOKENtoken for the repo aboveREPO_HOSTINGexamplerodolfoberrios/rodolfoberrios.github.ioREPO_HOSTING_ACCESS_TOKENtoken for the repo aboveCNAMEexamplerodolfoberrios.com
🧔🏾 Your own repo with your markdown files is the blog repo of yours.
REPO_BLOG_DEPLOYthe repo used for deploy examplerodolfoberrios/mediumishREPO_BLOG_DEPLOY_USERNAMEusername with access to blog deploy repoREPO_BLOG_DEPLOY_TOKENPAT for the username above
⚠ The personal access token must grant access to
reposcope.
Configure the blog repo to automatically trigger a new deploy by adding .github/workflows/push-deploy.yml in the blog repo.
name: Push deploy
on: push
jobs:
push-deploy:
runs-on: ubuntu-latest
steps:
- name: Push it
run: |
curl -XPOST -u "${{ secrets.REPO_BLOG_DEPLOY_USERNAME }}:${{ secrets.REPO_BLOG_DEPLOY_TOKEN }}" -H "Accept: application/vnd.github.everest-preview+json" -H "Content-Type: application/json" https://api.github.com/repos/${{ secrets.REPO_BLOG_DEPLOY }}/dispatches --data '{"event_type": "build_application"}'- Requires yarn.
Install all the dependencies.
yarnCopy config.sh.dist to config.sh.
cp config.sh.dist config.shChange the variables in config.sh to match the target project. In this file you will configure the repositories for blog sourcing and hosting.
Make sure that deploy.sh is executable.
chmod +x deploy.shCommand syntax:
./deploy.sh <to> <doSource><to> deploy options:
| Option | Effect |
|---|---|
dev |
Deploys dev preview |
prod |
Deploys to production |
<doSource> option:
| Option | Effect |
|---|---|
true |
Source blog/ from the target blog repo |
false |
Skip the blog sourcing (will use local blog/) |
dir |
Use target dir as blog/ source (copied) |
- 🤷🏾 Feeds won't work in
dev, only inbuild. - ⚠ Posts markdown files, (
YYYY-MM-DD-<name_here>.md) must not start with a digit atname_here. No idea why theservice-workerbreaks on those.