diff --git a/Makefile b/Makefile index 89a2aabade..b59efce99f 100644 --- a/Makefile +++ b/Makefile @@ -1,3 +1,3 @@ index: - ls -d1 ./pages/**/* | grep .md | awk -F"." '{print $$2}' | awk -F"/" '{print $$4,$$3}' | sort > pages/index.md + @TLDRHOME=`pwd` ./scripts/build_index.rb @echo "Index rebuilt." diff --git a/pages/index.json b/pages/index.json new file mode 100644 index 0000000000..df5a251b50 --- /dev/null +++ b/pages/index.json @@ -0,0 +1 @@ +{"commands":[{"name":"ab","platform":["common"]},{"name":"ack","platform":["common"]},{"name":"ag","platform":["common"]},{"name":"alias","platform":["common"]},{"name":"apropos","platform":["common"]},{"name":"ar","platform":["common"]},{"name":"awk","platform":["common"]},{"name":"bundle","platform":["common"]},{"name":"cal","platform":["common"]},{"name":"cat","platform":["common"]},{"name":"cd","platform":["common"]},{"name":"chmod","platform":["common"]},{"name":"chown","platform":["common"]},{"name":"chsh","platform":["common"]},{"name":"cksum","platform":["common"]},{"name":"convert","platform":["common"]},{"name":"cp","platform":["common"]},{"name":"curl","platform":["common"]},{"name":"cut","platform":["common"]},{"name":"date","platform":["common"]},{"name":"deluser","platform":["common"]},{"name":"df","platform":["common"]},{"name":"diff","platform":["common"]},{"name":"dig","platform":["common"]},{"name":"echo","platform":["common"]},{"name":"electrum","platform":["common"]},{"name":"env","platform":["common"]},{"name":"exiftool","platform":["common"]},{"name":"fdupes","platform":["common"]},{"name":"ffmpeg","platform":["common"]},{"name":"find","platform":["common"]},{"name":"fswebcam","platform":["common"]},{"name":"gcc","platform":["common"]},{"name":"gem","platform":["common"]},{"name":"gifsicle","platform":["common"]},{"name":"git-add","platform":["common"]},{"name":"git-branch","platform":["common"]},{"name":"git-checkout","platform":["common"]},{"name":"git-clone","platform":["common"]},{"name":"git-commit","platform":["common"]},{"name":"git-diff","platform":["common"]},{"name":"git-init","platform":["common"]},{"name":"git-log","platform":["common"]},{"name":"git-merge","platform":["common"]},{"name":"git-push","platform":["common"]},{"name":"git-stash","platform":["common"]},{"name":"git-status","platform":["common"]},{"name":"git","platform":["common"]},{"name":"gpg","platform":["common"]},{"name":"grep","platform":["common"]},{"name":"gzip","platform":["common"]},{"name":"handbrakecli","platform":["common"]},{"name":"haxelib","platform":["common"]},{"name":"iconv","platform":["common"]},{"name":"ipcs","platform":["common"]},{"name":"kill","platform":["common"]},{"name":"less","platform":["common"]},{"name":"ln","platform":["common"]},{"name":"ls","platform":["common"]},{"name":"lsof","platform":["common"]},{"name":"man","platform":["common"]},{"name":"mkdir","platform":["common"]},{"name":"more","platform":["common"]},{"name":"mount","platform":["common"]},{"name":"mp4box","platform":["common"]},{"name":"mtr","platform":["common"]},{"name":"mv","platform":["common"]},{"name":"mysql","platform":["common"]},{"name":"mysqldump","platform":["common"]},{"name":"nc","platform":["common"]},{"name":"nmap","platform":["common"]},{"name":"node","platform":["common"]},{"name":"nohup","platform":["common"]},{"name":"npm","platform":["common"]},{"name":"passwd","platform":["common"]},{"name":"patch","platform":["common"]},{"name":"pgrep","platform":["common"]},{"name":"php","platform":["common"]},{"name":"ping","platform":["common"]},{"name":"pip","platform":["common"]},{"name":"play","platform":["common"]},{"name":"ps","platform":["common"]},{"name":"psql","platform":["common"]},{"name":"pushd","platform":["common"]},{"name":"pwd","platform":["common"]},{"name":"redis-cli","platform":["common"]},{"name":"rename","platform":["common"]},{"name":"rm","platform":["common"]},{"name":"rmdir","platform":["common"]},{"name":"rsync","platform":["common"]},{"name":"salt-call","platform":["common"]},{"name":"salt-key","platform":["common"]},{"name":"scp","platform":["common"]},{"name":"screen","platform":["common"]},{"name":"sed","platform":["common"]},{"name":"sort","platform":["common"]},{"name":"sox","platform":["common"]},{"name":"split","platform":["common"]},{"name":"srm","platform":["common"]},{"name":"ssh","platform":["common"]},{"name":"sshfs","platform":["common"]},{"name":"sudo","platform":["common"]},{"name":"svn","platform":["common"]},{"name":"tail","platform":["common"]},{"name":"tar","platform":["common"]},{"name":"tcpdump","platform":["common"]},{"name":"tee","platform":["common"]},{"name":"telnet","platform":["common"]},{"name":"time","platform":["common"]},{"name":"tldr","platform":["common"]},{"name":"tmux","platform":["common"]},{"name":"touch","platform":["common"]},{"name":"traceroute","platform":["common"]},{"name":"tree","platform":["common"]},{"name":"umount","platform":["common"]},{"name":"uname","platform":["common"]},{"name":"unzip","platform":["common"]},{"name":"useradd","platform":["common"]},{"name":"userdel","platform":["common","linux"]},{"name":"usermod","platform":["common"]},{"name":"wc","platform":["common"]},{"name":"wget","platform":["common"]},{"name":"which","platform":["common"]},{"name":"yes","platform":["common"]},{"name":"zfs","platform":["common"]},{"name":"zip","platform":["common"]},{"name":"zpool","platform":["common"]},{"name":"index","platform":["pages"]},{"name":"apt-get","platform":["linux"]},{"name":"aptitude","platform":["linux"]},{"name":"base64","platform":["linux"]},{"name":"dpkg","platform":["linux"]},{"name":"du","platform":["linux","osx"]},{"name":"emerge","platform":["linux"]},{"name":"findmnt","platform":["linux"]},{"name":"firewall-cmd","platform":["linux"]},{"name":"free","platform":["linux"]},{"name":"head","platform":["linux","osx"]},{"name":"iostat","platform":["linux"]},{"name":"ip","platform":["linux"]},{"name":"journalctl","platform":["linux"]},{"name":"locate","platform":["linux","osx"]},{"name":"md5sum","platform":["linux"]},{"name":"mdadm","platform":["linux"]},{"name":"netstat","platform":["linux"]},{"name":"pacman","platform":["linux"]},{"name":"sha1sum","platform":["linux"]},{"name":"sha224sum","platform":["linux"]},{"name":"sha256sum","platform":["linux"]},{"name":"sha384sum","platform":["linux"]},{"name":"sha512sum","platform":["linux"]},{"name":"shuf","platform":["linux"]},{"name":"shutdown","platform":["linux","osx"]},{"name":"ss","platform":["linux"]},{"name":"systemctl","platform":["linux"]},{"name":"tcpflow","platform":["linux"]},{"name":"wall","platform":["linux"]},{"name":"watch","platform":["linux"]},{"name":"wpa_cli","platform":["linux"]},{"name":"xargs","platform":["linux"]},{"name":"airport","platform":["osx"]},{"name":"brew","platform":["osx"]},{"name":"caffeinate","platform":["osx"]},{"name":"diskutil","platform":["osx"]},{"name":"drutil","platform":["osx"]},{"name":"md5","platform":["osx"]},{"name":"networksetup","platform":["osx"]},{"name":"open","platform":["osx"]},{"name":"pbcopy","platform":["osx"]},{"name":"pbpaste","platform":["osx"]},{"name":"qlmanage","platform":["osx"]},{"name":"route","platform":["osx"]},{"name":"say","platform":["osx"]},{"name":"sw_vers","platform":["osx"]},{"name":"sysctl","platform":["osx"]},{"name":"system_profiler","platform":["osx"]},{"name":"systemsetup","platform":["osx"]},{"name":"wacaw","platform":["osx"]},{"name":"xed","platform":["osx"]},{"name":"xsltproc","platform":["osx"]},{"name":"prctl","platform":["sunos"]},{"name":"prstat","platform":["sunos"]},{"name":"svcadm","platform":["sunos"]},{"name":"svccfg","platform":["sunos"]},{"name":"svcs","platform":["sunos"]}]} \ No newline at end of file diff --git a/pages/index.md b/pages/index.md deleted file mode 100644 index 5216ea5055..0000000000 --- a/pages/index.md +++ /dev/null @@ -1,189 +0,0 @@ -ab common -ack common -ag common -airport osx -alias common -apropos common -apt-get linux -aptitude linux -ar common -awk common -base64 linux -brew osx -bundle common -caffeinate osx -cal common -cat common -cd common -chmod common -chown common -chsh common -cksum common -convert common -cp common -curl common -cut common -date common -deluser common -df common -diff common -dig common -diskutil osx -dpkg linux -drutil osx -du linux -du osx -echo common -electrum common -emerge linux -env common -exiftool common -fdupes common -ffmpeg common -find common -findmnt linux -firewall-cmd linux -free linux -fswebcam common -gcc common -gem common -gifsicle common -git common -git-add common -git-branch common -git-checkout common -git-clone common -git-commit common -git-diff common -git-init common -git-log common -git-merge common -git-push common -git-stash common -git-status common -gpg common -grep common -gzip common -handbrakecli common -haxelib common -head linux -head osx -iconv common -iostat linux -ip linux -ipcs common -journalctl linux -kill common -less common -ln common -locate linux -locate osx -ls common -lsof common -man common -md5 osx -md5sum linux -mdadm linux -mkdir common -more common -mount common -mp4box common -mtr common -mv common -mysql common -mysqldump common -nc common -netstat linux -networksetup osx -nmap common -node common -nohup common -npm common -open osx -pacman linux -passwd common -patch common -pbcopy osx -pbpaste osx -pgrep common -php common -ping common -pip common -play common -prctl sunos -prstat sunos -ps common -psql common -pushd common -pwd common -qlmanage osx -redis-cli common -rename common -rm common -rmdir common -route osx -rsync common -salt-call common -salt-key common -say osx -scp common -screen common -sed common -sha1sum linux -sha224sum linux -sha256sum linux -sha384sum linux -sha512sum linux -shuf linux -shutdown linux -shutdown osx -sort common -sox common -split common -srm common -ss linux -ssh common -sshfs common -sudo common -svcadm sunos -svccfg sunos -svcs sunos -svn common -sw_vers osx -sysctl osx -system_profiler osx -systemctl linux -systemsetup osx -tail common -tar common -tcpdump common -tcpflow linux -tee common -telnet common -time common -tldr common -tmux common -touch common -traceroute common -tree common -umount common -uname common -unzip common -useradd common -userdel common -userdel linux -usermod common -wacaw osx -wall linux -watch linux -wc common -wget common -which common -wpa_cli linux -xargs linux -xed osx -xsltproc osx -yes common -zfs common -zip common -zpool common diff --git a/scripts/build_index.rb b/scripts/build_index.rb new file mode 100755 index 0000000000..48dc13a651 --- /dev/null +++ b/scripts/build_index.rb @@ -0,0 +1,25 @@ +#!/usr/bin/env ruby + +require "json" + +commands = {} + +Dir["#{ENV["TLDRHOME"]}/pages/**/*.md"].each do |file| + # "./pages/osx/xsltproc.md", + file = file.split("/") + name = file.pop().gsub(".md","") + platform = file.pop() + + unless commands.key?(name) + commands[name] = { + name: name, + platform: [platform] + } + else + commands[name][:platform] << platform + end +end + +commands = commands.map do |k,v| v end + +File.write("#{ENV["TLDRHOME"]}/pages/index.json", {commands: commands}.to_json)