MARKOPOLIS
Dark mode

Welcome to Markopolis

markdown
webapp
API

Introduction

Hi,
I’m Rishikanth, and I’m excited to introduce you to Markopolis! It’s a web app and API server I built that lets you easily share your Markdown notes as websites while giving you full control to interact with and manage your Markdown files via a powerful API. Just point Markopolis to a folder with your Markdown files, and it’ll handle the rest. The idea is to help you create your own tools and features around your notes without being tied down by proprietary systems. It’s completely open-source and free under the MIT License. Check out the GitHub repo and start exploring!

TLDR: Self-hosted Obsidian publish with an API to extend functionality.

Features

  • Simple Deployment: Extremely easy to deploy, configure, and use.
  • REST API Interface: Provides a REST API to interact with different Markdown elements in your notes.
  • Customizable UI: Supports "bring your own user interface" by using Markopolis as a backend.
  • Obsidian Markdown Flavor: Stays close to the Obsidian Markdown flavor and supports backlinks, todos, LaTeX equations, code, tables, callouts etc.
  • Instant Rendering: Uses a single command to push Markdown notes to the server and instantly renders them as simple webpages.
  • Full Text Search: Implements full text search.
  • Dark and Light Modes: Supports both dark and light modes.
  • Low Maintenance: Requires very little to no maintenance.
  • Docker Support: Comes as a deployable Docker image.
  • API Documentation: Inbuilt API documentation generated using FastAPI.

and lots more to come. Checkout the Roadmap page for planned features.

Demo

This website is hosted using Markopolis and showcases a small collection of Markdown notes to highlight the essential features. I have tried to incorporate content here to showcase different features. Take a look at the Markdown Syntax page for checking out how different markdown syntax is rendered.

Thank you for considering Markopolis for your Markdown note-sharing needs! If you like the project considering starring the repository.

Versioning

I try to follow semantic versioning as much as possible. However, I have still not streamlined the process yet, so please bear with me if there are any mishaps. v2.0.0 achieves code separation between backend and frontend because of which I had to fast forward the docker versioning to match the python package. Going forward I'll try to avoid such mishaps and I'll be maintaining a detailed changelog at Changelog.

This is my first open-source project and I'm excited to scale it well. I started building this mostly out of my personal need, but if there's public interest I'm more than happy to accept feature requests and contributions. Any and all feedback is welcome. This project will always be open-source and maintained as I rely on it for my own notes system.

If you like the project please don't forget to star the github repo.