Skip to content

MarkTodo

Markdown todos, designed for mobile. - This plugin has not been manually reviewed by Obsidian staff.

The above warnings are based on limited information and might not always be accurate.

Data

IDmarktodo
AuthorIsaiah Centifanto
Minimum Obsidian Version1.11.0
Official Release Date2026-09-19
Last update2026-10-26

Last Refresh

Obsidian Stats last refreshed the data behind this page on Oct 27, 2026.

Community plugin snapshotOct 26, 2026
Repository clonelast successful checkout Oct 27, 2026
Release acquisitionrelease metadata checked Oct 27, 2026; latest main.js acquired

Quick Links

Changes

DateChanged PropertyOld ValueNew Value
2026-09-19Plugin Added
2026-09-19descriptionManage todos and projects in plain Markdown, minimal by default and powerful on demand. - This plugin has not been manually reviewed by Obsidian staff.Markdown todos, designed for mobile. - This plugin has not been manually reviewed by Obsidian staff.

Repository Data

LicenseGPL-3.0-or-later in package.json
GPL-3.0 in LICENSE file
Package Managerpnpm
Uses TypescriptYes
Installed BundlersVite, esbuild
Installed Testing FrameworksVitest
Has Test FilesYes
Latest Release main.js Size284 KB
Detected ES VersionES2020
Probably MinifiedYes
main.js API Findings18 disclosures
Uses BRAT beta releasesNo
Dependenciessvelte-dnd-action
Dev Dependencies@codemirror/state, @codemirror/view, @eslint/js, @eslint/json, @types/node, esbuild, esbuild-svelte, eslint, eslint-plugin-obsidianmd, obsidian, svelte, svelte-check, svelte-preprocess, tslib, typescript, typescript-eslint, vite, vitest

main.js API Findings

These findings come directly from Glass Lint's JavaScript and Obsidian rule catalogs applied to the latest release main.js. The confidence column is Glass Lint's definite/possible match certainty.

DisclosureRule Descriptions
Browser Environment AccessReads browser environment data
Codemirror IntegrationUses CodeMirror extension primitives
Editor BehaviorRegisters editor extensions, Registers editor suggestions
Full Vault AccessEnumerates vault files
Global Handlers Or TimersRegisters global input handlers
Lifecycle EventsRegisters Obsidian lifecycle events
Markdown ProcessingRegisters markdown postprocessors, Uses markdown link helpers
Metadata AccessExtracts tags, links, embeds, blocks, or headings, Reads Obsidian metadata cache, Reads cached frontmatter, Registers metadata cache events, Updates frontmatter through Obsidian APIs
Network AccessConstructs or references URLs
Platform BranchingChecks Obsidian platform flags
Plugin Storage AccessReads or writes app-scoped storage and secrets, Reads plugin data, Writes plugin data
Process Or Shell AccessReads Node process environment or platform metadata
User Interface AccessRegisters Obsidian views, Registers commands, Registers plugin settings UI, Registers ribbon icons, Uses Obsidian menus, Uses Obsidian modal UI, Uses Obsidian notices
Vault AccessAccesses Obsidian vault APIs, Registers vault events
Vault ReadReads vault files
Vault WriteMoves or copies vault files, Updates frontmatter through Obsidian APIs, Writes vault files
Workspace AccessAccesses the active file, Registers Obsidian workspace events
Workspace LayoutManages workspace leaves, Reads or writes workspace layout
FindingTypeConfidenceEvidence
Reads or writes app-scoped storage and secretsWarningDefinitemember_call of "app.saveLocalStorage"
Reads browser environment dataInfoDefinitemember_read of "navigator.userAgent"
Registers global input handlersInfoDefinitemember_call of "addEventListener" (9)
Constructs or references URLsInfoDefinitestring_contains of "https://" (50), string_contains of "http://" (2), constructor of "URL" (2)
Reads Node process environment or platform metadataInfoDefinitemember_read of "process.env"
Uses CodeMirror extension primitivesInfoDefiniteimport of "@codemirror/view", import of "@codemirror/state"
Registers editor extensionsInfoDefinitemember_call of "obsidian.Plugin"
Registers editor suggestionsInfoDefinitemember_call of "obsidian.Plugin"
Updates frontmatter through Obsidian APIsInfoDefinitemember_call of "app.fileManager.processFrontMatter" (4)
Registers Obsidian lifecycle eventsInfoDefinitemember_call of "obsidian.Plugin" (3)
Uses markdown link helpersInfoDefinitemember_call of "obsidian" (9)
Registers markdown postprocessorsInfoDefinitemember_call of "obsidian.Plugin"
Reads Obsidian metadata cacheInfoDefinitemember_call of "app.metadataCache.getFileCache" (7), member_read of "app.metadataCache" (9)
Registers metadata cache eventsInfoDefinitemember_call of "app.metadataCache.on" (4)
Extracts tags, links, embeds, blocks, or headingsInfoDefinitemember_read of "app.metadataCache.getFileCache.listItems", member_read of "app.metadataCache.getFileCache.frontmatter" (5)
Reads cached frontmatterInfoDefinitemember_read of "app.metadataCache.getFileCache.frontmatter" (5)
Checks Obsidian platform flagsInfoDefinitemember_read of "obsidian" (14)
Reads plugin dataInfoDefinitemember_call of "obsidian.Plugin"
Writes plugin dataInfoDefinitemember_call of "obsidian.Plugin"
Registers commandsInfoDefinitemember_call of "obsidian.Plugin" (16)
Uses Obsidian menusInfoDefinitemember_call of "obsidian.Menu" (20)
Uses Obsidian modal UIInfoDefiniteclass of "obsidian.Modal" (7)
Uses Obsidian noticesInfoDefiniteconstructor of "obsidian.Notice" (48)
Registers ribbon iconsInfoDefinitemember_call of "obsidian.Plugin"
Registers plugin settings UIInfoDefiniteclass of "obsidian.PluginSettingTab", member_call of "obsidian.Plugin"
Accesses Obsidian vault APIsInfoDefinitemember_read of "app.vault" (35)
Enumerates vault filesInfoDefinitemember_call of "app.vault.getMarkdownFiles" (2), member_call of "app.vault.getAbstractFileByPath" (19)
Registers vault eventsInfoDefinitemember_call of "app.vault.on" (6)
Moves or copies vault filesInfoDefinitemember_call of "app.fileManager.renameFile" (3)
Reads vault filesInfoDefinitemember_call of "app.vault.cachedRead", member_call of "app.vault.read"
Writes vault filesInfoDefinitemember_call of "app.vault.createFolder" (4), member_call of "app.vault.process" (11), member_call of "app.vault.create"
Registers Obsidian viewsInfoDefinitemember_call of "obsidian.Plugin" (5)
Accesses the active fileInfoDefinitemember_call of "app.workspace.getActiveFile" (3)
Registers Obsidian workspace eventsInfoDefinitemember_call of "app.workspace.on" (7)
Reads or writes workspace layoutInfoDefinitemember_call of "app.workspace.requestSaveLayout"
Manages workspace leavesInfoDefinitemember_call of "app.workspace.iterateAllLeaves", member_call of "app.workspace.getLeavesOfType"

The above data may not be accurate and contain errors. For more information refer to the page about data collection.

Lines of Code

The plugin has a total of 14919 lines of code. The following chart shows the lines of code split by programming language.

Downloads

The following chart shows the total number of downloads of the plugin over time. The second chart shows the delta of downloads per week, which is the number of new downloads per week. New version releases are marked with vertical lines.

Version History

VersionRelease DateNote
0.0.12026-09-20None
0.0.22026-09-20None
0.0.32026-09-20None
0.0.42026-09-20None
0.0.52026-09-20None
0.0.62026-09-20None
0.0.72026-09-20None
0.0.82026-09-21None
0.0.92026-09-21None
0.0.102026-09-21None
0.0.112026-09-23None
0.0.122026-09-23None
0.0.132026-09-23None
0.0.142026-09-24None
0.0.152026-10-27None