When using the dedicated feature in Memos' user settings to export all memos to Markdown files inside a ZIP folder, the output doesn't feature any kind of distinction for memos by their set visibility. While this is not a big issue for personal backups, it can reveal itself problematic if exporting the data to share it with other people, or maybe deploy to a static site generator, because there is nothing in the files that distinguishes public memos from private or workspace-restricted ones. This pull request simply modifies the ExportMemos server function, to add the Visibility status to the end of every exported file name inside the ZIP, right after the date (which is left intact). For example, the file for a public memo would now be called: `YYYY-MM-DDThh:mm:ss+hh:mm-PUBLIC.md`. An alternative solution would have been to write this information in a YAML header at the beginning of every Markdown file, but, since those are not used anywhere else in the software, I decided to stick with what is already used for export metadata, the filename. |
9 months ago | |
---|---|---|
.github | ||
bin/memos | ||
docs | ||
internal | ||
plugin | ||
proto | ||
scripts | ||
server | 9 months ago | |
store | ||
test | ||
web | ||
.dockerignore | ||
.gitignore | 10 months ago | |
.golangci.yaml | ||
.goreleaser.yaml | ||
CODEOWNERS | ||
Dockerfile | ||
LICENSE | ||
README.md | ||
SECURITY.md | ||
go.mod | ||
go.sum |
README.md

A privacy-first, lightweight note-taking service. Easily capture and share your great thoughts.
Home Page • Blogs • Docs • Live Demo
Key points
- Open source and free to use. Embrace a future where creativity knows no boundaries with our open-source solution. All features are free to use and will never be charged in any form or content.
- Self-hosting with Docker in just seconds. Enjoy the flexibility, scalability, and ease of setup that Docker provides, allowing you to have full control over your data and privacy.
- Pure text with added Markdown support. Say goodbye to the overwhelming mental burden of rich formatting and embrace a minimalist approach.
- Customize and share your notes effortlessly. With our intuitive sharing features, you can easily collaborate and distribute your notes with others.
- RESTful API for third-party services. Embrace the power of integration and unleash new possibilities with our RESTful API support.
Deploy with Docker in seconds
docker run -d --name memos -p 5230:5230 -v ~/.memos/:/var/opt/memos neosmemo/memos:stable
[!NOTE] This command is only applicable for Unix/Linux systems. For Windows, please refer to the detailed documentation.
The
~/.memos/
directory will be used as the data directory on your local machine, while/var/opt/memos
is the directory of the volume in Docker and should not be modified.
Learn more about other installation methods.
Contribution
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. We greatly appreciate any contributions you make. Thank you for being a part of our community! 🥰
Internationalization
Memos supports multiple languages. You can help us translate Memos into your language. We use Weblate to manage translations.

Star history
Other projects
- Slash: An open source, self-hosted bookmarks and link sharing platform. Save and share your links very easily.
- Gomark: A markdown parser written in Go for Memos. And its WebAssembly version is also available.