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
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
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
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"
};
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 mindblog
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
๐ ๏ธ 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
Top comments (19)
Nice idea. Just a suggestion, don't put your personal access token on the repo, base64 can be decoded and it's not safe.
If not, what another way?
And since theres no scope, it is fine right? Just read only, is it?
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.
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?
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.
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.
Yup, definitely only owners and collaborators can add labels.
I was doing something similar man. You won me to it :P
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
I really like the fonts and the overall design :)
Wow. Never thought of that. Make me wanna try it too.
Any downside to this as compared to the Jeykll way.
Any idea if we can beautify the URL?
Particularly:
And how about SEO? Would there be any issues?
Comment system? Try using Disqus
Wow that great idea!
This is great.
And how to deploy without push folder "build" on github pages?
I got it, many thanks