Metadata-Version: 2.4
Name: gistblog
Version: 0.1
Summary: gist-blog.
Author-email: Artur Barseghyan <artur.barseghyan@gmail.com>
Maintainer-email: Artur Barseghyan <artur.barseghyan@gmail.com>
License-Expression: MIT
Project-URL: Homepage, https://github.com/barseghyanartur/gistblog/
Project-URL: Repository, https://github.com/barseghyanartur/gistblog/
Project-URL: Issues, https://github.com/barseghyanartur/gistblog/issues
Keywords: gist,blog
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: 3.15
Classifier: Programming Language :: Python
Requires-Python: >=3.10
Description-Content-Type: text/x-rst
License-File: LICENSE
Requires-Dist: pelican
Requires-Dist: requests
Requires-Dist: docutils
Provides-Extra: all
Requires-Dist: gistblog[build,dev,docs,test]; extra == "all"
Provides-Extra: dev
Requires-Dist: detect-secrets; extra == "dev"
Requires-Dist: doc8; extra == "dev"
Requires-Dist: ipython; extra == "dev"
Requires-Dist: mypy; extra == "dev"
Requires-Dist: ruff; extra == "dev"
Requires-Dist: uv; extra == "dev"
Provides-Extra: test
Requires-Dist: pytest; extra == "test"
Requires-Dist: pytest-cov; extra == "test"
Requires-Dist: pytest-codeblock; extra == "test"
Provides-Extra: docs
Requires-Dist: sphinx; extra == "docs"
Requires-Dist: sphinx-autobuild; extra == "docs"
Requires-Dist: sphinx-rtd-theme>=1.3.0; extra == "docs"
Requires-Dist: sphinx-no-pragma; extra == "docs"
Requires-Dist: sphinx-markdown-builder; extra == "docs"
Requires-Dist: sphinx-llms-txt-link; extra == "docs"
Requires-Dist: sphinx-source-tree; extra == "docs"
Provides-Extra: build
Requires-Dist: build; extra == "build"
Requires-Dist: twine; extra == "build"
Requires-Dist: wheel; extra == "build"
Dynamic: license-file

==================================
gistblog – Serverless headless CMS
==================================

**Zero Git friction.** Write in reStructuredText → Public Gist → auto-deployed Pelican blog with full-text search.

How to publish a post
=====================
1. Create a **public** Gist on GitHub.
2. Description must start with: `blog: Your Post Title`
3. File must be valid reST with field-list metadata (see example in the original prompt).
4. Save. The site updates automatically every 4 hours (or manually trigger the GitHub Action).

.. code-block:: rst

    ================
    The Post Title
    ================
    :date: 2026-04-02 14:00
    :category: Tech
    :tags: python, automation
    :summary: This text appears **only** in the post listings (homepage, archives, etc.).
    :image: https://picsum.photos/id/1015/800/450

    Post body starts here...


Search page lives at `/pages/search/`.

**Important:** Change `USERNAME = "barseghyanartur"` in `fetch_gists.py` to **your own GitHub username** before the first run.

Local development
=================
1. Clone the repo
-----------------

::

    git clone https://github.com/YOURUSERNAME/YOUR-REPO.git
    cd YOUR-REPO

2. Install dependencies
-----------------------

::

    make install

3. Pull your latest Gists
-------------------------

::

    make fetch

4. One-time build + static preview
----------------------------------
::

    make serve

# → http://localhost:8000

5. LIVE development mode (recommended)
--------------------------------------
::

    make dev

# → Auto-rebuilds on any change + live server at http://localhost:8000
