# Typora 1.x, the Electron app from typora.io (bundle id abnerworks.Typora). # Typora 2 keeps everything in one ~/.config/Typora folder instead: see otty.toml (since 2.0). id = "typora" since = "1.0" name = "Typora" homepage = "https://typora.io" description = "A simple yet powerful Markdown reader and editor with a seamless live preview, no split panes." icon = "https://typora.io/img/icon_256x256.png" # `typora` is the command the app documents for the shell. Its own # "Use Typora From Shell or Cmd" page: on Linux "user could run `typora` # directly in terminal"; on Windows, after adding # {typora-installed-folder}/bin/typora.exe to PATH, "you would be able to use # `typora xxx.md`"; on macOS the same page suggests # `alias typora="open -a typora"`. executables = ["typora"] [dotfiles] # Typora's user data directory is the platform's application-data directory # plus "Typora": the app's own Preferences code opens the advanced settings # with `window.Setting.userDataPath() + "/conf"` and downloads its PicGo helper # to `userDataPath() + "/picgo/…"` # (Contents/Resources/TypeMark/page-dist/static/js/Preferences*.js in the # installed app). Verified on this Mac: that resolves to # ~/Library/Application Support/Typora, which holds conf/conf.user.json and # picgo/, and which the app's own defaults domain names back in # WebKitLocalStorageDatabasePathPreferenceKey. On Windows the same directory is # %APPDATA%\Typora: the support site's "Get Logs" page says "There is a # `typora.log` under C:\Users\{username}\AppData\Roaming\Typora" and that it # sits in the theme folder's parent. So [appData], which is exactly those three # spellings, covers conf/ on every platform. # # Themes are the one place where macOS differs. The support site's About Themes # page gives the macOS folder as "/Users/{username}/Library/Application # Support/abnerworks.Typora/themes/" — named after the bundle id rather than # the app — and this Mac's `defaults read abnerworks.Typora` confirms it, with # currentThemeFolder pointing there. Windows and Linux keep themes under the # user data directory instead, which is why both spellings are listed; each # holds the same thing, the theme .css files and the *.user.css overrides the # Custom Themes page tells users to write. # # The preferences domain is ~/Library/Preferences/abnerworks.Typora.plist — # `defaults domains` lists abnerworks.Typora, the app binary contains the # literal "abnerworks.Typora.plist", and the Homebrew cask's `zap trash:` names # it beside both Application Support directories. It is where the settings # panel writes: theme choice, fonts and colours, the image-upload and export # settings, spell checking, the Markdown extension switches. paths = [ "[preferences]/abnerworks.Typora.plist", "~/Library/Application Support/abnerworks.Typora/themes/", "[appData]/Typora/conf/", "[appData]/Typora/themes/", ] # The rest of the user data directory is deliberately not listed, so there is # nothing to carve out of what is: typora.log, the Chromium profile (Cache, # GPUCache, Local Storage, Cookies), history.data and profile.data, the # draftsRecover and backups directories the "Auto Save, Version Control and # Recovery" page describes, and the downloaded picgo binary. # No whole-file credential among the paths above. Typora's licence is kept in # the app's own local storage under the user data directory # (~/Library/Application Support/Typora/LocalStorage on macOS), which is not # listed here. secret = [] # No machine_lines. The preferences file is a property list, which neither # prefix nor key_path matching can read; conf.user.json is JSON with comments, # which is not what a JSON parser reads either; and the theme folders are CSS. # The machine-local parts — the recent file list, window frames, the absolute # currentThemeFolder — all live in the plist. # Which installed build this file describes. Typora 1.x is the # abnerworks.Typora bundle on macOS (its Info.plist CFBundleIdentifier, the # same id that names the preferences domain above), Typora.exe on Windows, and # the `typora` package of the typora.io apt repository on Linux. Typora 2 kept # the Windows and Linux names, so the version number is what tells them apart. [version_from] macos = ["abnerworks.Typora"] windows = ["Typora.exe"] linux = ["typora"]