erp-site

ERP System Static Site Generator

A sophisticated, multilingual static site generator for your ERP system with an intellectual aesthetic inspired by high-quality editorial sites.

Features

Project Structure

.
├── .github/
│   └── workflows/
│       └── deploy.yml          # GitHub Actions workflow
├── translations/
│   ├── en.json                 # English translations
│   └── de.json                 # German translations
├── config.json                 # Site configuration
├── template.html               # HTML template
├── styles.css                  # Stylesheet
├── generate.py                 # Site generator script
└── dist/                       # Generated output (created by script)

Configuration

config.json

{
  "demo_url": "https://demo.yourerp.com",
  "default_language": "en",
  "languages": {
    "en": {
      "name": "English",
      "phone": "+1-555-0123"
    },
    "de": {
      "name": "Deutsch",
      "phone": "+49-621-123456"
    }
  },
  "sections": [...]
}

Key Options:

Section Types:

Each section can be enabled/disabled with the enabled flag and reordered by changing array position.

Translation Files

Create one JSON file per language in the translations/ directory:

{
  "site_title": "Your Site Title",
  "hero_title": "Main Headline",
  "view_demo": "View Demo",
  "contact_sales": "Contact Sales",
  ...
}

Usage

Local Development

# Generate the site
python generate.py

# View output in dist/ folder
# Open dist/index.html or dist/en/index.html in your browser

GitHub Pages Deployment

  1. Push your repository to GitHub
  2. Enable GitHub Pages in repository settings
  3. Set source to “GitHub Actions”
  4. The workflow will automatically run on push to main

The site will be available at https://yourusername.github.io/your-repo/

Customization

Adding a New Language

  1. Create translations/[lang].json with all translation keys
  2. Add language to config.json:
    "languages": {
      "fr": {
        "name": "Français",
        "phone": "+33-1-23-45-67-89"
      }
    }
    

Adding New Sections

Edit config.json and add to the sections array:

{
  "type": "cta",
  "enabled": true,
  "title": "cta_new_title",
  "description": "cta_new_description"
}

Then add the translation keys to all language files.

Reordering Sections

Simply rearrange the order in the sections array in config.json.

Disabling Sections

Set "enabled": false for any section you want to hide.

Styling Changes

Edit styles.css to customize:

Design Philosophy

The design follows an intellectual, editorial aesthetic inspired by publications like The New Yorker:

License

Customize this section with your license information.