Skip to content

Site Build Guide#

Obsidian#

Import#

Use instructions in [pkm-conversion-notes] to convert from OneNote, Notion, etc

Export#

  • obsidian export: export obsidian vault to markdown files

  • build

    Bash
    pushd site-tools/obsidian-export && cargo build --release && popd
    

  • run
    >
    > [!note] obsidian-export won't override existing files

    PowerShell
    mkdir "$env:EDEV_VF_TMPAPP/gdgTmpContent"
    obsidian-export/target/release/obsidian-export.exe 'docs' "$env:EDEV_VF_TMPAPP/gdgTmpContent"
    robocopy.exe "$env:EDEV_VF_TMPAPP/gdgTmpContent" 'gamedevguide/content/dev-notes' /MIR
    rmdir /s/q "$env:EDEV_VF_TMPAPP/gdgTmpContent"
    
  • deploy: Deploy to Netlify from GitHub

  • Obsidian MkDocs Publisher

  • obs2mk: python exporter to mkdocs material compatible site

  • Obsidian Github Publisher: obsidian plugin version of above
  • mkdocs-obsidian template
  • Obsidian forum thread
  • repos: related mkdocs extensions/utilities

Extensions#

Linting#

Vale#

Vale: grammar linter

  • install
    Bash
    choco install vale
    vale sync
    
Usage Syntax
disable specific rule <!-- vale gitlab.rulename = NO -->,<!-- vale gitlab.rulename = YES -->
disable all rules <!-- vale off -->/<!-- vale on -->

Markdown Lint#

Usage Scope Syntax
disable/enable rule(s) Region <!-- markdownlint-disable [RULE(S)...] -->,<!-- markdownlint-enable [RULE(S)...] -->
disable rule(s) Inline <!-- markdownlint-disable-line [RULE(S)...] -->
disable rule(s) Next line <!-- markdownlint-disable-next-line [RULE(S)...] -->
disable/enable rule(s) File <!-- markdownlint-disable-file [RULE(S)...] -->,<!-- markdownlint-enable-file [RULE(S)...] -->
capture/restore rule config Region <!-- markdownlint-capture -->,<!-- markdownlint-restore -->
  • examples
    Markdown
    <!-- markdownlint-disable MD005 no-space-in-emphasis -->
    Scope-Region: Deliberate space * in * emphasis
    <!-- markdownlint-enable MD005 no-space-in-emphasis -->
    
    Scope-Inline: Deliberate space * in * emphasis <!-- markdownlint-disable-line no-space-in-emphasis -->
    
    <!-- markdownlint-disable-next-line no-space-in-emphasis -->
    Scope-NextLine: Deliberate space * in * emphasis
    
    Temporarily disable rule(s) then restore former config:
    <!-- markdownlint-capture -->
    <!-- markdownlint-disable -->
    Any violations you want
    <!-- markdownlint-restore -->
    
    Initial config is captured by default so pattern above can be simplified:
    <!-- markdownlint-disable -->
    Any violations you want
    <!-- markdownlint-restore -->