Skip to main content

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 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

silan_personal_website-1.0.2.tar.gz (36.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

silan_personal_website-1.0.2-py3-none-any.whl (36.4 MB view details)

Uploaded Python 3

File details

Details for the file silan_personal_website-1.0.2.tar.gz.

File metadata

  • Download URL: silan_personal_website-1.0.2.tar.gz
  • Upload date:
  • Size: 36.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.7

File hashes

Hashes for silan_personal_website-1.0.2.tar.gz
Algorithm Hash digest
SHA256 0fcba75751fb26ffc1c4c8cdf576ebd7f8ebea6c88ac05d3604d8b95475f9814
MD5 9992387c904e37443aab839d6990603a
BLAKE2b-256 06295e82ee6e4875543b48b13552bdf9ac73da1e61daf8c538c1665308448cc7

See more details on using hashes here.

File details

Details for the file silan_personal_website-1.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for silan_personal_website-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 8ce36ab67d3d46b6e6bd3662082ef5615975f9337f656785b86c526ec83ae026
MD5 ccf3ad236a196f781cd469428ae6ab16
BLAKE2b-256 d9863b91ca76962c5af5e6c3902fb0baf2451398ac1a77b7e920c9b01559ca44

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page