Comprehensive Content Management
- Multi-Site Management: Effortlessly manage multiple websites from a single, intuitive desktop interface.
- Post Management: Create, edit, and delete posts with rich details including Title, HTML Content, Slug (auto-generated or manual), Author (site default or per-post), Category, SEO Description (auto-generated from content or manual), and a Featured Image URL. Timestamps for creation and modification are automatically handled.
- Page Management: Easily manage static pages with Title, HTML Content, Slug (auto-generated or manual), and SEO Description. Creation and modification dates are tracked.
- Category Management: Organize your content with categories, each having a Name and a URL-friendly Slug (auto-generated or manual).
- Rich Text Formatting Toolbar: A convenient toolbar in the post editor allows you to quickly apply common HTML formatting:
- Headings (H1, H2, H3, H4)
- Paragraphs, Blockquotes, Code Blocks
- Bulleted & Numbered Lists
- Media & Embeds:
- Insert images via URL with alternative text.
- Embed YouTube videos using their URL or Video ID.
- Convert and insert tables directly from CSV files.
- Link Insertion Tool: Easily insert hyperlinks with URL and display text.
- Markdown Paste Conversion: Paste Markdown content directly into the editor and have it automatically converted to HTML (requires Markdown Python library).
- Google Docs Import: Import content directly from Google Docs, which is converted to HTML for your posts.
- Google Drive Text File Import: Import plain text files from Google Drive, using the first line as the post title and the rest as content.
- Create New Google Doc: Initiate a new Google Document directly from the CMS; it opens in your browser for editing.
- RSS Feed Import: Pull content from external RSS/Atom feeds to populate your site.
- Content Pools:
- Titles Pool: Pre-fill new post titles from a list you manage.
- Image Pool: Automatically suggest image URLs for new posts from a predefined list.
- Live Preview: Preview individual posts and pages using the actual site template before generating the entire site.
Powerful Templating & Customization
- Jinja2 Templating Engine: Leverages the flexible and powerful Jinja2 engine for full control over your site's HTML structure.
- Theme Management: Organize and manage multiple template themes, stored in simple folder structures.
- Per-Site Active Template: Assign a specific template theme to each website you manage.
- Global Default Template: Set a global default template that will be automatically used for any new sites you create.
- UI-Driven Theme Customization:
- Global Heading Styles (H1-H4): Control Font Family (from a curated list of Google Fonts, system fonts, or custom stacks), Size, Weight, and Color.
- Post Body Styles: Customize Font Family, Size, Weight, and Color for main body text, and specific colors for links.
- Post Element Fonts & Colors: Fine-tune the appearance of H1-H4 headings, blockquotes (including font style like italic), and code blocks (text and background color) within post content.
- Template Texts: Modify specific text snippets used by the template, such as the "Index Widget Text".
- Code Injection: Insert custom HTML code directly into the `` section, before the closing `` tag, or add custom CSS rules site-wide.
- Menu Structure Preview: View the structure of your site's navigation menu (which is typically managed via JSON within template data or site settings).
- Live Customization Preview: See your font, color, and text customization changes reflected in a live preview of your site's index page or latest post without a full site regeneration.
- Restore Template Defaults: Easily revert all UI-based customizations back to the values defined in the active template's CSS.
- Dynamic CSS Variables: Default CSS variable values are parsed from your template's main CSS file, providing a baseline for UI customization.
- Automatic Google Fonts Loading: The system intelligently detects Google Fonts used in your theme or customizations and automatically generates the necessary import URLs.
Static Generation & SEO
- Fully Static Output: Generates fast, secure, and easily deployable static HTML websites.
- Automatic Sitemap: Creates a `sitemap.xml` file to help search engines discover all your content.
- Automatic `robots.txt`: Generates a `robots.txt` file, which can also be customized via your template.
- Automatic RSS Feed: Produces an `feed.xml` (RSS 2.0) file for content syndication.
- Schema.org JSON-LD Markup: Automatically embeds structured data for Articles, WebPages, WebSites, and BreadcrumbLists to enhance search engine understanding.
- Optional AMP Pages: Generate Accelerated Mobile Pages (AMP) versions for your posts to improve mobile loading speed and visibility.
- Configurable Pagination: Set the number of posts to display per page on index and category archive pages.
- Favicon Support: Easily set a favicon for your site through the UI.
- Admin Avatar: Display an administrator/author avatar, configurable per site.
- Site Metadata: Define site-wide Title, Tagline, Language (e.g., "en", "ar"), and Text Direction (LTR/RTL).
- Customizable Page Titles: Control the title separator used in the `
` tag for better SEO and branding. - Site Meta Description: Provide a general meta description for your site, used on the homepage and as a fallback.
Deployment & Backup
- Integrated Git Deployment: A streamlined "Generate & Upload" process performs a full site regeneration, adds all files to Git, commits with a timestamped message, and pushes to your configured remote repository and branch.
- Flexible Git Configuration: Set the local Git repository path, remote name (e.g., "origin"), branch name (e.g., "main"), and an optional target subfolder for deployment within the repository.
- Local Git Repository Tools:
- Initialize a new Git repository directly within a selected local folder from the UI.
- Create new target subfolders within your local repository.
- GitHub Pages Helper: When deploying to GitHub Pages, the system can help auto-detect the correct Base URL for your site settings based on your repository's remote URL.
- Google Drive Integration (Optional):
- Backup and restore your entire CMS data (all sites, settings, posts, etc.) to and from your Google Drive.
- Secure Google credential storage using the system's Keyring (if available), or falls back to a local `token.json` file.
- Perform manual backups to Google Drive at any time.
- Enable automatic backup to Google Drive after a successful Git upload.
- Browse and restore specific backup versions from Google Drive.
- Local Backup & Restore: Restore your CMS data from a local backup file (`cms_data.json`).
- Google Credentials Management: Easily upload your Google `credentials.json` file via the UI to enable Drive features.
- GitHub Integration (Optional):
- Securely log in to GitHub using OAuth. Client ID and Secret are configurable within the app.
- Create new repositories directly on your GitHub account from the CMS interface.
Desktop Application & UI
- Native Windows Desktop Application: A user-friendly graphical interface built with Python's Tkinter/TTK for a smooth desktop experience.
- Modern UI Theme: Visually appealing UI styled with inspiration from the "NiceAdmin" Bootstrap theme, ensuring a clean and professional look.
- Multi-Language UI: Supports interface translations. Users can select their preferred language from available JSON translation files. The UI also adapts to Right-To-Left (RTL) layouts.
- Extensible Plugin System:
- Load custom plugins to extend CMS functionality.
- Plugins can add their own dedicated settings tabs within the UI.
- Plugins can subscribe to application events (hooks) like "after site upload" to perform custom actions.
- Plugins can add custom buttons to the main sidebar and items to application menus.
- Plugins can add custom buttons to the post editor's formatting toolbar.
- Easily upload and install new plugins packaged as ZIP files.
- Uninstall plugins through the UI.
- In-App Error Log Viewer: Access a detailed log of application errors and notifications directly within the CMS for easier troubleshooting.
- Robust Data Handling: Includes data validation and migration routines on application startup to ensure data integrity and handle updates.
- Efficient Site Switching: Quickly switch between managed sites using a convenient dropdown menu in the top bar.
- Persistent State: Remembers the last active site so you can pick up where you left off.
- Sidebar Notifications: Get instant feedback on actions like saving, generation, and uploads through non-intrusive sidebar messages.
- File System Interaction:
- "Open Folder" functionality to quickly access template folders or Git repositories in your system's file explorer.
- Open external URLs (like help links or generated site previews) in your default web browser.
- Community Support: Links to PayPal and Patreon for supporting the Gitut CMS project.
- Contextual Help: "Learn more" links integrated into various sections, directing users to relevant documentation.
Services Integration
- Google AdSense: Input your AdSense Publisher ID for ad integration (requires template support).
- Google Analytics: Add your Google Analytics Tracking ID (UA-xxxx / G-xxxx) for website traffic analysis.
- Webmaster Verification: Provide verification codes for services like Google Search Console via meta tags.
- Disqus Comments: Integrate Disqus comments on your posts by adding your Disqus shortname.
- Google Custom Search Engine (CSE): Add your Google CSE ID to enable custom site search capabilities (requires template support).
- Social Media Links: Configure links to your profiles on Facebook, Twitter, LinkedIn, GitHub, Instagram, YouTube, and Pinterest. Includes options to show/hide social icons in the site header and footer/sidebar areas (template dependent).