Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/p-nelly/roadmap-personal-blog
A modern, minimalist blog platform built with Flask, featuring Markdown support, secure admin controls, and JSON-based storage. Perfect for developers seeking a lightweight, easy-to-deploy personal blog solution with clean UI and comprehensive test coverage.
https://github.com/p-nelly/roadmap-personal-blog
authentication blog blog-engine blog-platform cms flask flask-login json json-storage markdown markdown-editor minimalist-design personal-blog python responsive-design static-site web-app
Last synced: about 1 month ago
JSON representation
A modern, minimalist blog platform built with Flask, featuring Markdown support, secure admin controls, and JSON-based storage. Perfect for developers seeking a lightweight, easy-to-deploy personal blog solution with clean UI and comprehensive test coverage.
- Host: GitHub
- URL: https://github.com/p-nelly/roadmap-personal-blog
- Owner: P-Nelly
- License: mit
- Created: 2024-12-29T22:12:34.000Z (about 2 months ago)
- Default Branch: master
- Last Pushed: 2024-12-29T22:40:37.000Z (about 2 months ago)
- Last Synced: 2024-12-29T23:18:52.371Z (about 2 months ago)
- Topics: authentication, blog, blog-engine, blog-platform, cms, flask, flask-login, json, json-storage, markdown, markdown-editor, minimalist-design, personal-blog, python, responsive-design, static-site, web-app
- Language: Python
- Homepage:
- Size: 26.4 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
![]()
ROADMAP-PERSONAL-BLOG
❯ A modern, minimalist blog platform built with Flask, featuring Markdown support and secure admin controls
![]()
![]()
![]()
![]()
## Table of Contents
- [ Overview](#overview)
- [ Features](#features)
- [ Project Structure](#project-structure)
- [ Project Index](#project-index)
- [ Getting Started](#getting-started)
- [ Prerequisites](#prerequisites)
- [ Installation](#installation)
- [ Usage](#usage)
- [ Testing](#testing)
- [ Project Roadmap](#project-roadmap)
- [ Contributing](#contributing)
- [ License](#license)
- [ Acknowledgments](#acknowledgments)---
## Overview
❯ A Flask-based personal blog platform that allows you to write and publish articles with Markdown support. The application features a public-facing blog interface and a secure admin section for content management. Articles are stored as JSON files, making it lightweight and easy to deploy.
---
## Features
- Public article viewing with a clean, responsive interface
- Markdown support for rich content formatting
- Secure admin authentication system
- Article management (create, edit, delete)
- JSON-based storage for simplicity
- Modern UI with responsive design
- Comprehensive test coverage---
## Project Structure
```sh
└── roadmap-personal-blog/
├── LICENSE
├── README.md
├── app
│ ├── __init__.py
│ ├── articles
│ ├── auth.py
│ ├── routes.py
│ ├── static
│ └── templates
├── pytest.ini
├── requirements.txt
└── tests
├── conftest.py
├── test_articles.py
└── test_auth.py
```### Project Index
ROADMAP-PERSONAL-BLOG/
__root__
pytest.ini
❯ Configuration file for pytest with coverage settings
requirements.txt
❯ Project dependencies and their versions
app
routes.py
❯ Main application routes and article management logic
auth.py
❯ Authentication system with login/logout functionality
articles
welcome.json
❯ Default welcome article for new installations
templates
article.html
❯ Template for displaying individual articles
login.html
❯ Admin login page template
index.html
❯ Home page template with article list
base.html
❯ Base template with common layout elements
admin
edit_article.html
❯ Template for creating and editing articles
dashboard.html
❯ Admin dashboard template for article management
---
## Getting Started### Prerequisites
Before getting started with roadmap-personal-blog, ensure your runtime environment meets the following requirements:
- **Programming Language:** Python 3.7+
- **Package Manager:** Pip
- **Operating System:** Linux, macOS, or Windows### Installation
Install roadmap-personal-blog using one of the following methods:
**Build from source:**
1. Clone the roadmap-personal-blog repository:
```sh
❯ git clone https://github.com/P-Nelly/roadmap-personal-blog
```2. Navigate to the project directory:
```sh
❯ cd roadmap-personal-blog
```3. Install the project dependencies:
```sh
❯ python -m venv venv
❯ source venv/bin/activate # On Windows: venv\Scripts\activate
❯ pip install -r requirements.txt
```### Usage
Run roadmap-personal-blog using the following commands:```sh
❯ export FLASK_APP=app
❯ export FLASK_ENV=development
❯ export SECRET_KEY=your-secret-key-here
❯ flask run
```The blog will be available at `http://localhost:5000`. Use these credentials for admin access:
- Username: `admin`
- Password: `admin123`### Testing
Run the test suite using the following command:```sh
❯ python -m pytest
```---
## Project Roadmap- [X] **`Task 1`**: Implement basic blog functionality with article management
- [X] **`Task 2`**: Add authentication system for admin access
- [X] **`Task 3`**: Create responsive UI with modern design
- [ ] **`Task 4`**: Add image upload support for articles
- [ ] **`Task 5`**: Implement article categories and tags
- [ ] **`Task 6`**: Add user comments system
- [ ] **`Task 7`**: Implement search functionality
- [ ] **`Task 8`**: Add RSS feed support---
## Contributing
- **💬 [Join the Discussions](https://github.com/P-Nelly/roadmap-personal-blog/discussions)**: Share your insights, provide feedback, or ask questions.
- **🐛 [Report Issues](https://github.com/P-Nelly/roadmap-personal-blog/issues)**: Submit bugs found or log feature requests for the `roadmap-personal-blog` project.
- **💡 [Submit Pull Requests](https://github.com/P-Nelly/roadmap-personal-blog/blob/master/CONTRIBUTING.md)**: Review open PRs, and submit your own PRs.Contributing Guidelines
1. **Fork the Repository**: Start by forking the project repository to your github account.
2. **Clone Locally**: Clone the forked repository to your local machine using a git client.
```sh
git clone https://github.com/P-Nelly/roadmap-personal-blog
```
3. **Create a New Branch**: Always work on a new branch, giving it a descriptive name.
```sh
git checkout -b new-feature-x
```
4. **Make Your Changes**: Develop and test your changes locally.
5. **Commit Your Changes**: Commit with a clear message describing your updates.
```sh
git commit -m 'Implemented new feature x.'
```
6. **Push to github**: Push the changes to your forked repository.
```sh
git push origin new-feature-x
```
7. **Submit a Pull Request**: Create a PR against the original project repository. Clearly describe the changes and their motivations.
8. **Review**: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your contribution!Contributor Graph
---
## License
This project is protected under the [MIT](https://choosealicense.com/licenses/mit/) License. For more details, refer to the [LICENSE](LICENSE) file.
---
## Acknowledgments
- Flask framework and its contributors
- Python Markdown library
- Bootstrap for UI components
- Icons8 for the project icon
- The open-source community for inspiration and tools
- Build as a Roadmap Project: https://roadmap.sh/projects/personal-blog---