🔥 Create your YOUR Personal Blog 📜  using Reactjs  ⚛️ & Github Issues in less than 10 min 🕐
Saeed Ahmad

Saeed Ahmad @mrsaeeddev

About: 🚀 I help developers to be better Engineers! 💻 Software Engineer | 📈 Data Science | 💼 Entrepreneurship | 🧠 AI | 🖋️ Writer at DEV with 300K+ views

Location:
Karachi
Joined:
Sep 2, 2019

🔥 Create your YOUR Personal Blog 📜 using Reactjs ⚛️ & Github Issues in less than 10 min 🕐

Publish Date: Feb 14 '20
343 19

This post features the work from my friend @saadpasta

React Blog

React + Github Issues 👉 Your Personal Blog 🔥

React Blog is a personal blog system build on React that helps you create your own personal blog using Github Issues

Personal blog


Link : https://github.com/saadpasta/react-blog-github

🔥 Features

✅ Own your content
✅ Write using Markdown On Github Issues
✅ Syntax/Code Highlighting
✅ Fully customizable
✅ Tags - Topics

✅ Links
✅ Reaction
✅ Images
✅ Minutes Read
✅ Beautiful UI Like Medium
✅ Easy deployment: Using Github Pages
✅ Beautiful blockquote

🔗 Live Demo

Here's a live demo

Github Issues / Blogs


🚀 Get Up and Running in 10 Minutes

You can get a react-blog site up and running on your local dev environment in 10 minutes with these five steps:

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

You'll need Git and Node.js (which comes with npm) installed on your computer

node@v10.16.0 or higher
npm@6.9.0 or higher
git@2.17.1 or higher

Enter fullscreen mode Exit fullscreen mode

1. From your command line, clone and run react-blog-github:

# Clone this repository
$ git clone https://github.com/saadpasta/react-blog-github.git

# Go into the repository
$ cd react-blog-github

# Install dependencies
$ npm install

Enter fullscreen mode Exit fullscreen mode

2. Genrate a Github Personal Access Token.

Genrate a Github personal access token using these Instructions Make sure you don't select any scope just generate a simple token without any scope

After that copy your genrated token and then encode your token into base 64 using this Website

Copy your base64 converted token

3. Change /src/config.js.

Go to your cloned repository and make the following changes in /src/config.js

export const config = {

  // Your Github Converted Token
  githubConvertedToken: "Github Converted Token",

  //   Your Github User Name
  githubUserName: "saadpasta",

  //   Your Github Repo Name Where You Have your issues as Blog

  githubRepo: "react-blog-github",

  // Your Personal Blog Title 

  title : "Saad Pasta" , 

  // Your Personal Blog Subtitle 

  subtitle : "Front End Developer Blog"

};

Enter fullscreen mode Exit fullscreen mode

4. Write A Blog.

After doing following changes now you just need to write a blog on repository issues that you have mentioned in your config.js

  • Open your repository github issues
  • Create a new issue
  • Now write your blog in github issue in markdown. You can also use slack edit to write your markdown
  • Add a label blog on your github issue to make it different from other standard issues. Keep in mind blog label is mandatory otherwise it won't show on your website.

5. Start Your React App.

That's it now you just need to start your react application From your command line run .

# Run
$ npm start

Enter fullscreen mode Exit fullscreen mode

🛠️ Technologies used

This project is only possible thanks to the awesomeness of the following projects:

🌱 Inspiration

This project is inspired from many other similar projects.

🤝 Contributing

Any idea on how we can make this more awesome ? Open a new issue! We need all the help we can get to make this project awesome!

💥 Todo

  • Add Comment From Github
  • Add Loader
  • Authentication using Github
  • Seo using React helmet
  • Footer
  • Header
  • Social Media Sharing

📄 License

This project is licensed under the MIT License - see the LICENSE.md file for details

⭐ Also star my repo on GitHub to motivate me to do more open source Work...

👍 Thank you so much for reading this...

Comments 19 total

  • Mark Davies
    Mark DaviesFeb 14, 2020

    Hey, just mentioning that your clone link seems to be pointing to the wrong place :D

    https://github.com/username/react-blog-github.git

    otherwise, nice project you have there :P

  • Rodion Gorkovenko
    Rodion GorkovenkoFeb 14, 2020

    That's cool idea!

    To use issues as storage - very clever! :)

    And free!

    But it seems everyone can create issues - and thus add stuff to your personal blog? May I try?

    • Keff
      KeffFeb 14, 2020

      I'm developing something similar, and what I thought for this was, that the posts shown are just ones with a specified label, so even if people create issues, they will not appear in the Blog.

      • Rodion Gorkovenko
        Rodion GorkovenkoFeb 14, 2020

        Is it correct that only repo owner can assign labels? Then it's solution, yes!

        UPD, it also seems that now GitHub allows limitations on who can "interact with repository" - probably this also includes issues.

        • Keff
          KeffFeb 14, 2020

          Yup, definitely only owners and collaborators can add labels.

  • Keff
    KeffFeb 14, 2020

    I was doing something similar man. You won me to it :P

  • Keff
    KeffFeb 14, 2020

    I suggest checking utteranc.es/ for the comments thread. It's already done for you ;)

  • llmas-laptrinh
    llmas-laptrinhFeb 14, 2020

    Wow that great idea!

  • Zen
    ZenFeb 14, 2020

    Comment system? Try using Disqus

  • crycx
    crycxFeb 14, 2020

    I really like the fonts and the overall design :)

  • Jingles (Hong Jing)
    Jingles (Hong Jing)Feb 14, 2020

    Wow. Never thought of that. Make me wanna try it too.

    Any downside to this as compared to the Jeykll way.

    • Jingles (Hong Jing)
      Jingles (Hong Jing)Feb 14, 2020

      Any idea if we can beautify the URL?
      Particularly:

      • remove the "#"
      • form URL using regex remove non-alphanumeric, and replace space with dash, append issue ID at the end (e.g. react-blog-github-test-issue-3--2)

      And how about SEO? Would there be any issues?

  • Deepu K Sasidharan
    Deepu K SasidharanFeb 14, 2020

    Nice idea. Just a suggestion, don't put your personal access token on the repo, base64 can be decoded and it's not safe.

    • Jingles (Hong Jing)
      Jingles (Hong Jing)Feb 14, 2020

      If not, what another way?

      And since theres no scope, it is fine right? Just read only, is it?

      • Lucia Cerchie
        Lucia CerchieJul 19, 2022

        You can put it in a .env folder and do this same project with Next.js or Express to send your env variable from a server -- if you send it on the client with 'vanilla' React it's still exposed to the browser.

  • Kevin Le
    Kevin LeFeb 14, 2020

    This is great.

  • Ali Sherief
    Ali SheriefFeb 14, 2020

    Nice library. Do you know if there is a React CMS that works with Github Pages, something like Wordpress?

  • phuocding
    phuocdingFeb 20, 2020

    And how to deploy without push folder "build" on github pages?

Add comment