| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- #/bin/bash
- # {
- # "name": "Planck",
- # "shortname": "planck",
- # "date_added": "2016-06-21T22:39:54-04:00"
- # }
- printf "[" > keyboards.json
- for project in $(find . -regex '\./keyboards/[a-z0-9_\-]+/config.h')
- do
- shortname=$(printf $project | sed -r "s/\.\/keyboards\/([a-zA-Z0-9_\-]+).*/\1/g")
- subprojects=$(find . -regex "\./keyboards/$shortname/[a-z0-9_\-]+/readme.md" | grep -vwE "keymaps")
- if [ -z "$subprojects" ]; then
- readme=$(find . -regex "\./keyboards/$shortname/readme.md")
- if [ -z $readme ]; then
- name=$shortname
- else
- name=$(head -n 1 $readme | sed -r "s/# //")
- fi
- # https://stackoverflow.com/questions/2390199/finding-the-date-time-a-file-was-first-added-to-a-git-repository
- date_added=$(git log --diff-filter=A --follow --format=%aI -- keyboards/$shortname | tail -1)
- printf "
- {
- \"name\": \"%s\",
- \"shortname\": \"%s\",
- \"date_added\": \"%s\"
- }," "$name" "$shortname" "$date_added" >> keyboards.json
- else
- for subproject in $subprojects
- do
- subproject_name=$(printf $subproject | sed -r "s/\.\/keyboards\/${shortname}\/([a-zA-Z0-9_\-]+).*/\1/g")
- readme=$(find . -regex "\./keyboards/$shortname/$subproject_name/readme.md")
- if [ -z $readme ]; then
- name=$shortname
- else
- name=$(head -n 1 $readme | sed -r "s/# //")
- fi
- # https://stackoverflow.com/questions/2390199/finding-the-date-time-a-file-was-first-added-to-a-git-repository
- date_added=$(git log --diff-filter=A --follow --format=%aI -- keyboards/$shortname/$subproject_name | tail -1)
- printf "
- {
- \"name\": \"%s\",
- \"shortname\": \"%s-%s\",
- \"date_added\": \"%s\"
- }," "$name" "$shortname" "$subproject_name" "$date_added" >> keyboards.json
- done
- fi
- done
- printf "
- ]" >> keyboards.json
|