Skip to main content

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 scaffold
  • silan ideas create - Create idea scaffold

Database Operations

  • silan db-sync - Sync markdown content to database
  • silan db-config - Manage database configuration

Backend Management

  • silan backend start - Start Go backend server
  • silan backend stop - Stop backend server
  • silan backend status - Check backend status
  • silan backend logs - View backend logs
  • silan backend install - Build backend binary

Frontend Management

  • silan frontend install - Install frontend templates
  • silan frontend install --dev - Install development project

Content Operations

  • silan ls [type] - List content items
  • silan show <type> <name> - Show content details
  • silan search <query> - Search content
  • silan edit <type> <name> <file> - Edit content file
  • silan append <type> <name> <file> - Append to content file

Utilities

  • silan status - Show project status
  • silan 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

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

Metadata

Release files for silan-personal-website 1.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for silan-personal-website 1.0.2
File Size Uploaded
silan_personal_website-1.0.2.tar.gz 36.2 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for silan-personal-website 1.0.2
File Interpreter ABI Platform
silan_personal_website-1.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 72.5 MB

Release files / silan_personal_website-1.0.2.tar.gz

Download URL silan_personal_website-1.0.2.tar.gz
Size 36.2 MB
Tags Source
SHA-256 checksum
How to use checksums
0fcba75751fb26ffc1c4c8cdf576ebd7f8ebea6c88ac05d3604d8b95475f9814
BLAKE2b-256 checksum
How to use checksums
06295e82ee6e4875543b48b13552bdf9ac73da1e61daf8c538c1665308448cc7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.7

Release files / silan_personal_website-1.0.2-py3-none-any.whl

Download URL silan_personal_website-1.0.2-py3-none-any.whl
Size 36.4 MB
Tags Python 3
SHA-256 checksum
How to use checksums
8ce36ab67d3d46b6e6bd3662082ef5615975f9337f656785b86c526ec83ae026
BLAKE2b-256 checksum
How to use checksums
d9863b91ca76962c5af5e6c3902fb0baf2451398ac1a77b7e920c9b01559ca44
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.7

Release history Release notifications | RSS feed

This release

1.0.2 This release

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page