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.1.tar.gz (9.3 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.1-py3-none-any.whl (9.5 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: silan_personal_website-1.0.1.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

Hashes for silan_personal_website-1.0.1.tar.gz
Algorithm Hash digest
SHA256 fbf282178276db48b80b03ad10665d1e1423fba2814cb1bb5f0a9d3ae86b252d
MD5 4c27b062e9274e8c64507065a799b5b2
BLAKE2b-256 61df5602c2a4139ff3049c1536338502583e35161cebdb9a70bc944139483f52

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for silan_personal_website-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4f36cc8d9eea6c9702299500bf41d6771e369ccbb8fa33f6c271f510e889dbee
MD5 579199a9903b2068f40707ffcada717b
BLAKE2b-256 9be08e3836a9568dd4b1b0d8ddbdf503eb42ee7f2390e78f81bf1016e5faf116

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