Skip to content

This Python script allows a user to create and removed blog posts on their personal website.

License

Notifications You must be signed in to change notification settings

kendallcallison/Blog-Site-Editor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

9 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“ Blog Post Manager

Python GUI SFTP License

A desktop app to remotely manage blog posts on a server using Python, Tkinter, and SFTP. Supports creating, uploading, and deleting blog posts with metadata and image support.


πŸš€ Features

  • πŸ”’ Secure SFTP integration (via paramiko)
  • ✍️ Add blog posts with images and metadata
  • ❌ Delete old posts with confirmation
  • πŸ–ΌοΈ GUI-based interface for ease of use

βš™οΈ Prerequisites

Python Installation

Windows:

  • Download from python.org
  • βœ… Be sure to check "Add Python to PATH"

macOS (Homebrew):

brew install python3

Linux (Debian/Ubuntu):

sudo apt update
sudo apt install python3 python3-pip

πŸ“¦ Setup Instructions

Clone this repository or download the files.

Install required libraries:

pip install paramiko beautifulsoup4

Create a config.txt file in the root directory:

hostname=your.sftp.server.com
port=22
username=your_username
password=your_password
publicFilePath=/path/to/your/webroot/

πŸ–₯️ Running the App

python3 blogUI.py

A window will open listing existing blog posts.

You can add or remove blog posts using the buttons.

πŸ“ Server File Structure

/your/publicFilePath/
β”œβ”€β”€ index.html
β”œβ”€β”€ styles.css
β”œβ”€β”€ posts/
β”‚   β”œβ”€β”€ meta.json
β”‚   β”œβ”€β”€ post_*.html
β”œβ”€β”€ images/
β”‚   β”œβ”€β”€ uploaded_images.jpg

Blog post metadata is stored in posts/meta.json

Blog content is stored as individual HTML files

Images are stored in the images/ folder

About

This Python script allows a user to create and removed blog posts on their personal website.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published