Git Product home page Git Product logo

github-pages-blog-action's Introduction

Github Pages Blog

Create good looking blog from your markdown files on GitHub

kamranahmed.info license mit


Usage Example

Setting Up the Blog

Create a repository on GitHub to hold your blog content with the following directory structure:

├── about.md
├── posts
  ├── art-of-getting-better.md
  ├── behavior-of-links-created-using-javascript.md
  └── yellow-fade-technique-in-css.md
├── site.json
└── static
    ├── resume.pdf
    └── ebook.pdf

About Page

about.md is the markdown file containing the content for your about page.

Blog Posts

posts/ is the directory containing all your blog posts in markdown format. It supports the following frontmatter on top of each of the blog post

---
title: Your Personal Blog on GitHub Pages
date: 2022-05-25
permalink: /personal-blog-ghpages
---

Content for your bog post

Where title is the blog post title shown on the homepage as well as on the post detail page. date is the blog post date. permalink is the optional parameter to let you override the slug of the blog post.

Site Configuration

site.json contains the configuration to setup the blog. Given below is the sample JSON configuration.

{
  "title": "Kamran Ahmed",
  "subtitle": "Lead engineer at Zalando — tech guy with an entrepreneurial spirit and knack for getting things done",
  "owner": {
    "name": "Kamran Ahmed",
    "email": "[email protected]"
  },
  "social": {
    "github": "kamranahmedse",
    "medium": "kamranahmedse",
    "twitter": "kamranahmedse"
  },
  "newsletter": {
    "currentCount": "2,000",
    "revueUsername": "roadmapsh"
  },
  "seo": {
    "title": "Kamran Ahmed",
    "description": "Blog of a Software Engineer",
    "author": "Kamran Ahmed",
    "keywords": [
      "blog",
      "developer blog",
      "engineering blog"
    ]
  },
  "cname": "kamranahmed.info"
}

For the newsletter, you can remove the object if you don't have revue newsletter. And cname is your personal domain if applicable.

Static Assets

The contents of the static folder will simply be copied at the root of your blog and will be accessible via http://[blogurl]/filename

Setting Up GitHub Action

Once you have the blog repository setup, you need to setup the GitHub action in your repository. Create the action file at .github/workflows/deploy.yml with the following content

name: Build and Deploy
on: [push]
jobs:
  build-and-deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v3

      - name: Deploy
        uses: kamranahmedse/[email protected]
        with:
          branch: gh-pages # Optional branch for GitHub Pages

github-pages-blog-action's People

Contributors

kamranahmedse avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

github-pages-blog-action's Issues

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.