Skip to content

A fast, file-based content management system (CMS) that's perfect for dynamic and static websites.

Notifications You must be signed in to change notification settings

JirzyKerklaan/tep-cms

Repository files navigation

TEP CMS Logo

📚 Table of Contents

📦 Features

  • File-based Content – no DB needed.
  • 🧱 Reusable Blocks – with a modular page_builder.
  • 📁 Organized Assets – with a modern media library.
  • 🎨 SCSS Styling – modular, maintainable styles.
  • 🧪 Easy Local Dev – run with nearly zero setup.
  • 🚀 Lightweight & Fast – powered by Express & EJS.
  • 👥 Multiple users – allows the user to have multiple accounts.
  • 🕙 Content scheduler - plan when a post should be released
  • 🔖 Content versioning - configurable content versioning of entries
  • 🧩 Headless mode - use headless mode to implement TEP anywhere
  • 🔌 Plugins - easy management for a variety of plugins

🛠 Installation

  1. Clone the repo and install dependencies:
    npm install
  2. Copy the example config and customize it:
    cp config.example.ts config.ts
  3. Run the development server
    npm run dev
  4. Build for production
    npm run prod

File Structure

tep-cms/
├── content/
│   ├── collections/      # All collections (pages, blogs etc.)
│   ├── globals/          # Global site settings (header, footer settings etc.)
│   ├── navigation/       # Navigation menu's
│   └── schemas/          # Collections & globals schemas
├── core/
│   ├── interfaces/       # Interface exports
│   ├── manager/
│   │   ├── controllers/  # Manager route controllers.
│   │   ├── helpers/      # Manager route helpers.
│   │   └── services/     # Manager controller services.
│   ├── middlewares/      # Global middleware
│   ├── services/         # Route services
│   └── validation/       # Validation system
├── public/
│   ├── assets/
│   │   ├── base/         # Static theme images, icons, etc.
│   │   └── uploads/      # Uploaded images, icons, etc.
│   └── css/              # Compiled SCSS styling
├── src/
│   ├── blocks/           # Page_builder blocks & components
│   ├── plugins/          # Installed plugins
│   ├── requests/         # Request validators
│   ├── routes/           # System routing
│   ├── templates/
│   │   ├── layouts/      # Page layouts
│   │   ├── manager/      # /manager views
│   │   └── views/        # Public views
│   ├── types/            # Package definitions
│   └── utils/            # Utility functions
├── styles/               # SCSS styling
├ config.ts
└ server.ts

🧪 Development Tips

  • Use version control to track content
  • Turn off caching during the development fase
  • error codes

About

A fast, file-based content management system (CMS) that's perfect for dynamic and static websites.

Topics

Resources

Stars

Watchers

Forks

Contributors