`Markdown-Oxide` supports several configuration options. All can be specified in a `~/.config/moxide/settings.toml` or `.moxide.toml` file. Moxide also tries to import some settings from Obsidian directly. ^configurationinfo > [!note] > This configuration reference reflects the latest version on the main branch and may include settings not yet available in your installed version. If a setting doesn't seem to work, check that your version of Markdown Oxide is up to date. # Default Config File This contains all possible settings with brief descriptions. A bit of elaboration on the settings is included after. ```toml # Leave blank to try to import from Obsidian Daily Notes dailynote = "%Y-%m-%d" # this is akin to YYYY-MM-DD from Obsidian # Fuzzy match file headings in completions heading_completions = true # Set true if you title your notes by the first heading # Right now, if true this will cause completing a file link in the markdown style # to insert the name of the first heading in the display text area # [](file) -> [first heading of file.md](file) # If false, [](file) -> [](file) (for example) title_headings = true # Show diagnostics for unresolved links; note that even if this is turned off, # special semantic tokens will be sent for the unresolved links, allowing you # to visually identify unresolved links unresolved_diagnostics = true semantic_tokens = true # Resolve tags in code blocks tags_in_codeblocks = false # Resolve references in code blocks references_in_codeblocks = false # The folder for new files to be created in; this is relevant for the code action that creates # from an unresolved link. If not specified, it will import from your obsidian config option titled # "Default Location for new notes" -- which is "" by default too. new_file_folder_path = "" # The folder for new daily notes: this is applied for the create file for unresolved link code action # as well as the Today, Tomorrow, Yesterday, and Daily... lsp commands (including relative directives like prev, next, +N, -N) # # This is also imported from obsidian if not specified: specifically the option titled "New file location" daily_notes_folder = "" # Whether markdown links should include an extension or not # for example [File](file.md) or [File](file) include_md_extension_md_link = false # Whether wikilinks should include an extension or not (needed for Markor compatibility) # for example [[File]] or [[File.md]] include_md_extension_wikilink = false # Enable hover; this is relevant for VSCode and Zed where hover could be triggered on mouse hover # and could be annoying hover = true # Handle case in fuzzy matches: Ignore | Smart | Respect case_matching = "Smart" # Enable inlay hints inlay_hints = true # Enable transclusion, in the form of inlay hints, for embedded block links: ![[link]] # Inlay hints must be enabled block_transclusion = true # Full or Partial, for Partial, block_transclusion_length = { partial = 10 } # block_transclusion must be enabled for this to take effect block_transclusion_length = "Full" # Link file names only # Enables autocompleting by heading but inserting link to filename (instead of filename + heading) # Useful for unique notes / Zettelkasten users link_filenames_only = false # Use GitHub-style heading slugs in completions (spaces replaced with dashes) # When false (default), completions insert headings with spaces: [[file#My Heading]] # When true, completions insert headings with dashes: [[file#My-Heading]] # Note: Go-to-definition and diagnostics always resolve both forms regardless of this setting heading_slug = false # Folders to exclude from vault indexing # Files within excluded folders will not appear in completions, references, diagnostics, or other LSP features # Matching is by directory name, so excluding "Archive" will skip any directory named Archive at any depth excluded_folders = [] ``` # Daily Note Format Config Option ```toml dailynote = "{format}" ``` where format is `%Y-%m-%d` by default, unless imported from Obsidian. From Obsidian, this works as follows ![[#^1862g]] ## Relevance This is used in the following places * Generating relative date name completions with predefined relative names (`today`, `tomorrow`, `yesterday`, `next {monday,tuesday,..., sunday}`, `last {monday,tuesday,...}`) such that we get [[Features Index#^implDailyNoteComp|Daily Note Completions]] * Creating new daily notes in [[Features Index#Opening Daily Notes]] * [Creating files from unresolved references](<Features Index.md#Code Actions>) when the files match the specified format ## Date Formatting The date formatting in the config follows the rust library Chrono's formatting. The full specification can be found here: https://docs.rs/chrono/latest/chrono/format/strftime/index.html Some examples are: - Year * `%Y`: Is the four digit year * `%y`: Is the two digit year: 1979 -> 79 - Month * `%m`: Is the two digit month * `%b`: Is the abbreviated month name; 3 letters * `%B`: Full moth name or 3 letter abbreviation - Day * `%d`: Is the two digit day of month * `%e`: Is the one or two digit day of month * `%a`: 3 letter abbreviated weekday name * `%A`: Abbreviated or full weekday name Examples: * (the default) `YYYY-MM-DD` -> `%Y-%m-%d` * "1 Jan 2024" => `%d %b %Y` # Settings From Obsidian - ... ^someobsidiansettings * Daily Note: + `dailynote`: checks if you have the dailynote Obsidian plugin and translates this formatting to Markdown Oxide's date formatting ^1862g * `new_file_folder_path`: uses the specific folder for new files you set in Obsidian if you have it enabled. This is relevant to the [Create Unresolved File Code Action](<Features Index.md#^implCodeAction>) * `daily_notes_folder_path`: uses the specific folder for new daily notes you set in the Obsidian Daily Notes plugin, if you have this option enabled. This is relevant to the path for [opening daily notes](<Features Index.md#Opening Daily Notes>) and for [the code action that creates unresolved links](<Features Index.md#^implCodeAction>) if they have the `dailynote` format.