Compare commits
2 Commits
keyboards_
...
keyboard_i
Author | SHA1 | Date | |
---|---|---|---|
|
993427e58b | ||
|
1b4b5e5c66 |
62
docs/keyboard_identifiers.md
Normal file
62
docs/keyboard_identifiers.md
Normal file
@@ -0,0 +1,62 @@
|
||||
# Keyboard Identifiers
|
||||
|
||||
|Keyboard|Vendor ID|Product ID|Device Ver|
|
||||
| ------ |--------:| --------:| --------:|
|
||||
|alps64|0xFEED|0x6464|0x0001|
|
||||
|amj40|0xFEED|0x6072|0x0002|
|
||||
|amj60|0xFEED|0x6066|0x0001|
|
||||
|amjpad|0xFEED|0x6060|0x0003|
|
||||
|atomic|0xFEED|0x6060|0x0001|
|
||||
|atreus|0xFEED|0x6060|0x0001|
|
||||
|atreus62|0xFEED|0x6062|0x0001|
|
||||
|bananasplit|0xFEAE|0x8870|0x0001|
|
||||
|bantam44|0xFEED|0x6060|0x0001|
|
||||
|chibios_test|0xFEED|0x6464|0x0001|
|
||||
|clueboard|0xC1ED|rev1: 0x2301<br />rev2: 0x2320<br />|rev1: 0x0003<br />rev2: 0x0001<br />|
|
||||
|cluecard|0xC1ED|0x2330|0x0001|
|
||||
|cluepad|0xC1ED|0x2312|0x0001|
|
||||
|deltasplit75|v2: 0xFEED<br />|v2: 0x3060<br />|v2: 0x0001<br />|
|
||||
|dk60|0xFEED|0x6060|0x0001|
|
||||
|eco|0x1337|0x6006|rev1: 0x0001<br />rev2: 0x0002<br />|
|
||||
|ergodox|ez: 0xFEED<br />infinity: 0xFEED<br />|ez: 0x1307<br />infinity: 0x6464<br />|ez: 0x0001<br />infinity: 0x0001<br />|
|
||||
|frosty_flake|0xFEED|0x6060|0x0001|
|
||||
|gh60|0xFEED|0x6060|0x0001|
|
||||
|gherkin|0xFEED|0x6060|0x0001|
|
||||
|gonnerd|0xFEED|0x6060|0x0001|
|
||||
|hadron|0xFEED|0x6060|ver0: 0x0001<br />ver2: 0x0002<br />|
|
||||
|hhkb|0xFEED|0xCAFE|0x0104|
|
||||
|infinity60|0xFEED|0x6464|0x0001|
|
||||
|jd40|0xFEED|0x6060|0x0001|
|
||||
|jd45|0xFEED|0x6060|0x0001|
|
||||
|kbd75|0xFEED|0x6060|0x0001|
|
||||
|kc60|0xFEED|0x6060|0x0001|
|
||||
|kinesis|0xFEED|alvicstep: 0x6060<br />stapelberg: 0x6060<br />|alvicstep: 0x0001<br />stapelberg: 0x0002<br />|
|
||||
|kitten_paw|0xFEED|0x6050|0x0104|
|
||||
|kmac|0xFEED|0x6050|0x0104|
|
||||
|lets_split|rev1: 0xFEED<br />rev2: 0xFEED<br />|rev1: 0x3060<br />rev2: 0x3060<br />|rev1: 0x0001<br />rev2: 0x0001<br />|
|
||||
|m10a|0xFEED|0x0007|0x0001|
|
||||
|maxipad|0xFEED|0x6060|0x0001|
|
||||
|mechmini|0x20A0|0x422D||
|
||||
|minidox|0xFEED|0x3060|rev1: 0x0001<br />|
|
||||
|mitosis|0xFEED|0x6060|0x0001|
|
||||
|miuni32|0xFEED|0x6060|0x0001|
|
||||
|nyquist|rev1: 0xCEEB<br />|rev1: 0x1156<br />|rev1: 0x0100<br />|
|
||||
|orthodox|rev1: 0xFEED<br />|rev1: 0x3060<br />|rev1: 0x0001<br />|
|
||||
|pegasushoof|0xFEED|0x6050|0x0104|
|
||||
|phantom|0xFEED|0x6060|0x0003|
|
||||
|planck|0xFEED|0x6060|rev3: 0x0003<br />rev4: 0x0004<br />|
|
||||
|preonic|0xFEED|0x6061|0x0001|
|
||||
|ps2avrGB|0x20A0|0x422D||
|
||||
|roadkit|0xFEAE|0x8846|0x0001|
|
||||
|s60_x|0xFEED|0x6060|0x0001|
|
||||
|s65_x|0xFEED|0x6060|0x0001|
|
||||
|satan|0xFEED|0x6060|0x0003|
|
||||
|sixkeyboard|0xFEED|0x6062|0x0001|
|
||||
|tada68|0xFEED|0x6060|0x0003|
|
||||
|tiger_lily|0xFEED|0x6060|0x0001|
|
||||
|tv44|0xFEAE|0x8844|0x0002|
|
||||
|uk78|0x554B|0x004E|0x0002|
|
||||
|vision_division||||
|
||||
|whitefox|0xFEED|0x0F0F|0x0001|
|
||||
|xd60|0xFEED|0x6060|0x0001|
|
||||
|xd75|0xCDCD|0x7575|0x0001|
|
312
keyboards.json
312
keyboards.json
@@ -1,312 +0,0 @@
|
||||
[
|
||||
{
|
||||
"name": "Alps64 keyboard firmware",
|
||||
"shortname": "alps64",
|
||||
"date_added": "2016-06-21T22:39:54-04:00"
|
||||
},
|
||||
{
|
||||
"name": "AMJ40 keyboard firmware",
|
||||
"shortname": "amj40",
|
||||
"date_added": "2017-07-26T12:46:04+02:00"
|
||||
},
|
||||
{
|
||||
"name": "AMJ60 keyboard firmware",
|
||||
"shortname": "amj60",
|
||||
"date_added": "2016-08-18T13:06:16+02:00"
|
||||
},
|
||||
{
|
||||
"name": "amjpad",
|
||||
"shortname": "amjpad",
|
||||
"date_added": "2016-12-31T13:19:05-05:00"
|
||||
},
|
||||
{
|
||||
"name": "Atomic",
|
||||
"shortname": "atomic",
|
||||
"date_added": "2016-06-21T22:39:54-04:00"
|
||||
},
|
||||
{
|
||||
"name": "atreus keyboard firmware",
|
||||
"shortname": "atreus",
|
||||
"date_added": "2016-06-21T22:39:54-04:00"
|
||||
},
|
||||
{
|
||||
"name": "atreus62 keyboard firmware",
|
||||
"shortname": "atreus62",
|
||||
"date_added": "2016-11-16T23:52:36-05:00"
|
||||
},
|
||||
{
|
||||
"name": "bananasplit",
|
||||
"shortname": "bananasplit",
|
||||
"date_added": "2017-08-03T03:51:34+02:00"
|
||||
},
|
||||
{
|
||||
"name": "Bantam44 keyboard firmware",
|
||||
"shortname": "bantam44",
|
||||
"date_added": "2016-06-21T22:39:54-04:00"
|
||||
},
|
||||
{
|
||||
"name": "chibios_test",
|
||||
"shortname": "chibios_test",
|
||||
"date_added": "2016-07-05T13:48:12+03:00"
|
||||
},
|
||||
{
|
||||
"name": "Clueboard 66%",
|
||||
"shortname": "clueboard",
|
||||
"date_added": "2016-06-29T16:21:41-04:00"
|
||||
},
|
||||
{
|
||||
"name": "Cluecard",
|
||||
"shortname": "cluecard",
|
||||
"date_added": "2016-08-08T16:11:54-07:00"
|
||||
},
|
||||
{
|
||||
"name": "Cluepad",
|
||||
"shortname": "cluepad",
|
||||
"date_added": "2016-06-21T22:39:54-04:00"
|
||||
},
|
||||
{
|
||||
"name": "DeltaSplit75",
|
||||
"shortname": "deltasplit75",
|
||||
"date_added": "2017-07-23T16:30:51-04:00"
|
||||
},
|
||||
{
|
||||
"name": "DK60",
|
||||
"shortname": "dk60",
|
||||
"date_added": "2017-05-07T22:56:27+02:00"
|
||||
},
|
||||
{
|
||||
"name": "ECO",
|
||||
"shortname": "eco",
|
||||
"date_added": "2017-07-04T14:14:26-04:00"
|
||||
},
|
||||
{
|
||||
"name": "Ergodox EZ",
|
||||
"shortname": "ergodox-ez",
|
||||
"date_added": "2016-07-07T22:28:28+03:00"
|
||||
},
|
||||
{
|
||||
"name": "Ergodox Infinity",
|
||||
"shortname": "ergodox-infinity",
|
||||
"date_added": "2016-07-07T22:28:28+03:00"
|
||||
},
|
||||
{
|
||||
"name": "frosty_flake keyboard firmware",
|
||||
"shortname": "frosty_flake",
|
||||
"date_added": "2017-03-18T15:38:03-07:00"
|
||||
},
|
||||
{
|
||||
"name": "#gh60 Rev C keyboard firmware",
|
||||
"shortname": "gh60",
|
||||
"date_added": "2016-06-21T22:39:54-04:00"
|
||||
},
|
||||
{
|
||||
"name": "gherkin",
|
||||
"shortname": "gherkin",
|
||||
"date_added": "2017-06-02T12:32:00+01:00"
|
||||
},
|
||||
{
|
||||
"name": "GON NerD keyboard firmware",
|
||||
"shortname": "gonnerd",
|
||||
"date_added": "2017-02-11T16:46:13+01:00"
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"shortname": "hadron",
|
||||
"date_added": "2017-07-11T13:53:50-04:00"
|
||||
},
|
||||
{
|
||||
"name": "hhkb_qmk keyboard firmware",
|
||||
"shortname": "hhkb",
|
||||
"date_added": "2016-06-21T22:39:54-04:00"
|
||||
},
|
||||
{
|
||||
"name": "Infinity 60% keyboard firmware",
|
||||
"shortname": "infinity60",
|
||||
"date_added": "2016-08-27T23:14:27+03:00"
|
||||
},
|
||||
{
|
||||
"name": "JC65",
|
||||
"shortname": "jc65",
|
||||
"date_added": "2017-08-04T16:05:10-07:00"
|
||||
},
|
||||
{
|
||||
"name": "#jd40 mkii keyboard firmware",
|
||||
"shortname": "jd40",
|
||||
"date_added": "2016-09-02T16:14:40-07:00"
|
||||
},
|
||||
{
|
||||
"name": "JD45 keyboard firmware",
|
||||
"shortname": "jd45",
|
||||
"date_added": "2016-06-21T22:39:54-04:00"
|
||||
},
|
||||
{
|
||||
"name": "kbd75",
|
||||
"shortname": "kbd75",
|
||||
"date_added": "2017-06-19T22:59:17-07:00"
|
||||
},
|
||||
{
|
||||
"name": "KC60 (version 2.0) keyboard firmware",
|
||||
"shortname": "kc60",
|
||||
"date_added": "2016-06-21T22:39:54-04:00"
|
||||
},
|
||||
{
|
||||
"name": "kinesis-advantage keyboard firmware",
|
||||
"shortname": "kinesis-alvicstep",
|
||||
"date_added": "2017-01-08T22:02:01-08:00"
|
||||
},
|
||||
{
|
||||
"name": "kinesis_stapelberg keyboard firmware",
|
||||
"shortname": "kinesis-stapelberg",
|
||||
"date_added": "2017-01-08T22:02:01-08:00"
|
||||
},
|
||||
{
|
||||
"name": "kitten_paw keyboard firmware",
|
||||
"shortname": "kitten_paw",
|
||||
"date_added": "2016-08-22T20:34:29+02:00"
|
||||
},
|
||||
{
|
||||
"name": "KMAC keyboard firmware",
|
||||
"shortname": "kmac",
|
||||
"date_added": "2017-06-04T22:13:17+02:00"
|
||||
},
|
||||
{
|
||||
"name": "Let's Split",
|
||||
"shortname": "lets_split",
|
||||
"date_added": "2016-07-05T23:27:10-04:00"
|
||||
},
|
||||
{
|
||||
"name": "m10a",
|
||||
"shortname": "m10a",
|
||||
"date_added": "2017-05-18T18:55:07-04:00"
|
||||
},
|
||||
{
|
||||
"name": "Maxipad keyboard firmware",
|
||||
"shortname": "maxipad",
|
||||
"date_added": "2016-11-10T18:19:13-05:00"
|
||||
},
|
||||
{
|
||||
"name": "mechmini",
|
||||
"shortname": "mechmini",
|
||||
"date_added": "2017-06-09T10:11:34-04:00"
|
||||
},
|
||||
{
|
||||
"name": "MiniDox",
|
||||
"shortname": "minidox",
|
||||
"date_added": "2017-07-10T00:46:19-04:00"
|
||||
},
|
||||
{
|
||||
"name": "Mitosis Keyboard Firmware",
|
||||
"shortname": "mitosis",
|
||||
"date_added": "2017-04-19T20:12:50+10:00"
|
||||
},
|
||||
{
|
||||
"name": "miuni32 keyboard firmware",
|
||||
"shortname": "miuni32",
|
||||
"date_added": "2016-11-21T08:22:14-08:00"
|
||||
},
|
||||
{
|
||||
"name": "The Nyquist Keyboard",
|
||||
"shortname": "nyquist",
|
||||
"date_added": "2017-05-29T15:37:19-04:00"
|
||||
},
|
||||
{
|
||||
"name": "QMK Firmware for 大橘子外设 (Large Orange Peripheral)'s 60% Org60 PCB",
|
||||
"shortname": "org60",
|
||||
"date_added": "2017-08-09T09:47:16-04:00"
|
||||
},
|
||||
{
|
||||
"name": "Orthodox",
|
||||
"shortname": "orthodox",
|
||||
"date_added": "2017-06-25T22:30:07-03:00"
|
||||
},
|
||||
{
|
||||
"name": "pegasushoof",
|
||||
"shortname": "pegasushoof",
|
||||
"date_added": "2016-05-29T02:48:56+02:00"
|
||||
},
|
||||
{
|
||||
"name": "Phantom keyboard firmware",
|
||||
"shortname": "phantom",
|
||||
"date_added": "2016-06-21T22:39:54-04:00"
|
||||
},
|
||||
{
|
||||
"name": "Planck",
|
||||
"shortname": "planck",
|
||||
"date_added": "2016-06-21T22:39:54-04:00"
|
||||
},
|
||||
{
|
||||
"name": "Preonic",
|
||||
"shortname": "preonic",
|
||||
"date_added": "2016-06-21T22:39:54-04:00"
|
||||
},
|
||||
{
|
||||
"name": "ps2avrGB",
|
||||
"shortname": "ps2avrGB",
|
||||
"date_added": "2017-01-21T12:30:06-05:00"
|
||||
},
|
||||
{
|
||||
"name": "roadkit keyboard firmware",
|
||||
"shortname": "roadkit",
|
||||
"date_added": "2017-02-27T21:42:25-05:00"
|
||||
},
|
||||
{
|
||||
"name": "S60-x keyboard firmware",
|
||||
"shortname": "s60_x",
|
||||
"date_added": "2017-04-30T10:48:17-04:00"
|
||||
},
|
||||
{
|
||||
"name": "S65-x keyboard firmware",
|
||||
"shortname": "s65_x",
|
||||
"date_added": "2017-06-10T21:04:16-04:00"
|
||||
},
|
||||
{
|
||||
"name": "Satan GH60 keyboard firmware",
|
||||
"shortname": "satan",
|
||||
"date_added": "2016-06-21T22:39:54-04:00"
|
||||
},
|
||||
{
|
||||
"name": "Techkeys SixKeyBoard",
|
||||
"shortname": "sixkeyboard",
|
||||
"date_added": "2016-06-21T22:39:54-04:00"
|
||||
},
|
||||
{
|
||||
"name": "TADA68 keyboard firmware",
|
||||
"shortname": "tada68",
|
||||
"date_added": "2016-09-22T23:33:22-04:00"
|
||||
},
|
||||
{
|
||||
"name": "tiger_lily keyboard firmware",
|
||||
"shortname": "tiger_lily",
|
||||
"date_added": "2017-05-07T17:23:19-04:00"
|
||||
},
|
||||
{
|
||||
"name": "tv44 keyboard firmware",
|
||||
"shortname": "tv44",
|
||||
"date_added": "2016-08-13T10:36:08-07:00"
|
||||
},
|
||||
{
|
||||
"name": "UK78",
|
||||
"shortname": "uk78",
|
||||
"date_added": "2017-08-06T22:23:40+01:00"
|
||||
},
|
||||
{
|
||||
"name": "vision_division keyboard firmware",
|
||||
"shortname": "vision_division",
|
||||
"date_added": "2016-08-20T10:26:36-05:00"
|
||||
},
|
||||
{
|
||||
"name": "WhiteFox keyboard firmware",
|
||||
"shortname": "whitefox",
|
||||
"date_added": "2017-01-03T23:41:52-08:00"
|
||||
},
|
||||
{
|
||||
"name": "QMK Firmware for XIUDI's 60% XD60 PCB",
|
||||
"shortname": "xd60",
|
||||
"date_added": "2016-12-18T15:35:03-08:00"
|
||||
},
|
||||
{
|
||||
"name": "xd75 keyboard firmware",
|
||||
"shortname": "xd75",
|
||||
"date_added": "2017-07-29T14:22:09-06:00"
|
||||
},
|
||||
]
|
@@ -1 +0,0 @@
|
||||
# Ergodox EZ
|
@@ -1 +0,0 @@
|
||||
# Ergodox Infinity
|
49
util/keyboard_identifier_generator.sh
Normal file
49
util/keyboard_identifier_generator.sh
Normal file
@@ -0,0 +1,49 @@
|
||||
#/bin/bash
|
||||
echo "# Keyboard Identifiers
|
||||
|
||||
|Keyboard|Vendor ID|Product ID|Device Ver|
|
||||
| ------ |--------:| --------:| --------:|" > docs/keyboard_identifiers.md
|
||||
for project in $(find . -regex '\./keyboards/[a-z0-9_\-]+/config.h')
|
||||
do
|
||||
keyboard_name=$(printf $project | sed -r "s/\.\/keyboards\/([a-zA-Z0-9_\-]+).*/\1/g")
|
||||
vendor_id=$(grep 'VENDOR_ID' $project | \
|
||||
tr -d '\n' | \
|
||||
sed -r "s/.*(0x[a-fA-F0-9]+).*/\1/g")
|
||||
if [ -z $vendor_id ]; then
|
||||
for subproject in $(find . -regex "\./keyboards/$keyboard_name/[a-z0-9_\-]+/config.h")
|
||||
do
|
||||
subproject_name=$(printf $subproject | sed -r "s/\.\/keyboards\/${keyboard_name}\/([a-zA-Z0-9_\-]+).*/\1/g")
|
||||
subproject_vendor_id=$(grep 'VENDOR_ID' $subproject | \
|
||||
tr -d '\n' | \
|
||||
sed -r "s/.*(0x[a-fA-F0-9]+).*/\1/g")
|
||||
vendor_id+=$(printf "%s: %s<br />" $subproject_name $subproject_vendor_id)
|
||||
done
|
||||
fi
|
||||
product_id=$(grep 'PRODUCT_ID' $project | \
|
||||
tr -d '\n' | \
|
||||
sed -r "s/.*(0x[a-fA-F0-9]+).*/\1/g")
|
||||
if [ -z $product_id ]; then
|
||||
for subproject in $(find . -regex "\./keyboards/$keyboard_name/[a-z0-9_\-]+/config.h")
|
||||
do
|
||||
subproject_name=$(printf $subproject | sed -r "s/\.\/keyboards\/${keyboard_name}\/([a-zA-Z0-9_\-]+).*/\1/g")
|
||||
subproject_product_id=$(grep 'PRODUCT_ID' $subproject | \
|
||||
tr -d '\n' | \
|
||||
sed -r "s/.*(0x[a-fA-F0-9]+).*/\1/g")
|
||||
product_id+=$(printf "%s: %s<br />" $subproject_name $subproject_product_id)
|
||||
done
|
||||
fi
|
||||
device_ver=$(grep 'DEVICE_VER' $project | \
|
||||
tr -d '\n' | \
|
||||
sed -r "s/.*(0x[a-fA-F0-9]+).*/\1/g")
|
||||
if [ -z $device_ver ]; then
|
||||
for subproject in $(find . -regex "\./keyboards/$keyboard_name/[a-z0-9_\-]+/config.h")
|
||||
do
|
||||
subproject_name=$(printf $subproject | sed -r "s/\.\/keyboards\/${keyboard_name}\/([a-zA-Z0-9_\-]+).*/\1/g")
|
||||
subproject_device_ver=$(grep 'DEVICE_VER' $subproject | \
|
||||
tr -d '\n' | \
|
||||
sed -r "s/.*(0x[a-fA-F0-9]+).*/\1/g")
|
||||
device_ver+=$(printf "%s: %s<br />" $subproject_name $subproject_device_ver)
|
||||
done
|
||||
fi
|
||||
printf "|%s|%s|%s|%s|\n" "$keyboard_name" "$vendor_id" "$product_id" "$device_ver" >> docs/keyboard_identifiers.md
|
||||
done
|
@@ -1,69 +0,0 @@
|
||||
#/bin/bash
|
||||
# {
|
||||
# "version": 1,
|
||||
# "keyboard": {
|
||||
# "keys": [{
|
||||
# "id": 0,
|
||||
# "legend": "Tab",
|
||||
# "state": {
|
||||
# "x": 0,
|
||||
# "y": 0,
|
||||
# "r": 0,
|
||||
# "rx": 0,
|
||||
# "ry": 0,
|
||||
# "w": 1,
|
||||
# "h": 1,
|
||||
# "x2": 0,
|
||||
# "y2": 0,
|
||||
# "w2": 0,
|
||||
# "h2": 0,
|
||||
# "a": 7
|
||||
# },
|
||||
# "row": 0,
|
||||
# "col": 0,
|
||||
# "keycodes": [{
|
||||
# "id": "KC_TAB",
|
||||
# "fields": []
|
||||
# }]
|
||||
# }],
|
||||
# "controller": 1,
|
||||
# "bounds": {
|
||||
# "min": {
|
||||
# "x": 0,
|
||||
# "y": 0
|
||||
# },
|
||||
# "max": {
|
||||
# "x": 12,
|
||||
# "y": 4
|
||||
# }
|
||||
# },
|
||||
# "rows": 4,
|
||||
# "cols": 12,
|
||||
# "pins": {
|
||||
# "row": ["D0", "D5", "B5", "B6"],
|
||||
# "col": ["F1", "F0", "B0", "C7", "F4", "F5", "F6", "F7", "D4", "D6", "B4", "D7"],
|
||||
# "num": null,
|
||||
# "caps": null,
|
||||
# "scroll": null,
|
||||
# "compose": null,
|
||||
# "kana": null,
|
||||
# "led": "B7",
|
||||
# "rgb": null
|
||||
# },
|
||||
# "macros": {},
|
||||
# "quantum": "void matrix_init_user(void) {\n}\n\nvoid matrix_scan_user(void) {\n}\n\nbool process_record_user(uint16_t keycode, keyrecord_t *record) {\n\treturn true;\n}",
|
||||
# "settings": {
|
||||
# "diodeDirection": 0,
|
||||
# "name": "Planck Default",
|
||||
# "bootloaderSize": 2,
|
||||
# "rgbNum": 0,
|
||||
# "backlightLevels": 3
|
||||
# }
|
||||
# }
|
||||
# }
|
||||
keyboard=$1
|
||||
subproject=$2
|
||||
keymap=$(gcc -fpreprocessed -dD -E keyboards/$keyboard/default/keymap.c)
|
||||
printf '{
|
||||
"version": 1,
|
||||
"keyboard": {
|
@@ -1,49 +0,0 @@
|
||||
#/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
|
Reference in New Issue
Block a user