mirror of
https://github.com/wader/fq.git
synced 2024-11-10 10:11:39 +03:00
doc: Add format links to format table
This commit is contained in:
parent
6b8867180c
commit
c15f5283c0
202
doc/formats.md
202
doc/formats.md
@ -1,4 +1,109 @@
|
|||||||
## Format specific functions
|
## Supported formats
|
||||||
|
|
||||||
|
[./formats_table.sh]: sh-start
|
||||||
|
|
||||||
|
|Name |Description |Dependencies|
|
||||||
|
|- |- |-|
|
||||||
|
|`aac_frame` |Advanced Audio Coding frame |<sub></sub>|
|
||||||
|
|`adts` |Audio Data Transport Stream |<sub>`adts_frame`</sub>|
|
||||||
|
|`adts_frame` |Audio Data Transport Stream frame |<sub>`aac_frame`</sub>|
|
||||||
|
|`apev2` |APEv2 metadata tag |<sub>`image`</sub>|
|
||||||
|
|`ar` |Unix archive |<sub>`probe`</sub>|
|
||||||
|
|`av1_ccr` |AV1 Codec Configuration Record |<sub></sub>|
|
||||||
|
|`av1_frame` |AV1 frame |<sub>`av1_obu`</sub>|
|
||||||
|
|`av1_obu` |AV1 Open Bitstream Unit |<sub></sub>|
|
||||||
|
|`avc_annexb` |H.264/AVC Annex B |<sub>`avc_nalu`</sub>|
|
||||||
|
|`avc_au` |H.264/AVC Access Unit |<sub>`avc_nalu`</sub>|
|
||||||
|
|`avc_dcr` |H.264/AVC Decoder Configuration Record |<sub>`avc_nalu`</sub>|
|
||||||
|
|`avc_nalu` |H.264/AVC Network Access Layer Unit |<sub>`avc_sps` `avc_pps` `avc_sei`</sub>|
|
||||||
|
|`avc_pps` |H.264/AVC Picture Parameter Set |<sub></sub>|
|
||||||
|
|`avc_sei` |H.264/AVC Supplemental Enhancement Information |<sub></sub>|
|
||||||
|
|`avc_sps` |H.264/AVC Sequence Parameter Set |<sub></sub>|
|
||||||
|
|[`bencode`](#bencode) |BitTorrent bencoding |<sub></sub>|
|
||||||
|
|`bsd_loopback_frame` |BSD loopback frame |<sub>`ipv4_packet`</sub>|
|
||||||
|
|[`bson`](#bson) |Binary JSON |<sub></sub>|
|
||||||
|
|`bzip2` |bzip2 compression |<sub>`probe`</sub>|
|
||||||
|
|[`cbor`](#cbor) |Concise Binary Object Representation |<sub></sub>|
|
||||||
|
|`dns` |DNS packet |<sub></sub>|
|
||||||
|
|`dns_tcp` |DNS packet (TCP) |<sub></sub>|
|
||||||
|
|`elf` |Executable and Linkable Format |<sub></sub>|
|
||||||
|
|`ether8023_frame` |Ethernet 802.3 frame |<sub>`ipv4_packet`</sub>|
|
||||||
|
|`exif` |Exchangeable Image File Format |<sub></sub>|
|
||||||
|
|`flac` |Free Lossless Audio Codec file |<sub>`flac_metadatablocks` `flac_frame`</sub>|
|
||||||
|
|`flac_frame` |FLAC frame |<sub></sub>|
|
||||||
|
|`flac_metadatablock` |FLAC metadatablock |<sub>`flac_streaminfo` `flac_picture` `vorbis_comment`</sub>|
|
||||||
|
|`flac_metadatablocks` |FLAC metadatablocks |<sub>`flac_metadatablock`</sub>|
|
||||||
|
|`flac_picture` |FLAC metadatablock picture |<sub>`image`</sub>|
|
||||||
|
|`flac_streaminfo` |FLAC streaminfo |<sub></sub>|
|
||||||
|
|`gif` |Graphics Interchange Format |<sub></sub>|
|
||||||
|
|`gzip` |gzip compression |<sub>`probe`</sub>|
|
||||||
|
|`hevc_annexb` |H.265/HEVC Annex B |<sub>`hevc_nalu`</sub>|
|
||||||
|
|`hevc_au` |H.265/HEVC Access Unit |<sub>`hevc_nalu`</sub>|
|
||||||
|
|`hevc_dcr` |H.265/HEVC Decoder Configuration Record |<sub>`hevc_nalu`</sub>|
|
||||||
|
|`hevc_nalu` |H.265/HEVC Network Access Layer Unit |<sub></sub>|
|
||||||
|
|`icc_profile` |International Color Consortium profile |<sub></sub>|
|
||||||
|
|`icmp` |Internet Control Message Protocol |<sub></sub>|
|
||||||
|
|`id3v1` |ID3v1 metadata |<sub></sub>|
|
||||||
|
|`id3v11` |ID3v1.1 metadata |<sub></sub>|
|
||||||
|
|`id3v2` |ID3v2 metadata |<sub>`image`</sub>|
|
||||||
|
|`ipv4_packet` |Internet protocol v4 packet |<sub>`udp_datagram` `tcp_segment` `icmp`</sub>|
|
||||||
|
|`jpeg` |Joint Photographic Experts Group file |<sub>`exif` `icc_profile`</sub>|
|
||||||
|
|`json` |JSON |<sub></sub>|
|
||||||
|
|[`matroska`](#matroska) |Matroska file |<sub>`aac_frame` `av1_ccr` `av1_frame` `avc_au` `avc_dcr` `flac_frame` `flac_metadatablocks` `hevc_au` `hevc_dcr` `image` `mp3_frame` `mpeg_asc` `mpeg_pes_packet` `mpeg_spu` `opus_packet` `vorbis_packet` `vp8_frame` `vp9_cfm` `vp9_frame`</sub>|
|
||||||
|
|`mp3` |MP3 file |<sub>`id3v2` `id3v1` `id3v11` `apev2` `mp3_frame`</sub>|
|
||||||
|
|`mp3_frame` |MPEG audio layer 3 frame |<sub>`xing`</sub>|
|
||||||
|
|[`mp4`](#mp4) |MPEG-4 file and similar |<sub>`aac_frame` `av1_ccr` `av1_frame` `flac_frame` `flac_metadatablocks` `id3v2` `image` `jpeg` `mp3_frame` `avc_au` `avc_dcr` `mpeg_es` `hevc_au` `hevc_dcr` `mpeg_pes_packet` `opus_packet` `protobuf_widevine` `pssh_playready` `vorbis_packet` `vp9_frame` `vpx_ccr`</sub>|
|
||||||
|
|`mpeg_asc` |MPEG-4 Audio Specific Config |<sub></sub>|
|
||||||
|
|`mpeg_es` |MPEG Elementary Stream |<sub>`mpeg_asc` `vorbis_packet`</sub>|
|
||||||
|
|`mpeg_pes` |MPEG Packetized elementary stream |<sub>`mpeg_pes_packet` `mpeg_spu`</sub>|
|
||||||
|
|`mpeg_pes_packet` |MPEG Packetized elementary stream packet |<sub></sub>|
|
||||||
|
|`mpeg_spu` |Sub Picture Unit (DVD subtitle) |<sub></sub>|
|
||||||
|
|`mpeg_ts` |MPEG Transport Stream |<sub></sub>|
|
||||||
|
|[`msgpack`](#msgpack) |MessagePack |<sub></sub>|
|
||||||
|
|`ogg` |OGG file |<sub>`ogg_page` `vorbis_packet` `opus_packet` `flac_metadatablock` `flac_frame`</sub>|
|
||||||
|
|`ogg_page` |OGG page |<sub></sub>|
|
||||||
|
|`opus_packet` |Opus packet |<sub>`vorbis_comment`</sub>|
|
||||||
|
|`pcap` |PCAP packet capture |<sub>`link_frame` `tcp_stream` `ipv4_packet`</sub>|
|
||||||
|
|`pcapng` |PCAPNG packet capture |<sub>`link_frame` `tcp_stream` `ipv4_packet`</sub>|
|
||||||
|
|`png` |Portable Network Graphics file |<sub>`icc_profile` `exif`</sub>|
|
||||||
|
|[`protobuf`](#protobuf) |Protobuf |<sub></sub>|
|
||||||
|
|`protobuf_widevine` |Widevine protobuf |<sub>`protobuf`</sub>|
|
||||||
|
|`pssh_playready` |PlayReady PSSH |<sub></sub>|
|
||||||
|
|`raw` |Raw bits |<sub></sub>|
|
||||||
|
|`sll2_packet` |Linux cooked capture encapsulation v2 |<sub>`ether8023_frame`</sub>|
|
||||||
|
|`sll_packet` |Linux cooked capture encapsulation |<sub>`ether8023_frame`</sub>|
|
||||||
|
|`tar` |Tar archive |<sub>`probe`</sub>|
|
||||||
|
|`tcp_segment` |Transmission control protocol segment |<sub></sub>|
|
||||||
|
|`tiff` |Tag Image File Format |<sub>`icc_profile`</sub>|
|
||||||
|
|`udp_datagram` |User datagram protocol |<sub>`udp_payload`</sub>|
|
||||||
|
|`vorbis_comment` |Vorbis comment |<sub>`flac_picture`</sub>|
|
||||||
|
|`vorbis_packet` |Vorbis packet |<sub>`vorbis_comment`</sub>|
|
||||||
|
|`vp8_frame` |VP8 frame |<sub></sub>|
|
||||||
|
|`vp9_cfm` |VP9 Codec Feature Metadata |<sub></sub>|
|
||||||
|
|`vp9_frame` |VP9 frame |<sub></sub>|
|
||||||
|
|`vpx_ccr` |VPX Codec Configuration Record |<sub></sub>|
|
||||||
|
|`wav` |WAV file |<sub>`id3v2` `id3v1` `id3v11`</sub>|
|
||||||
|
|`webp` |WebP image |<sub>`vp8_frame`</sub>|
|
||||||
|
|`xing` |Xing header |<sub></sub>|
|
||||||
|
|`zip` |ZIP archive |<sub>`probe`</sub>|
|
||||||
|
|`image` |Group |<sub>`gif` `jpeg` `mp4` `png` `tiff` `webp`</sub>|
|
||||||
|
|`link_frame` |Group |<sub>`bsd_loopback_frame` `ether8023_frame` `sll2_packet` `sll_packet`</sub>|
|
||||||
|
|`probe` |Group |<sub>`adts` `ar` `bzip2` `elf` `flac` `gif` `gzip` `jpeg` `json` `matroska` `mp3` `mp4` `mpeg_ts` `ogg` `pcap` `pcapng` `png` `tar` `tiff` `wav` `webp` `zip`</sub>|
|
||||||
|
|`tcp_stream` |Group |<sub>`dns`</sub>|
|
||||||
|
|`udp_payload` |Group |<sub>`dns`</sub>|
|
||||||
|
|
||||||
|
[#]: sh-end
|
||||||
|
|
||||||
|
## Format options
|
||||||
|
|
||||||
|
Currently the only option is `force` and is used to ignore some format assertion errors. It can be used as a decode option or as a CLI `-o` option:
|
||||||
|
|
||||||
|
```
|
||||||
|
fq -d mp4 -o force=true file.mp4
|
||||||
|
fq -d raw 'mp4({force: true})' file.mp4
|
||||||
|
```
|
||||||
|
|
||||||
|
## Format functions
|
||||||
|
|
||||||
[./formats_collect.sh]: sh-start
|
[./formats_collect.sh]: sh-start
|
||||||
|
|
||||||
@ -83,100 +188,7 @@ fq -d protobuf '.fields[6].wire_value | protobuf | d'
|
|||||||
|
|
||||||
[#]: sh-end
|
[#]: sh-end
|
||||||
|
|
||||||
## Supported formats
|
|
||||||
|
|
||||||
[./formats_table.jq]: sh-start
|
## Dependency graph
|
||||||
|
|
||||||
|Name |Description |Dependencies|
|
|
||||||
|- |- |-|
|
|
||||||
|`aac_frame` |Advanced Audio Coding frame |<sub></sub>|
|
|
||||||
|`adts` |Audio Data Transport Stream |<sub>`adts_frame`</sub>|
|
|
||||||
|`adts_frame` |Audio Data Transport Stream frame |<sub>`aac_frame`</sub>|
|
|
||||||
|`apev2` |APEv2 metadata tag |<sub>`image`</sub>|
|
|
||||||
|`ar` |Unix archive |<sub>`probe`</sub>|
|
|
||||||
|`av1_ccr` |AV1 Codec Configuration Record |<sub></sub>|
|
|
||||||
|`av1_frame` |AV1 frame |<sub>`av1_obu`</sub>|
|
|
||||||
|`av1_obu` |AV1 Open Bitstream Unit |<sub></sub>|
|
|
||||||
|`avc_annexb` |H.264/AVC Annex B |<sub>`avc_nalu`</sub>|
|
|
||||||
|`avc_au` |H.264/AVC Access Unit |<sub>`avc_nalu`</sub>|
|
|
||||||
|`avc_dcr` |H.264/AVC Decoder Configuration Record |<sub>`avc_nalu`</sub>|
|
|
||||||
|`avc_nalu` |H.264/AVC Network Access Layer Unit |<sub>`avc_sps` `avc_pps` `avc_sei`</sub>|
|
|
||||||
|`avc_pps` |H.264/AVC Picture Parameter Set |<sub></sub>|
|
|
||||||
|`avc_sei` |H.264/AVC Supplemental Enhancement Information |<sub></sub>|
|
|
||||||
|`avc_sps` |H.264/AVC Sequence Parameter Set |<sub></sub>|
|
|
||||||
|`bencode` |BitTorrent bencoding |<sub></sub>|
|
|
||||||
|`bsd_loopback_frame` |BSD loopback frame |<sub>`ipv4_packet`</sub>|
|
|
||||||
|`bson` |Binary JSON |<sub></sub>|
|
|
||||||
|`bzip2` |bzip2 compression |<sub>`probe`</sub>|
|
|
||||||
|`cbor` |Concise Binary Object Representation |<sub></sub>|
|
|
||||||
|`dns` |DNS packet |<sub></sub>|
|
|
||||||
|`dns_tcp` |DNS packet (TCP) |<sub></sub>|
|
|
||||||
|`elf` |Executable and Linkable Format |<sub></sub>|
|
|
||||||
|`ether8023_frame` |Ethernet 802.3 frame |<sub>`ipv4_packet`</sub>|
|
|
||||||
|`exif` |Exchangeable Image File Format |<sub></sub>|
|
|
||||||
|`flac` |Free Lossless Audio Codec file |<sub>`flac_metadatablocks` `flac_frame`</sub>|
|
|
||||||
|`flac_frame` |FLAC frame |<sub></sub>|
|
|
||||||
|`flac_metadatablock` |FLAC metadatablock |<sub>`flac_streaminfo` `flac_picture` `vorbis_comment`</sub>|
|
|
||||||
|`flac_metadatablocks` |FLAC metadatablocks |<sub>`flac_metadatablock`</sub>|
|
|
||||||
|`flac_picture` |FLAC metadatablock picture |<sub>`image`</sub>|
|
|
||||||
|`flac_streaminfo` |FLAC streaminfo |<sub></sub>|
|
|
||||||
|`gif` |Graphics Interchange Format |<sub></sub>|
|
|
||||||
|`gzip` |gzip compression |<sub>`probe`</sub>|
|
|
||||||
|`hevc_annexb` |H.265/HEVC Annex B |<sub>`hevc_nalu`</sub>|
|
|
||||||
|`hevc_au` |H.265/HEVC Access Unit |<sub>`hevc_nalu`</sub>|
|
|
||||||
|`hevc_dcr` |H.265/HEVC Decoder Configuration Record |<sub>`hevc_nalu`</sub>|
|
|
||||||
|`hevc_nalu` |H.265/HEVC Network Access Layer Unit |<sub></sub>|
|
|
||||||
|`icc_profile` |International Color Consortium profile |<sub></sub>|
|
|
||||||
|`icmp` |Internet Control Message Protocol |<sub></sub>|
|
|
||||||
|`id3v1` |ID3v1 metadata |<sub></sub>|
|
|
||||||
|`id3v11` |ID3v1.1 metadata |<sub></sub>|
|
|
||||||
|`id3v2` |ID3v2 metadata |<sub>`image`</sub>|
|
|
||||||
|`ipv4_packet` |Internet protocol v4 packet |<sub>`udp_datagram` `tcp_segment` `icmp`</sub>|
|
|
||||||
|`jpeg` |Joint Photographic Experts Group file |<sub>`exif` `icc_profile`</sub>|
|
|
||||||
|`json` |JSON |<sub></sub>|
|
|
||||||
|`matroska` |Matroska file |<sub>`aac_frame` `av1_ccr` `av1_frame` `avc_au` `avc_dcr` `flac_frame` `flac_metadatablocks` `hevc_au` `hevc_dcr` `image` `mp3_frame` `mpeg_asc` `mpeg_pes_packet` `mpeg_spu` `opus_packet` `vorbis_packet` `vp8_frame` `vp9_cfm` `vp9_frame`</sub>|
|
|
||||||
|`mp3` |MP3 file |<sub>`id3v2` `id3v1` `id3v11` `apev2` `mp3_frame`</sub>|
|
|
||||||
|`mp3_frame` |MPEG audio layer 3 frame |<sub>`xing`</sub>|
|
|
||||||
|`mp4` |MPEG-4 file and similar |<sub>`aac_frame` `av1_ccr` `av1_frame` `flac_frame` `flac_metadatablocks` `id3v2` `image` `jpeg` `mp3_frame` `avc_au` `avc_dcr` `mpeg_es` `hevc_au` `hevc_dcr` `mpeg_pes_packet` `opus_packet` `protobuf_widevine` `pssh_playready` `vorbis_packet` `vp9_frame` `vpx_ccr`</sub>|
|
|
||||||
|`mpeg_asc` |MPEG-4 Audio Specific Config |<sub></sub>|
|
|
||||||
|`mpeg_es` |MPEG Elementary Stream |<sub>`mpeg_asc` `vorbis_packet`</sub>|
|
|
||||||
|`mpeg_pes` |MPEG Packetized elementary stream |<sub>`mpeg_pes_packet` `mpeg_spu`</sub>|
|
|
||||||
|`mpeg_pes_packet` |MPEG Packetized elementary stream packet |<sub></sub>|
|
|
||||||
|`mpeg_spu` |Sub Picture Unit (DVD subtitle) |<sub></sub>|
|
|
||||||
|`mpeg_ts` |MPEG Transport Stream |<sub></sub>|
|
|
||||||
|`msgpack` |MessagePack |<sub></sub>|
|
|
||||||
|`ogg` |OGG file |<sub>`ogg_page` `vorbis_packet` `opus_packet` `flac_metadatablock` `flac_frame`</sub>|
|
|
||||||
|`ogg_page` |OGG page |<sub></sub>|
|
|
||||||
|`opus_packet` |Opus packet |<sub>`vorbis_comment`</sub>|
|
|
||||||
|`pcap` |PCAP packet capture |<sub>`link_frame` `tcp_stream` `ipv4_packet`</sub>|
|
|
||||||
|`pcapng` |PCAPNG packet capture |<sub>`link_frame` `tcp_stream` `ipv4_packet`</sub>|
|
|
||||||
|`png` |Portable Network Graphics file |<sub>`icc_profile` `exif`</sub>|
|
|
||||||
|`protobuf` |Protobuf |<sub></sub>|
|
|
||||||
|`protobuf_widevine` |Widevine protobuf |<sub>`protobuf`</sub>|
|
|
||||||
|`pssh_playready` |PlayReady PSSH |<sub></sub>|
|
|
||||||
|`raw` |Raw bits |<sub></sub>|
|
|
||||||
|`sll2_packet` |Linux cooked capture encapsulation v2 |<sub>`ether8023_frame`</sub>|
|
|
||||||
|`sll_packet` |Linux cooked capture encapsulation |<sub>`ether8023_frame`</sub>|
|
|
||||||
|`tar` |Tar archive |<sub>`probe`</sub>|
|
|
||||||
|`tcp_segment` |Transmission control protocol segment |<sub></sub>|
|
|
||||||
|`tiff` |Tag Image File Format |<sub>`icc_profile`</sub>|
|
|
||||||
|`udp_datagram` |User datagram protocol |<sub>`udp_payload`</sub>|
|
|
||||||
|`vorbis_comment` |Vorbis comment |<sub>`flac_picture`</sub>|
|
|
||||||
|`vorbis_packet` |Vorbis packet |<sub>`vorbis_comment`</sub>|
|
|
||||||
|`vp8_frame` |VP8 frame |<sub></sub>|
|
|
||||||
|`vp9_cfm` |VP9 Codec Feature Metadata |<sub></sub>|
|
|
||||||
|`vp9_frame` |VP9 frame |<sub></sub>|
|
|
||||||
|`vpx_ccr` |VPX Codec Configuration Record |<sub></sub>|
|
|
||||||
|`wav` |WAV file |<sub>`id3v2` `id3v1` `id3v11`</sub>|
|
|
||||||
|`webp` |WebP image |<sub>`vp8_frame`</sub>|
|
|
||||||
|`xing` |Xing header |<sub></sub>|
|
|
||||||
|`zip` |ZIP archive |<sub>`probe`</sub>|
|
|
||||||
|`image` |Group |<sub>`gif` `jpeg` `mp4` `png` `tiff` `webp`</sub>|
|
|
||||||
|`link_frame` |Group |<sub>`bsd_loopback_frame` `ether8023_frame` `sll2_packet` `sll_packet`</sub>|
|
|
||||||
|`probe` |Group |<sub>`adts` `ar` `bzip2` `elf` `flac` `gif` `gzip` `jpeg` `json` `matroska` `mp3` `mp4` `mpeg_ts` `ogg` `pcap` `pcapng` `png` `tar` `tiff` `wav` `webp` `zip`</sub>|
|
|
||||||
|`tcp_stream` |Group |<sub>`dns`</sub>|
|
|
||||||
|`udp_payload` |Group |<sub>`dns`</sub>|
|
|
||||||
|
|
||||||
[#]: sh-end
|
|
||||||
|
|
||||||
![alt text](formats.svg "Format diagram")
|
![alt text](formats.svg "Format diagram")
|
||||||
|
@ -3,47 +3,57 @@
|
|||||||
def code: "`\(.)`";
|
def code: "`\(.)`";
|
||||||
def nbsp: gsub(" "; " ");
|
def nbsp: gsub(" "; " ");
|
||||||
|
|
||||||
[ {
|
def format_table:
|
||||||
name: "Name",
|
( ($doc_formats | split(" ")) as $doc_formats
|
||||||
desc: "Description",
|
| [ {
|
||||||
uses: "Dependencies"
|
name: "Name",
|
||||||
},
|
desc: "Description",
|
||||||
{
|
uses: "Dependencies"
|
||||||
name: "-",
|
},
|
||||||
desc: "-",
|
{
|
||||||
uses: "-"
|
name: "-",
|
||||||
},
|
desc: "-",
|
||||||
( formats
|
uses: "-"
|
||||||
| to_entries[]
|
},
|
||||||
| {
|
( formats
|
||||||
name: ((.key | code) + " "),
|
| to_entries[]
|
||||||
desc: ((.value.description | nbsp) + " "),
|
| {
|
||||||
uses: "<sub>\((((.value.dependencies | flatten | map(code)) | join(" "))? // ""))</sub>"
|
name:
|
||||||
}
|
( ( .key as $format
|
||||||
),
|
| if ($doc_formats | indices($format)) != [] then "[\($format | code)](#\($format))"
|
||||||
( [ formats
|
else $format | code
|
||||||
| to_entries[]
|
end
|
||||||
| . as $e
|
)
|
||||||
| select(.value.groups)
|
+ " "
|
||||||
| .value.groups[] | {key: ., value: $e.key}
|
),
|
||||||
|
desc: ((.value.description | nbsp) + " "),
|
||||||
|
uses: "<sub>\((((.value.dependencies | flatten | map(code)) | join(" "))? // ""))</sub>"
|
||||||
|
}
|
||||||
|
),
|
||||||
|
( [ formats
|
||||||
|
| to_entries[]
|
||||||
|
| . as $e
|
||||||
|
| select(.value.groups)
|
||||||
|
| .value.groups[] | {key: ., value: $e.key}
|
||||||
|
]
|
||||||
|
| reduce .[] as $e ({}; .[$e.key] += [$e.value])
|
||||||
|
| to_entries[]
|
||||||
|
| {
|
||||||
|
name: ((.key | code) + " "),
|
||||||
|
desc: "Group",
|
||||||
|
uses: "<sub>\(((.value | map(code)) | join(" ")))</sub>"
|
||||||
|
}
|
||||||
|
)
|
||||||
]
|
]
|
||||||
| reduce .[] as $e ({}; .[$e.key] += [$e.value])
|
| table(
|
||||||
| to_entries[]
|
[.name, .desc, .uses];
|
||||||
| {
|
[ ""
|
||||||
name: ((.key | code) + " "),
|
, (.[0] | . as $rc | $rc.string | rpad(" "; $rc.maxwidth))
|
||||||
desc: "Group",
|
, (.[1] | . as $rc | $rc.string | rpad(" "; $rc.maxwidth))
|
||||||
uses: "<sub>\(((.value | map(code)) | join(" ")))</sub>"
|
, .[2].string
|
||||||
}
|
, ""
|
||||||
)
|
] | join("|")
|
||||||
]
|
)
|
||||||
| table(
|
);
|
||||||
[.name, .desc, .uses];
|
|
||||||
[ ""
|
|
||||||
, (.[0] | . as $rc | $rc.string | rpad(" "; $rc.maxwidth))
|
|
||||||
, (.[1] | . as $rc | $rc.string | rpad(" "; $rc.maxwidth))
|
|
||||||
, .[2].string
|
|
||||||
, ""
|
|
||||||
] | join("|")
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
|
format_table
|
||||||
|
4
doc/formats_table.sh
Executable file
4
doc/formats_table.sh
Executable file
@ -0,0 +1,4 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# what formats has a doc.md file
|
||||||
|
DOC_FORMATS=$(echo $(ls -1 $REPODIR/format/*/doc.md | sed "s#$REPODIR/format/\(.*\)\/doc.md#\1#"))
|
||||||
|
./formats_table.jq --arg doc_formats "$DOC_FORMATS"
|
Loading…
Reference in New Issue
Block a user