A minimal filesystem-based publishing engine for Elixir with Markdown support and code highlighting.
NimblePublisher is a lightweight Elixir library for filesystem-based content publishing. It reads Markdown files with metadata, converts them to HTML with syntax highlighting, and builds structured data for easy integration into Elixir applications, eliminating the need for a database.
Elixir developers building blogs, documentation sites, or static content management systems within Phoenix or other Elixir applications.
Developers choose NimblePublisher for its minimal, convention-over-configuration approach that integrates seamlessly with the Elixir ecosystem, offering live reloading support in Phoenix and customizable parsing without external dependencies.
A minimal filesystem-based publishing engine with Markdown support and code highlighting
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Eliminates database dependencies by reading content directly from Markdown files, as shown in the example with `from: Application.app_dir(...)`, reducing setup complexity for static sites.
Seamlessly works with Phoenix for live reloading, with setup instructions in the README for adding patterns to `live_reload`, enhancing developer experience during content updates.
Supports custom parsers and HTML converters, allowing flexibility in metadata handling and Markdown processing, as detailed in the Custom parser and converter sections for non-standard formats.
Integrates with Makeup for code highlighting across multiple languages, with configurable highlighters and CSS generation, though it requires manual CSS setup as noted in the README.
Lacks search functionality; developers must implement custom indexing and querying, as hinted by the need for helpers like `get_post_by_id!`, adding overhead for content discovery.
Requires generating and including CSS for syntax highlighting separately, as shown in the README with `Makeup.stylesheet(...)`, which adds steps compared to drop-in solutions.
Relies on filesystem changes for updates, making it unsuitable for real-time or frequently changing content without custom tooling or external integrations.