Wiki do GitHub: Índice

Assim que comecei a usar o Wiki do GitHub a sério, percebi que não há uma maneira fácil de gerar um índice analítico com base em uma lista de arquivos dentro de um diretório.

Ao fazer um novo GitHub Wiki, geralmente o que faço é entrar na linha de comando e começar a criar arquivos vazios, que são basicamente marcadores de posição para coisas nas quais preciso trabalhar.

Você provavelmente está se perguntando: Mas Mario, por que você simplesmente não faz [[SomethingThatDoesntExist]]? Isso o destacará como vermelho (inexistente).

A razão para isso é que preciso controlar manualmente o conteúdo do diretório e atualizar os arquivos manualmente. Quem tem tempo para isso? Eu não.

Então, digamos que temos a seguinte estrutura de diretório:

Something.wiki/
SomeSubject/
1.-Interesting-Subject.md
2.-Interesting-Subject.md
3.-Interesting-Subject.md
SomeSubject.md

Onde SomeSubjectcontém todos os arquivos que você deseja ter no Índice e o arquivo SomeSubject.mdé o arquivo que conterá o Índice.

TOC="SomeSubject"; ls -l $TOC | awk 'NF >= 7 { sub(/.md/, "", $9); sub(/-/, " ", $9); printf("* [[%s]]%sn", $9, ($5 == 0) ? " (PENDING)" : ""); }' > $TOC.md

Esse comando irá gerar o seguinte:

* [[1. Interesting Subject]] (PENDING)
* [[2. Interesting Subject]] (PENDING)
* [[3. Interesting Subject]] (PENDING)

Como você pode ver, no final (PENDING)é adicionado. Este é um sinalizador que indica que o arquivo está vazio ( 0 bydes).

E aí está, uma maneira fácil de fazer um índice em wikis do GitHub.