Skip to content

syui/xq

Folders and files

NameName
Last commit message
Last commit date

Latest commit

author
syui
May 17, 2020
776931f · May 17, 2020

History

33 Commits
May 17, 2020
May 17, 2020
Mar 5, 2020
May 17, 2020
May 17, 2020
May 17, 2020

Repository files navigation

xq converts xml to json.

install

$ go get -v github.com/syui/xq

archlinux aur package

$ sudo pacman -S go-pie
$ yay -S xq

if you use go instead of go-pie

PKGBUILD

- makedepends=('go-pie')
+ makedepends=('go')

download

https://github.com/syui/xq/releases

use

$ xq /path/to/rss.xml
[{"title":"Creating a new theme","link":"https://syui.gitlab.io/test-hugo-theme-wave/2016/01/01/creating-a-new-theme/","date":"2018-01-16T00:00:00.000+09:00"}, {"title":"Archive","link":"https://syui.gitlab.io/test-hugo-theme-wave/archive/","date":"2018-01-16T00:00:00.000+09:00"}]

$ xq /path/to/rss.xml|jq .
[
  {
    "title": "Creating a new theme",
    "link": "https://syui.gitlab.io/test-hugo-theme-wave/2016/01/01/creating-a-new-theme/",
    "date": "2018-01-16T00:00:00.000+09:00"
  }
]

build

$ git clone https://github.com/syui/xq
$ cd xq
$ go build -o xq
$ ./xq h

example

$ curl -sLO https://syui.cf/hugo-theme-air/index.xml

$ xq ./index.xml
[{"title":"Creating a new theme","link":"https://syui.gitlab.io/test-hugo-theme-wave/2016/01/01/creating-a-new-theme/","date":"2018-01-16T00:00:00.000+09:00"}, {"title":"Archive","link":"https://syui.gitlab.io/test-hugo-theme-wave/archive/","date":"2018-01-16T00:00:00.000+09:00"}]

$ xq i index.xml
[{
  "title": "Creating a new theme",
  "link": "https://syui.gitlab.io/test-hugo-theme-wave/2016/01/01/creating-a-new-theme/",
  "date": "2018-01-16T00:00:00.000+09:00"
}]

# latest update
$ xq u index.xml
2018-01-23T00:00:00.000+09:00

# latest post
$ xq p index.xml
2018-01-16T00:00:00.000+09:00

# latest item link
$ xq latest link index.xml
https://syui.gitlab.io/test-hugo-theme-wave/2016/01/01/creating-a-new-theme/

# latest item title
$ xq l t index.xml
Creating a new theme

# latest item publish
$ xq l p index.xml
2018-01-16T00:00:00.000+09:00

# latest item description
$ xq l d index.xml

# latest item author
$ xq l a index.xml

convert md to json{body}.

$ cat index.txt
### :emoji: test
markdown "json".

$ xq j index.txt
{"body":"### :emoji: test\n```sh\ncode\n```\nmarkdown \"json\".\n"}

update

  • 0.2.0 : urfave/cli/v2

  • 0.2.1 : option/[a]ll

  • 0.2.2 : option/[p]ublish

  • 0.2.3 : fix option/[i]tem

  • 0.2.4 : option/none, $ xq file.xml

  • 0.3.0 : option/[l]atest, sub-command/{link, title, published, description}, $ xq l link ./index.xml

  • 0.3.1 : fix version, $ xq -v

  • 0.3.2 : add alias sub-command, $ xq l d ./index.xml

  • 0.3.3 : change option/all, $ xq a ./index.xml

  • 0.3.4 : change option/update -> latest, $ xq latest ./index.xml

  • 0.3.5 : add sub-command -> author, $ xq latest author ./index.xml

  • 0.3.6 : add option/json, $ xq json ./index.txt