mcpField
S
server-side-rendering

server-side-rendering

github.com/aj-geddes開発375430 回インストール35 週間前に更新
リポジトリ

server-side-rendering について

server-side-renderingは、テンプレートとデータを使ったサーバーサイドレンダリングアプリケーションの構築を支援するスキルです。Python、Node.js、Rubyのフレームワーク例に加え、キャッシュや描画の実践方法を扱います。

主な機能

  1. 01テンプレートによるHTMLのサーバー描画
  2. 02Flask、Django、Expressの例
  3. 03テンプレート継承とフィルター
  4. 04キャッシュと描画の最適化
  5. 05入力の検証とサニタイズ

活用シーン

  1. 01SEOに配慮したWebアプリの構築
  2. 02従来型WebアプリのHTML描画
  3. 03管理ダッシュボードの作成
  4. 04メールテンプレートの生成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/aj-geddes/useful-ai-prompts --skill server-side-rendering

インストール後、Claude Code で/server-side-renderingを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
caching-and-performance.md
django-template-examples.md
django-templates.md
ejs-template-examples.md
flask-with-jinja2-templates.md
jinja2-template-examples.md
nodejsexpress-with-ejs-templates.md
scripts/
validate-schema.sh
templates/
migration-template.sql

詳細

サーバーサイドレンダリング

目次

概要

最新のテンプレートエンジン、ビュー層、データ駆動型の HTML 生成を利用し、キャッシュ、ストリーミング、パフォーマンス最適化に対応したサーバーサイドレンダリングアプリケーションを、Python、Node.js、Ruby のフレームワークで構築します。

使用する場面

  • 従来型のウェブアプリケーションを構築する
  • サーバー上で HTML をレンダリングする
  • SEO に配慮したアプリケーションを実装する
  • リアルタイムで更新されるページを作成する
  • 管理用ダッシュボードを構築する
  • メールテンプレートを実装する

クイックスタート

最小限の実行可能な例:

# app.py
from flask import Flask, render_template, request, jsonify
from datetime import datetime

app = Flask(__name__)

# Custom Jinja2 filters
@app.template_filter('currency')
def format_currency(value):
    return f"${value:.2f}"

@app.template_filter('date_format')
def format_date(date_obj):
    return date_obj.strftime('%Y-%m-%d %H:%M:%S')

@app.context_processor
def inject_globals():
    """Inject global variables into templates"""
    return {
        'app_name': 'My App',
        'current_year': datetime.now().year,
        'support_email': '[email protected]'
    }

# routes.py
// ... (see reference guides for full implementation)

リファレンスガイド

references/ ディレクトリにある詳細な実装:

ガイド内容
Flask with Jinja2 TemplatesFlask と Jinja2 テンプレート
Jinja2 Template ExamplesJinja2 テンプレートの例
Node.js/Express with EJS TemplatesNode.js/Express と EJS テンプレート
EJS Template ExamplesEJS テンプレートの例
Caching and Performanceキャッシュとパフォーマンス
Django Template ExamplesDjango テンプレートの例
Django TemplatesDjango テンプレート

ベストプラクティス

✅ 推奨事項
  • DRY なコードにするため、テンプレートの継承を使用します
  • 頻繁にレンダリングするページにはキャッシュを実装します
  • 書式設定にはテンプレートフィルターを使用します
  • ビューとテンプレートの役割を分離します
  • すべてのユーザー入力を検証し、サニタイズします
  • グローバル変数にはコンテキストプロセッサーを使用します
  • 適切なページネーションを実装します
  • 条件付きレンダリングを適切に使用します
  • コストの高いクエリをキャッシュします
  • テンプレートのレンダリングを最適化します
❌ 禁止事項
  • テンプレートにビジネスロジックを記述します
  • テンプレートで上限のないループを使用します
  • テンプレート内でデータベースクエリを実行します
  • サニタイズせずにユーザー入力を信頼します
  • テンプレートの継承を過度に深くネストします
  • 非常に長いテンプレートファイルを使用します
  • テンプレートに機密データをレンダリングします
  • テンプレートのキャッシュ機会を無視します
  • グローバル変数を過度に使用します
  • 1 つのテンプレートに複数の関心事を混在させます

コメント