{"id":15048633,"url":"https://github.com/balder1840/memodown","last_synced_at":"2026-04-09T10:54:11.370Z","repository":{"id":236679173,"uuid":"792956024","full_name":"Balder1840/MemoDown","owner":"Balder1840","description":"memorize things down with markdown.","archived":false,"fork":false,"pushed_at":"2024-07-12T07:51:40.000Z","size":344,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-13T23:21:40.754Z","etag":null,"topics":["blazor","knowledge-base","knowledge-management","markdown","markdown-editor","markdown-preview"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Balder1840.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"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":"2024-04-28T02:53:20.000Z","updated_at":"2024-07-12T07:51:43.000Z","dependencies_parsed_at":"2024-11-19T15:43:02.453Z","dependency_job_id":null,"html_url":"https://github.com/Balder1840/MemoDown","commit_stats":null,"previous_names":["balder1840/memodown"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Balder1840%2FMemoDown","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Balder1840%2FMemoDown/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Balder1840%2FMemoDown/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Balder1840%2FMemoDown/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Balder1840","download_url":"https://codeload.github.com/Balder1840/MemoDown/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243495376,"owners_count":20299924,"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":["blazor","knowledge-base","knowledge-management","markdown","markdown-editor","markdown-preview"],"created_at":"2024-09-24T21:14:39.871Z","updated_at":"2025-12-29T11:19:59.475Z","avatar_url":"https://github.com/Balder1840.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"﻿# MemoDown\nA simple knowledge management web application supports markdown, powered by blazor.\n\n# Features\n- [x] Full markdown support powered by [cherry-markdown](https://github.com/Tencent/cherry-markdown124)\n- [x] Simple and Clean UI\n- [x] Plain markdown files are supported\n- [x] Images are supported, uploading or external\n- [x] Saving all resources to local file system\n- [x] Multiple level hierarchy sidebar \n- [x] Automatically saving\n- [x] Sync to Github\n\n# Usage\n## Build from source\n- For Windows\n```cmd\ndotnet build -c Release -r win-x64 --self-contained true\n```\n- For Linux\n```bash\ndotnet build -c Release -r linux-x64 --self-contained true\n```\n\n## Configurations\n```json\n  \"MemoDown\": {\n  \"MemoDir\": \"/path/to/markdown\", // default to C:\\Users\\[UserName]\\memo on Windows or /home/memo on Linux\n  \"AutoSavingIntervalSecond\": 30,\n  \"UploadsDir\": \"/path/to/uploads\", // default to [MemoDir]/uploads\n  \"UploadsVirtualPath\": \"request virtual path for uploads\", // default to uploads\n  \"CleanUploadsAt\": \"0 1 * * *\", linux cron expression, better before AutoSyncAt\n  \"Account\": {\n    \"UserName\": \"your user name\",\n    \"Password\": \"your password hash\"\n  },  \n  \"CloudflareTurnstile\": {\n    \"Enable\": false,\n    \"SiteKey\": \"your turnstile SiteKey\",\n    \"SecretKey\": \"your turnstile SecretKey\"\n  },\n  \"Github\": {\n    \"Enable\": false,\n    \"PAT\": \"your Personal Access Token\",\n    \"RepoName\": \"your repo to sync to\",\n    \"RepoOwner\": \"owner name of the repo\",\n    \"Branch\": \"branch name\", // default to main\n    \"EnableAutoSync\": false,\n    \"AutoSyncAt\": \"0 2 * * *\" // linux cron expression\n  }\n}\n```\n\n\u003e you may need the [password-hasher](https://github.com/Balder1840/password-hasher) to hash your password\n\n## Using docker\n- Create builder for cross-platform docker building (optional)\n```bash\ndocker buildx create --driver-opt default-load=true --name=container --use\ndocker buildx inspect --bootstrap container\n```\n\n- Build docker image (optional)\n  - Push to docker hub\n    ```bash\n    docker buildx build --platform=linux/amd64,linux/arm64 --push --builder=container -t balder1840/memo-down:v1.0.1 .\n    ```\n  - Or load to local\n    ```bash\n    docker buildx build --platform=linux/amd64 --load --builder=container -t balder1840/memo-down:v1.0.1 .\n    ```\n\n- Use the image\n```docker\n  docker run -d \\\n  --name memodown \\\n  -p 8080:8080 \\\n  -e MemoDown__Account__UserName=your_user_name \\\n  -e MemoDown__Account__Password=your_password_hash \\\n  -v ~/memo:/memo \\\n  balder1840/memo-down:tagname \\\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbalder1840%2Fmemodown","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbalder1840%2Fmemodown","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbalder1840%2Fmemodown/lists"}