Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Blog feature #18

Open
13 tasks
nightmaregaurav opened this issue Oct 30, 2022 · 0 comments
Open
13 tasks

Add Blog feature #18

nightmaregaurav opened this issue Oct 30, 2022 · 0 comments

Comments

@nightmaregaurav
Copy link
Owner

nightmaregaurav commented Oct 30, 2022

  • Add blog pages on <root>/blogs
  • Add link to manage blogs on setup page that should reside on <root>/blogs/manage
  • Manage Blog page will list blogs in a nice UI with edit, delete and add options.
  • Use Tools like suneditor-react to allow user to format the content with rich text and view it.
  • Allow Image(only) upload for GhPages, Allow use of image Url for others.

Getting contents

  • Get content from editor as plain text.
  • Encode text content.
  • Store in json object

Reference file format

{
	"1": "blog1.json",
	"2": "blog2.json"
}

Blog file format

{
	"title": "This is a blog",
	"date": "2020-12-22",
	"categories": [
		"blog",
		"test"
	],
	"keywords":[
		"how to write a blog in personal-website-cms",
		"CMS",
		"blog"
	]
	"content": "This is encoded blog content"
}

Side nodes

  • Only show blogs in website side panel if there is at least one blog.
  • Write proper config info for blog related components.
  • Add sitemap generator for blogs.
  • Add all appropriate Meta info for blog pages.

For GH-Page

  • Store each uploaded images for blog in /data/blogs/images/<name>.<ext>
  • Store each blog in /data/blogs/<name>.json
  • Store reference in /data/blogs/ref.json

For others

  • Allow Downloading all three
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant