@agreatfool/obsidian-utils

obsidian utility tool, help to generate frontmatter, etc

Usage no npm install needed!

<script type="module">
  import agreatfoolObsidianUtils from 'https://cdn.skypack.dev/@agreatfool/obsidian-utils';
</script>

README

obsidian-utils

Command line tools to help obsidian stuff

Working steps

  1. Select location point
  2. Select date & edit time
  3. Fetch weather data
  4. Edit the title & slug
  5. Confirm the frontmatter generated
  6. Submit the data, then you can see the dir & md file generated

Preparation

Need to install LocateMe first:

$ brew update --verbose && brew install locateme

Use it once: $ locateme, and you will get the error:

2021-08-31 10:47:01.299 locateme[32912:640457] [error code] != kCLErrorLocationUnknown: Error Domain=kCLErrorDomain Code=1 "(null)"
2021-08-31 10:47:01.299 locateme[32912:640457] Error: Error Domain=kCLErrorDomain Code=1 "(null)"

Go to security setting panel, give the location access to locateme, then it should be working correctly:

$ locateme -f "{\"lat\":\"{LAT}\",\"lon\":\"{LON}\"}"

{"lat":"XX.234463","lon":"XXX.482957"}

This tool is using:

You will need to prepare:

  • Go to the console of amap 高德地图 to generate two keys:
    • amapWebKey: Web服务 ; used to call restful apis
    • amapJsKey: Web端(JS API); used to fetch location in embedded web component
  • Go to the console of nowapi to get:
    • nowapiAppKey: appkey ; used to call api
    • nowapiSign: sign ; used to call api

How to use

Write a config file obsidian_utils_config.yaml, it's recommended to be put in your obsidian vault dir. It's content:

amapJsKey: "..."
amapWebKey: "..."
nowapiAppKey: "..."
nowapiSign: "..."
$ obsidian-utils -d ~/Downloads/your/vault -c ~/Downloads/your/vault/obsidian_utils_config.yaml -a util
$ # OR
$ obsidian-utils -d ~/Downloads/your/vault -a index

Others

obsidian-utils help:

$ obsidian-utils -h
Usage: obsidian-utils [options]

Obsidian utility, help to generate frontmatter, etc

Options:
  -V, --version          output the version number
  -a, --action <string>  which action will be executed: util | index (default: "util")
  -d, --dest <dir>       directory of output destination
  -c, --config <path>    file path of the config yaml, example could be find at:
                         ${source_root}/config.example.yaml; required if action is "util"
  -h, --help             display help for command