AI-Powered Portfolio Platform - Intelligent content management with Python CLI, Go backend, and React frontend
Project description
Silan Personal Website - Python CLI Tools
Python command-line interface for the Silan Personal Website platform. Provides intelligent content management, database synchronization, and backend server management.
Features
- Content Management - Create and manage projects, blogs, ideas, and episodes
- Database Sync - Automated markdown-to-database synchronization (MySQL, PostgreSQL, SQLite)
- Frontend Templates - Install static or development frontend templates
- Backend Management - Start, stop, and manage Go backend server
- File Operations - Edit, append, and write content files
- Content Discovery - List, show, and search content across types
Installation
pip install silan-personal-website
Quick Start
Initialize a New Portfolio
silan init my-portfolio
cd my-portfolio
Create Content
# Create a new project
silan new project "My Project" --title "Amazing Project"
# Create a blog post
silan new blog "my-post" --title "My First Post"
# Create an idea
silan new idea "Research Idea" --title "AI Innovation"
Sync to Database
# Configure database (interactive)
silan db-config interactive
# Sync content to database
silan db-sync
Start Backend Server
# Start the Go backend server
silan backend start --db-type sqlite --db-path portfolio.db
Install Frontend
# Install static frontend files
silan frontend install
# Install full development project
silan frontend install --dev
Commands
Content Creation
silan new <type> <name>- Create new content (project, blog, idea, episode)silan projects create- Create project scaffoldsilan ideas create- Create idea scaffold
Database Operations
silan db-sync- Sync markdown content to databasesilan db-config- Manage database configuration
Backend Management
silan backend start- Start Go backend serversilan backend stop- Stop backend serversilan backend status- Check backend statussilan backend logs- View backend logssilan backend install- Build backend binary
Frontend Management
silan frontend install- Install frontend templatessilan frontend install --dev- Install development project
Content Operations
silan ls [type]- List content itemssilan show <type> <name>- Show content detailssilan search <query>- Search contentsilan edit <type> <name> <file>- Edit content filesilan append <type> <name> <file>- Append to content file
Utilities
silan status- Show project statussilan help [topic]- Get help
Configuration
The CLI uses a silan.yaml configuration file in your project directory:
project:
name: "My Portfolio"
language: "en"
database:
type: "sqlite"
path: "portfolio.db"
auth:
google_client_id: "your-client-id"
content_types:
- blog
- projects
- ideas
- resume
- episode
Database Support
- SQLite - Local development (default)
- MySQL - Production database
- PostgreSQL - Alternative production database
Requirements
- Python 3.9+
- Go 1.23+ (for backend server)
- Node.js 18+ (for frontend development)
Development
# Clone repository
git clone https://github.com/Qingbolan/Silan-Personal-Website.git
cd Silan-Personal-Website/silan-personal-website
# Install in development mode
pip install -e .
# Run tests
pytest
# Format code
black silan/
Documentation
Full documentation available at: https://github.com/Qingbolan/Silan-Personal-Website
License
Apache License 2.0
Author
Silan Hu - AI Researcher & Full Stack Developer
- Website: silan.tech
- GitHub: @Qingbolan
- Email: silan.hu@u.nus.edu
Contributing
Contributions are welcome! Please read the contributing guidelines in the main repository.
Changelog
v1.0.0 (2025-10-06)
- Initial release
- Content management CLI
- Database synchronization (MySQL, PostgreSQL, SQLite)
- Backend server management
- Frontend template installation
- Frontmatter removal support
- Multi-language content support
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file silan_personal_website-1.0.0.tar.gz.
File metadata
- Download URL: silan_personal_website-1.0.0.tar.gz
- Upload date:
- Size: 9.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
62d120bff898c18d456c06c2e2d58be180b9899eb7ba8df74a08f6c069d7ff8f
|
|
| MD5 |
59ee1ada0ce555ae756fa0ac9e171f7c
|
|
| BLAKE2b-256 |
408a2ec94da9bb1eccd0b6f4add61bbb9dd698441a11f7c13d967bff8172d31b
|
File details
Details for the file silan_personal_website-1.0.0-py3-none-any.whl.
File metadata
- Download URL: silan_personal_website-1.0.0-py3-none-any.whl
- Upload date:
- Size: 9.5 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fa6f0a97ac9320d3b95bbc6a59fbdbba0ab8efbb4498ad92d044122665b3fbbb
|
|
| MD5 |
2fa7a89646460fcb5d345f49a80448f7
|
|
| BLAKE2b-256 |
d9c9537ba984c541c436e643f26bffb920e9dcd8e03f180ca240c894974cb464
|