mcpField
S
server-side-rendering

server-side-rendering

github.com/aj-geddesDevelopment375430 installsUpdated 35w ago
Repository

About server-side-rendering

server-side-rendering is a skill for building server-rendered applications with templates and data-driven HTML. It covers examples across Python, Node.js, and Ruby frameworks, along with caching and rendering practices.

Key features

  1. 01Server-rendered HTML with templates
  2. 02Examples for Flask, Django, and Express
  3. 03Template inheritance and filters
  4. 04Caching and rendering optimization
  5. 05Input validation and sanitization

Use cases

  1. 01Building SEO-friendly web applications
  2. 02Rendering HTML for traditional web apps
  3. 03Creating admin dashboards
  4. 04Producing email templates

Install

Copy the command and run it in a terminal.

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

After installing, type/server-side-renderingin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with 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

Details

From the project README

Server-Side Rendering

Table of Contents

Overview

Build server-side rendered applications using modern template engines, view layers, and data-driven HTML generation with caching, streaming, and performance optimization across Python, Node.js, and Ruby frameworks.

When to Use

  • Building traditional web applications
  • Rendering HTML on the server
  • Implementing SEO-friendly applications
  • Creating real-time updating pages
  • Building admin dashboards
  • Implementing email templates

Quick Start

Minimal working example:

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

Reference Guides

Detailed implementations in the references/ directory:

GuideContents
Flask with Jinja2 TemplatesFlask with Jinja2 Templates
Jinja2 Template ExamplesJinja2 Template Examples
Node.js/Express with EJS TemplatesNode.js/Express with EJS Templates
EJS Template ExamplesEJS Template Examples
Caching and PerformanceCaching and Performance
Django Template ExamplesDjango Template Examples
Django TemplatesDjango Templates

Best Practices

✅ DO
  • Use template inheritance for DRY code
  • Implement caching for frequently rendered pages
  • Use template filters for formatting
  • Separate concerns between views and templates
  • Validate and sanitize all user input
  • Use context processors for global variables
  • Implement proper pagination
  • Use conditional rendering appropriately
  • Cache expensive queries
  • Optimize template rendering
❌ DON'T
  • Put business logic in templates
  • Use unbounded loops in templates
  • Execute database queries in templates
  • Trust user input without sanitization
  • Over-nest template inheritance
  • Use very long template files
  • Render sensitive data in templates
  • Ignore template caching opportunities
  • Use global variables excessively
  • Mix multiple concerns in one template

Comments

Markdown supported