Gitut CMS Features

Explore the capabilities that make Gitut CMS a powerful and user-friendly Desktop CMS.

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.</li> <li class="list-group-item"><strong>Site Meta Description:</strong> Provide a general meta description for your site, used on the homepage and as a fallback.</li> </ul> </section> <section class="mb-5"> <h2 class="mb-3 section-title"><i class="bi bi-cloud-arrow-up-fill me-2 text-primary"></i>Deployment & Backup</h2> <ul class="list-group list-group-flush feature-list"> <li class="list-group-item"><strong>Integrated Git Deployment:</strong> 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.</li> <li class="list-group-item"><strong>Flexible Git Configuration:</strong> 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.</li> <li class="list-group-item"><strong>Local Git Repository Tools:</strong> <ul> <li>Initialize a new Git repository directly within a selected local folder from the UI.</li> <li>Create new target subfolders within your local repository.</li> </ul> </li> <li class="list-group-item"><strong>GitHub Pages Helper:</strong> 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.</li> <li class="list-group-item"><strong>Google Drive Integration (Optional):</strong> <ul> <li>Backup and restore your entire CMS data (all sites, settings, posts, etc.) to and from your Google Drive.</li> <li>Secure Google credential storage using the system's Keyring (if available), or falls back to a local `token.json` file.</li> <li>Perform manual backups to Google Drive at any time.</li> <li>Enable automatic backup to Google Drive after a successful Git upload.</li> <li>Browse and restore specific backup versions from Google Drive.</li> </ul> </li> <li class="list-group-item"><strong>Local Backup & Restore:</strong> Restore your CMS data from a local backup file (`cms_data.json`).</li> <li class="list-group-item"><strong>Google Credentials Management:</strong> Easily upload your Google `credentials.json` file via the UI to enable Drive features.</li> <li class="list-group-item"><strong>GitHub Integration (Optional):</strong> <ul> <li>Securely log in to GitHub using OAuth. Client ID and Secret are configurable within the app.</li> <li>Create new repositories directly on your GitHub account from the CMS interface.</li> </ul> </li> </ul> </section> <section class="mb-5"> <h2 class="mb-3 section-title"><i class="bi bi-window-stack me-2 text-primary"></i>Desktop Application & UI</h2> <ul class="list-group list-group-flush feature-list"> <li class="list-group-item"><strong>Native Windows Desktop Application:</strong> A user-friendly graphical interface built with Python's Tkinter/TTK for a smooth desktop experience.</li> <li class="list-group-item"><strong>Modern UI Theme:</strong> Visually appealing UI styled with inspiration from the "NiceAdmin" Bootstrap theme, ensuring a clean and professional look.</li> <li class="list-group-item"><strong>Multi-Language UI:</strong> Supports interface translations. Users can select their preferred language from available JSON translation files. The UI also adapts to Right-To-Left (RTL) layouts.</li> <li class="list-group-item"><strong>Extensible Plugin System:</strong> <ul> <li>Load custom plugins to extend CMS functionality.</li> <li>Plugins can add their own dedicated settings tabs within the UI.</li> <li>Plugins can subscribe to application events (hooks) like "after site upload" to perform custom actions.</li> <li>Plugins can add custom buttons to the main sidebar and items to application menus.</li> <li>Plugins can add custom buttons to the post editor's formatting toolbar.</li> <li>Easily upload and install new plugins packaged as ZIP files.</li> <li>Uninstall plugins through the UI.</li> </ul> </li> <li class="list-group-item"><strong>In-App Error Log Viewer:</strong> Access a detailed log of application errors and notifications directly within the CMS for easier troubleshooting.</li> <li class="list-group-item"><strong>Robust Data Handling:</strong> Includes data validation and migration routines on application startup to ensure data integrity and handle updates.</li> <li class="list-group-item"><strong>Efficient Site Switching:</strong> Quickly switch between managed sites using a convenient dropdown menu in the top bar.</li> <li class="list-group-item"><strong>Persistent State:</strong> Remembers the last active site so you can pick up where you left off.</li> <li class="list-group-item"><strong>Sidebar Notifications:</strong> Get instant feedback on actions like saving, generation, and uploads through non-intrusive sidebar messages.</li> <li class="list-group-item"><strong>File System Interaction:</strong> <ul> <li>"Open Folder" functionality to quickly access template folders or Git repositories in your system's file explorer.</li> <li>Open external URLs (like help links or generated site previews) in your default web browser.</li> </ul> </li> <li class="list-group-item"><strong>Community Support:</strong> Links to PayPal and Patreon for supporting the Gitut CMS project.</li> <li class="list-group-item"><strong>Contextual Help:</strong> "Learn more" links integrated into various sections, directing users to relevant documentation.</li> </ul> </section> <section class="mb-5"> <h2 class="mb-3 section-title"><i class="bi bi-diagram-3-fill me-2 text-primary"></i>Services Integration</h2> <ul class="list-group list-group-flush feature-list"> <li class="list-group-item"><strong>Google AdSense:</strong> Input your AdSense Publisher ID for ad integration (requires template support).</li> <li class="list-group-item"><strong>Google Analytics:</strong> Add your Google Analytics Tracking ID (UA-xxxx / G-xxxx) for website traffic analysis.</li> <li class="list-group-item"><strong>Webmaster Verification:</strong> Provide verification codes for services like Google Search Console via meta tags.</li> <li class="list-group-item"><strong>Disqus Comments:</strong> Integrate Disqus comments on your posts by adding your Disqus shortname.</li> <li class="list-group-item"><strong>Google Custom Search Engine (CSE):</strong> Add your Google CSE ID to enable custom site search capabilities (requires template support).</li> <li class="list-group-item"><strong>Social Media Links:</strong> 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).</li> </ul> </section> </div> </div> </main> <!-- Footer --> <footer class="py-4 bg-dark text-light mt-auto"> <div class="container text-center"> <small>Copyright © Gitut CMS 2024</small> </div> </footer> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script> </body> </html>