このプロジェクトについて

escaping は、強い見解(opinionated)を持つ個人向けサイトジェネレーターで、その核となる考え方は、GitHub Issues を即時レンダリングのデータではなく、決定的なコンパイルの入力として扱うことです。これは、コンテンツ解析、ルーティング割り当て、HTML サニタイズ、アーティファクト検証などの段階的パイプラインを通じて、Issues を完全な静的サイトにコンパイルします。 主な機能は次のとおりです: 1. コンテンツ管理:タグと front matter を含む GitHub Issues から Blog、Ideas、About ページのコンテンツを抽出することをサポートします。 2. サイトモデル:ホームページ、アーカイブページ、詳細ページ、プロジェクトページ、タグページ、および Atom フィード、sitemap、robots.txt などの SEO アーティファクトを統一的に生成します。 3. テーマシステム:geoqiao.me、Escape1、Escape2、Quiet などの複数のテーマを組み込み、さらにローカルのカスタムテーマをロードすることをサポートします。 4. セキュリティメカニズム:Markdown HTML ホワイトリスト、厳格な URL 検証、出力ディレクトリの制限、Jinja の自動エスケープを含みます。 5. リリースプロセス:段階的リリースメカニズムを採用し、新しいアーティファクトは staging 環境で検証に合格した後、ディレクトリの名前変更によって本番出力に置き換え、ロールバックをサポートします。 このツールは Python 3.11+ 環境を必要とし、依存関係の管理には uv の使用を推奨します。ジェネレーターのロジックとサイト設定を分離し、ユーザーが独立したリポジトリでサイト設定とコンテンツを維持できるようにします。