[HN Gopher] Show HN: Terminal Based Wikipedia
       ___________________________________________________________________
        
       Show HN: Terminal Based Wikipedia
        
       Author : 0xfafafa
       Score  : 139 points
       Date   : 2023-03-12 13:13 UTC (9 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | fishywang wrote:
       | Looks nice but a few things are a bit confusing:
       | 
       | 1. I'm not sure what's the difference between -i and -s, they
       | seem to work the same for a few examples I tried
       | 
       | 2. It renders every paragraph in a different color, which
       | seems... unnecessary
       | 
       | 3. There's a [-] at the beginning of every paragraph which I'm
       | not sure what it is for (seems to suggest that it is to fold the
       | paragraph but I don't really see how to actually fold it).
        
       | neverrroot wrote:
       | Nice one, thank you!
        
       | bawolff wrote:
       | Wikipedia actually did something similar as an april fools joke
       | one year
       | 
       | https://en.wikipedia.org/wiki/Wikipedia:Wikipedia_Signpost/2...
       | 
       | https://meta.wikimedia.org/wiki/Telnet_gateway
        
       | lexhart wrote:
       | The execution is really nice!
       | 
       | But,there are already browsers and web guidelines to make this
       | possible without specific single purpose apps.
       | 
       | Why would I use this over for example, Lynx?
        
         | capitainenemo wrote:
         | I was kinda wondering that myself. There's so many terminal
         | based apps to keep track of, I've gotten into the habit of
         | trying to know a core set fairly well (like bash,awk,sed,grep
         | -P etc). For this sort of thing I have a dozen tabs open in w3m
         | already.                 $ alias wiki='f(){ w3m -F "https://en.
         | wikipedia.org/w/index.php?search=${1}&title=Special:Search&ns0=
         | 1"; unset -f f; }; f'       $ wiki pandas
         | 
         | This seemed to work well for me.
         | 
         | A tab to the wikipedia search page bookmarked would work well
         | too and could be used in existing w3m/lynx session.
        
           | capitainenemo wrote:
           | Oh, BTW, this sort of thing works well with any sort of site
           | that degrades gracefully/is not pure JS.                 $
           | alias crate='f(){ w3m -F "https://lib.rs/search?q=${1}";
           | unset -f f; }; f'       $ crate rocket
           | 
           | (lib.rs is a crate index using rust as the server instead of
           | javascript, and has advantage of working well with terminal
           | browsers)
        
           | Bayes7 wrote:
           | hey, off topic but can you explain or link a post which
           | explains what the benefits of the alias -> function
           | definition are over just defining the function directly?
           | Thanks!
        
             | prmoustache wrote:
             | I am puzzled as well, why not define the function and call
             | it wiki?
        
           | SoftTalker wrote:
           | This is the Unix way. You already have the tools and
           | utilities you need, just pipeline them together and make an
           | alias if it's something you need frequently.
        
         | 0xfafafa wrote:
         | I have never used Lynx personally, but just going through the
         | description of it i would say that wik also provide quick
         | introduction lookup to a desired topic. Initially i made this
         | as a personal tool just for this quick introduction lookup
         | feature as i don't wanted to hustle through a browser for a
         | just introduction search on the topic. But when made i made
         | this project public i added full info and search.
        
       | fantasticfears wrote:
       | Is there an infobox display?
        
       | supriyo-biswas wrote:
       | Why do the screenshots show some sort of syntax highlighting
       | applied to the article text?
        
         | super256 wrote:
         | Looks like syntax highlighting from the shell. (Text between
         | quotation marks being highlighted, numbers and key words like
         | "for", "and", "in", "create", "as", "or".)
        
         | 0xfafafa wrote:
         | The images were generated by carbon and it's auto syntax
         | selection must have defined the whole thing to be shell code.
         | I'll fix it in next commit. Thanks pointing it out.
        
       | davidgerard wrote:
       | cool!
       | 
       | Is this scraping the HTML pages, or fetching the wikitext through
       | the API and rendering it?
        
         | nic-waller wrote:
         | It appears to be scraping HTML pages.
         | 
         | https://github.com/yashsinghcodes/wik/blob/main/wik/info.py#...
        
       | ukuina wrote:
       | This is neat! Very useful to be able to pipe stdout to other
       | tools like command-line summarization via LLMs.
        
       | justsomehnguy wrote:
       | cat /bin/wik         #!/bin/sh         lynx
       | https://en.wikipedia.org/w/index.php?search=$1
        
         | dbtc wrote:
         | Nice, here's mine                   cat `which ddg`
         | #!/usr/bin/env sh         w3m 'https://duckduckgo.com/?q='`echo
         | $@ | sed 's/ /\+/g'`
        
         | neilv wrote:
         | Also `elinks` and `w3m`.
         | 
         | The mobile site, https://en.m.wikipedia.org/ , looks a little
         | better in them.
        
       | photochemsyn wrote:
       | Looks good. Access to the revision history for each page would be
       | a nice feature that might work well in the terminal.
        
       | snvzz wrote:
       | >beautifulsoup
       | 
       | Really? Seriously? No better way to query the source of a page
       | and render it on the terminal?
        
         | rjh29 wrote:
         | Parsing mediawiki text is insanely hard. Using HTML is a good
         | compromise.
         | 
         | See: https://github.com/spencermountain/wtf_wikipedia for more
         | information.
        
       | realworldperson wrote:
       | [dead]
        
       | xigency wrote:
       | Is there any plan for navigating sections or fetching specific
       | data from the article? For example, a command to print
       | Demographics or Population Density for a specific country.
        
       | bitigchi wrote:
       | Needs a pager, otherwise looks great!
        
         | johannes1234321 wrote:
         | But please don't build a custom pager, but use $PAGER (unless
         | this is supposed to turn into a full browser ...) so it works
         | as expected (key bindings etc )
        
           | wkat4242 wrote:
           | Indeed and it would be so much better to use termcap (eg
           | through ncurses) instead of blasting ANSI codes without
           | checking :) some of us still use terminals
        
       | HervalFreire wrote:
       | [dead]
        
       | [deleted]
        
       | pmoriarty wrote:
       | In Emacs this can be done with emacs-w3m or eww.
        
         | nvr219 wrote:
         | Everything can be done in emacs.
        
           | monista wrote:
           | Obviously, just use Alt-X butterfly ...
        
       | qwerty456127 wrote:
       | Does this work on all major platforms including Windows Terminal?
        
       | JaDogg wrote:
       | Thank you for adding the screenshots. Looks good.
        
       ___________________________________________________________________
       (page generated 2023-03-12 23:01 UTC)