Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/agreatfool/obsidian-utils

Command line tools to help obsidian stuff
https://github.com/agreatfool/obsidian-utils

Last synced: about 2 months ago
JSON representation

Command line tools to help obsidian stuff

Awesome Lists containing this project

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](https://github.com/netj/LocateMe) first:

```bash
$ brew update --verbose && brew install locateme
```

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

```bash
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:

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

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

This tool is using:

- [amap 高德地图](https://lbs.amap.com/) as the location service
- [nowapi](https://www.nowapi.com/api/weather.today) as the weather service

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:

```yaml
amapJsKey: "..."
amapWebKey: "..."
nowapiAppKey: "..."
nowapiSign: "..."
```

```bash
$ 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:

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

Obsidian utility, help to generate frontmatter, etc

Options:
-V, --version output the version number
-a, --action which action will be executed: util | diary | index
-t, --datetime the datetime of the document to be created, format:
'YYYY-MM-DD HH:mm:ss'
-d, --dest directory of output destination
-c, --config file path of the config yaml, example could be find at:
${source_root}/config.example.yaml; required if action is
"util | diray"
-h, --help display help for command
```