{"id":15722207,"url":"https://github.com/ryancheley/pelican-to-sqlite","last_synced_at":"2026-03-03T12:34:10.115Z","repository":{"id":40555000,"uuid":"399679886","full_name":"ryancheley/pelican-to-sqlite","owner":"ryancheley","description":"A plugin to take your published Pelican posts and put them into a SQLite database","archived":false,"fork":false,"pushed_at":"2025-04-07T21:22:26.000Z","size":87,"stargazers_count":4,"open_issues_count":6,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-05T21:03:01.260Z","etag":null,"topics":["datasette","oss","pelican","python","sqlite"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ryancheley.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"contributing.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-08-25T03:39:29.000Z","updated_at":"2025-03-29T18:11:20.000Z","dependencies_parsed_at":"2025-01-18T14:59:06.596Z","dependency_job_id":"ff9801af-2f85-4e6f-b9cd-b486f1005d9a","html_url":"https://github.com/ryancheley/pelican-to-sqlite","commit_stats":{"total_commits":61,"total_committers":4,"mean_commits":15.25,"dds":0.360655737704918,"last_synced_commit":"18c46b41541c922b9a367ffc6e783970e999b848"},"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryancheley%2Fpelican-to-sqlite","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryancheley%2Fpelican-to-sqlite/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryancheley%2Fpelican-to-sqlite/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryancheley%2Fpelican-to-sqlite/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ryancheley","download_url":"https://codeload.github.com/ryancheley/pelican-to-sqlite/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252768988,"owners_count":21801373,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["datasette","oss","pelican","python","sqlite"],"created_at":"2024-10-03T22:05:14.619Z","updated_at":"2026-03-03T12:34:10.106Z","avatar_url":"https://github.com/ryancheley.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# pelican-to-sqlite\n\n[![PyPI](https://img.shields.io/pypi/v/pelican-to-sqlite.svg)](https://pypi.org/project/pelican-to-sqlite/)\n[![GitHub changelog](https://img.shields.io/github/v/release/ryancheley/pelican-to-sqlite?include_prereleases\u0026label=changelog)](https://github.com/ryancheley/pelican-to-sqlite/releases)\n[![Tests](https://github.com/ryancheley/pelican-to-sqlite/workflows/Test/badge.svg)](https://github.com/ryancheley/pelican-to-sqlite/actions?query=workflow%3ATest)\n[![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](https://github.com/ryancheley/pelican-to-sqlite/blob/main/LICENSE)\n[![pre-commit.ci status](https://results.pre-commit.ci/badge/github/ryancheley/pelican-to-sqlite/main.svg)](https://results.pre-commit.ci/latest/github/ryancheley/pelican-to-sqlite/main)\n\n## What is pelican-to-sqlite?\n\npelican-to-sqlite helps you add powerful search capabilities to your Pelican static site. By converting your Pelican posts into a SQLite database, you can quickly search through all your content using Datasette—without needing a complex backend or search service.\n\nPerfect for bloggers and content creators who want to offer visitors an easy way to search through years of posts.\n\n## Prerequisites\n\n- Python 3.8 or higher\n- An existing Pelican site\n- Basic familiarity with command-line tools\n\n## How to install\n\n### Using uv (recommended)\n\n    uv add pelican-to-sqlite\n\n### Using pip\n\n    pip install pelican-to-sqlite\n\n## Usage\n\n### Configure the Plugin\n\nAfter installing, add the plugin to your Pelican configuration file (`pelicanconf.py`):\n\n```python\nPLUGINS = ['pelican_to_sqlite']\n```\n\n### Generate the Database\n\nRun your Pelican build command to create the SQLite database:\n\n```bash\nmake html\n```\n\nThis creates a SQLite database called `pelican.db` in the root of your Pelican site, containing all your post data.\n\n### Add Search to Your Site\n\nAdd a search form to your `base.html` template (or similar template depending on your theme). Here's an example using [Tailwind CSS](https://tailwindcss.com):\n\n```html\n\u003csection class=\"relative h-8\"\u003e\n    \u003csection class=\"absolute inset-y-0 right-10 w-128\"\u003e\n        \u003cform class=\"pl-4\" action=\"your-action-link-here\" method=\"get\"\u003e\n            \u003clabel for=\"site-search\"\u003eSearch the site:\u003c/label\u003e\n            \u003cinput type=\"search\" id=\"site-search\" name=\"text\"\n                   aria-label=\"Search through site content\"\u003e\n            \u003cbutton class=\"rounded-full w-16 hover:bg-blue-300\"\u003eSearch\u003c/button\u003e\n        \u003c/form\u003e\n    \u003c/section\u003e\n\u003c/section\u003e\n```\n\nReplace `your-action-link-here` with the URL from your deployed Datasette instance (see deployment section below).\n\n## Deploy using Vercel\n\nYou can deploy your SQLite database with Datasette using several methods. Below is a guide for deploying with Vercel.\n\n\u003e **Note**: The `datasette-publish-vercel` plugin may have limited maintenance. Consider alternative deployment methods like [Datasette Cloud](https://www.datasette.cloud/) or manual Vercel deployment if you encounter issues.\n\nFirst, install `datasette` using uv (or pip)\n\n```\nuv add datasette\n# or: pip install datasette\n```\n\nNext, install the datasette plugin `datasette-publish-vercel` using uv (or pip)\n\n```\nuv add datasette-publish-vercel\n# or: pip install datasette-publish-vercel\n```\n\nand the [Vercel CLI](https://vercel.com/cli)\n\nRun `vercel login` to log in to (or create) an account.\n\nPublish your `pelican.db` to Vercel by running:\n\n```bash\ndatasette publish vercel pelican.db\n```\n\nFor additional publishing options, see the [datasette-publish-vercel documentation](https://github.com/simonw/datasette-publish-vercel/blob/main/README.md).\n\n## Using with Datasette\n\nThe SQLite database produced by this tool is designed to be browsed using [Datasette](https://datasette.readthedocs.io/). For a detailed implementation guide, see the blog post [Adding Search to My Pelican Blog with Datasette](https://www.ryancheley.com/2022/01/16/adding-search-to-my-pelican-blog-with-datasette/).\n\n## Getting Help\n\n- **Issues**: Report bugs or request features via [GitHub Issues](https://github.com/ryancheley/pelican-to-sqlite/issues)\n- **Questions**: For general questions about usage, please open a [GitHub Discussion](https://github.com/ryancheley/pelican-to-sqlite/discussions)\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.\n\n## License\n\nThis project is licensed under the Apache 2.0 License - see the [LICENSE](https://github.com/ryancheley/pelican-to-sqlite/blob/main/LICENSE) file for details.\n\n## Author\n\nCreated by [Ryan Cheley](https://www.ryancheley.com)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fryancheley%2Fpelican-to-sqlite","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fryancheley%2Fpelican-to-sqlite","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fryancheley%2Fpelican-to-sqlite/lists"}