
Text-Only Websites - lcnmrn
https://sjmulder.nl/en/textonly.html
======
hliyan
I now yearn for the old plain HTML pages with "up / next / previous" links
[1]. I used to hate how basic they were, but with "modern" web sites loading
so much JavaScript to display static content, I'm starting to see the appeal
of basic websites with no styling whatsoever.

[1]
[https://www.freesoft.org/CIE/Topics/index.htm](https://www.freesoft.org/CIE/Topics/index.htm)
\- I learned from this twenty years ago. Still relevant.

~~~
mixmastamyk
With a few lines of CSS in the head section you can have a blazing fast page
that looks elegant as well. This site is one, although I think it is a touch
too narrow. Also, headers/footers with a different background color are
pleasing.

~~~
jamesponddotco
Agreed, altough I find myself liking websites with a narrow width lately.

I have no data to back this up, but to me, it seems that when people think
about building websites without JS, they completely forget that CSS, or design
are a thing.

I am building a website for a simple API I built for my company[1] that I
thought others might want to use, and while there is no JS, that does not mean
that I just uploaded an unstyled .html file to the root of my server.

While unstyled have their own charm at times, in general, I think a little bit
of CSS, design, and inspiration goes a long way.

[1] [https://i.cpimg.sh/pwiyfpBpIKL5.png](https://i.cpimg.sh/pwiyfpBpIKL5.png)

~~~
stan_rogers
I usually use a max-width of 40rem and add 1rem padding for small
screens/windows to keep off the grass, as it were. That anchors the width to
the base text size so the line length makes basic sense, no matter what the
user font settings might be.

~~~
hliyan
This type of differences in personal preferences is precisely why I'm for
leaving pages completely unstyled...

~~~
zzo38computer
Yes, I agree. I don't like the max-width setting; it should use the width of
the window that the user has set. Same with font sizes, and usually, also
colours. (Sometimes CSS is helpful (if not overused), but for many documents
it will be much better to avoid CSS.) CSS is often what makes web pages look
bad.

~~~
stan_rogers
I generally use a full-screen browser. I _never_ want a full-screen line of
text.

~~~
zzo38computer
Does your browser have sidebars? You can add sidebars if you want to reduce
the width of the document, I suppose. (There is bookmark sidebar, history
sidebar, and web developer sidebar; what I think is missing is the table of
contents sidebar, which would list the <h1>, <h2>, etc in the current
document. Another thing that might be wanted is split-screen mode, I think.) I
personally do want a full-screen line of text, although I suppose some people
do not want.

------
lenwood
I've been thinking of migrating my blog back to text only. When I was a
student I kept a "blog" as a list of HTML files that I manually updated. I've
been using Wordpress for the past ~15 years and am growing weary of having to
keep up with plugin, theme or CMS updates. My blog is not worth this much
effort to maintain, I just want a place to share essays and occasional photos.
I need time to make the switch, but the simplicity of text only format is
attractive.

~~~
aparks517
I do something like this. You can write HTML almost as simply as text if you
ignore some current best-practice.

~~~
enriquto
Google's guidelines for HTML5 [0] are surprisingly good and concise. You can
omit most closing tags, and even many "structural" tags are implicitly opened.
This is a 100% correct and complete HTML5 document:

    
    
        <!doctype html>
        <title>Title of the document</title>
        <p>A paragraph
        <ul>
            <li>First item
            <li>Second item
        </ul>
        <p>Another paragraph
    

writing html tables by hand is especially pleasurable due to the auto-closing
tags. As I see it, modern HTML is so concise that markdown is more of a burden
than an aid. In most cases, we would be better off writing html directly than
markdown. Maybe the only thing that I miss is that an empty line creates a
paragraph tag.

[0]
[https://google.github.io/styleguide/htmlcssguide.html](https://google.github.io/styleguide/htmlcssguide.html)

~~~
madhadron
That's very cool. Do you have a good solution for inline math?

~~~
hawski
I wonder how far could one go with just Unicode symbols. Entry would probably
need a proper editor support. Additional use of sub/sup could also help.

[https://en.wikipedia.org/wiki/Mathematical_operators_and_sym...](https://en.wikipedia.org/wiki/Mathematical_operators_and_symbols_in_Unicode)

------
muhammadusman
This is great. My only feedback is that, yes you're using text only but please
don't shy away from minor CSS changes that can make the site look more
pleasant. I have been working my homepage
([https://usmanity.com](https://usmanity.com)) for years to make it minimal,
organized, and still pleasant to look at.

~~~
sjmulder
I agree minor CSS changes make sense, and you'll see I've applied some styling
for dark mode, use of serif font, maximum page width and minor other things on
specific pages.

But I've chosen not to mess with things line text size and line height. More
power to the user (agent)! Also, pleasant is in the eye of the beholder and I
like it this way.

(Added your page by the way)

------
Abishek_Muthian
Nice! This gives me more confidence on my decision to keep my websites text
only.

Please excuse the plug(feedback is welcomed)

A problem validation platform - [https://needgap.com](https://needgap.com)

Curated list of startup tools -
[https://startuptoolchain.com](https://startuptoolchain.com)

Startup/Entrepreneurial blog(Has occasional comics, but with transcription) -
[https://hitstartup.com](https://hitstartup.com)

~~~
jcpst
The first two hurt to look at. And I mean that in a literal, physical way. It
hurts my eyes. Consider some alternatives to the colors used.

~~~
mjcohen
I agree. That pink is very hard to read. Might as well use yellow on white.

~~~
Abishek_Muthian
That was on purpose, the main theme color is RED, the username was made light
to shift focus on the problem title instead of users to add friction towards
votes biased towards users.

When the users are logged in, the voting buttons get RED and you'll notice
less of the pink(Please do give it a try and let me know if it's better).

Thank you for your time.

------
hadrien01
The EU version of USA Today is not text-only, but it is damn fast, with no
trackers, no js, and a really fast CDN:
[https://eu.usatoday.com/](https://eu.usatoday.com/)

~~~
nicbou
This is exactly how websites should be. It loads astonishingly fast, page
after page, and there is nothing between me and the information.

I built my website the same way, and spent a lot of time shaving milliseconds
off and optimising readability. I wanted to create the same sort of smooth,
bullsh-- free experience.

------
veeenu
Chiming in with Piero Scaruffi's website[1]. I used to read it a decade back
and it really hasn't changed that much; the information is plentiful and
interesting, the site is fast, and it seems like he nailed down the "static
content is all that matters in the end" bit not only way before it became a
common reaction to the overencumbered web of today, but also way before the
web got overencumbered at all.

[1]
[https://www.scaruffi.com/service/aboutw.html](https://www.scaruffi.com/service/aboutw.html)

------
every
I'm a big fan of simplicity. HTML/CSS index generated by tree v1.8.0. All
content US-ASCII text files:

[https://every.sdf.org/](https://every.sdf.org/)

~~~
usr1106
I would not call US-ASCII an achievement. A majority of the world's languages
(whatever the exact metric might be...) cannot be written using using US-ASCII

Email (SMTP) was defind 7 bit and it took us 2 decades to work somewhat
reliably with other languages requiring more characters.

~~~
every
Of course it's parochial. The very name is United States-American Standard
Code for Information Interchange. It is an antique standard for teletype
machines that can still be read and decoded by everything on the planet. It is
as close to universal as anything we have. There is a reason that the first
128 decimal code characters in UTF-8 are US-ASCII...

------
sirodoht
Shameless plug for the minimalistic no-faff blogging platform I'm building:
[https://mataroa.blog/](https://mataroa.blog/)

------
strogonoff
Being pedantic, the list strikes me as poorly named. Websites listed do have
images and other media, the unique trait they have in common is very minimal
CSS (for better or for worse).

They tend to use little to no decorative images outside of main content
though, which is nice. Not to imply a list like this doesn't have the right to
exist.

~~~
sjmulder
This is right. The list started with a handful of sites that were (almost)
text-only, such as the NOS, CNN and NPR news sites, but as submissions came in
it expanded with not quite text-only sites that still espoused many of the
same values.

I intend to further curate the list soon and give proper text only sites a
more prominent place. Retro, minimal, and text-only sites aren't quite the
same.

------
bennettfeely
Not quite text only but I just launched a website with a collection of easily
copy-and-paste-able lists in plain text.

[https://copypastelist.com/](https://copypastelist.com/)

~~~
Reedx
Nice! Very usable, no nonsense. I hope Google sends you to the top for related
search results.

------
grativo
The Wiby search website is so cool! There is something really comforting and
nostalgic about text-only websites. In one of the searches I came across
Project Gutenberg Australia.
[http://gutenberg.net.au/](http://gutenberg.net.au/) Thank you for sharing
this.

------
petercooper
I should probably email Sijmen but I've been using
[https://engineeringblogs.xyz/](https://engineeringblogs.xyz/) to help me keep
track of hundreds of product/software development blogs and am keeping it as
plain as possible.

~~~
op03
Nice job. Bookmarked.

------
goodlifeodyssey
I like small simple websites like these. I especially appreciate knowing about
thin.npr.com

I don't think completely text websites have to look bad. E.g., my personal
website looks pretty good with relatively little CSS:

[https://goodlifeodyssey.com](https://goodlifeodyssey.com)

Some of the formatting is a bit sophisticated too, e.g. for block quotes of
poetry:

[https://goodlifeodyssey.com/hesiod](https://goodlifeodyssey.com/hesiod)

------
sjmulder
Ha, so nice to see this here! I was wondering were all the new submissions
were coming from. Glad to see it's appreciated!

~~~
rolleiflex
One nice thing about this is that you can use most of these sites in obsolete
devices — I have an iPad 3 with a glorious, bright retina screen, entirely
bricked by its inability to update to the latest iOS . Every day more and more
of the web is breaking on it.

This, though: [http://wttr.in](http://wttr.in), will never break. I'll tape my
old iPad to the fridge and use it as a weather screen.

------
dang
If curious see also:

2018
[https://news.ycombinator.com/item?id=17787816](https://news.ycombinator.com/item?id=17787816)

2018 (a bit)
[https://news.ycombinator.com/item?id=17921251](https://news.ycombinator.com/item?id=17921251)

2017
[https://news.ycombinator.com/item?id=13337948](https://news.ycombinator.com/item?id=13337948)

Any others?

------
djsumdog
I wanted to try out making gemini pages. I got some of the example servers,
but no where in the official gemini spec, both via http and via gemini, could
I find examples of the actual freakin gmi/gml formats!

I started up Wireshark and then remembered that the traffic is encrypted by
default ... so yea, that's not going to help.

Are there any gemini tutorial on how to make a gemini site?

~~~
stryan
I think AV-98 has a setting or function for dumping the raw results of a
gemsite.

But I think the main reason there's no example is because there's very little
to show. Just make a text document and if you need to link to something you
use the Gemini method of => URL title text

There's a few other things in the spec that are considered hints for clients
(using # as headers, * for numbered lists) but those aren't even guaranteed to
be rendered by the client as anything but plain text.

~~~
tgvaughan
So does elpher. But you don't need a dedicated client to see the raw server
response, all you need to really do is use something like 'gnutls-cli hostname
-p 1965 --no-ca-verification' and then enter the full gemini URL once you have
a connection.

------
xnx
Craigslist probably belongs on this list.

~~~
theelous3
I would also add old.reddit.com, so long as you can forgive thumbnail images.
Disabling custom css, makes the site basically hn-like.

~~~
elektor
I would love a text-only Reddit if that exists.

~~~
333c
I think [https://i.reddit.com](https://i.reddit.com) is "more text-only" even
though it does have icons and some thumbnails.

------
notJim
I'm not usually a pedant, but something about this drives my brain totally
insane. None of these websites are text only. Alternatively, all websites are
text only. Several of them even feature that unholy technology which must be
struck from the Earth according to HN: javascript. What is the line being
drawn here? You might as well call it "Websites that load very fast and have a
very plain aesthetic that I enjoy".

If I wanted a clear definition of a text only website, I'd say a text-only
website is a website which is served with a Content-type: text/plain header.
This is far from that.

~~~
sjmulder
Yeah, it's not text/plain. The list has also strayed a bit from what I
originally intended, which wasn't so much about loading quickly but more about
primarily sticking with marked up, hyperlinked text.

I do intend to reorganise the list to focus on those kinds of sites, but this
HN submission caught me by surprise so for now it's just a list of sites the
sort of match an aesthetic I like. "totally insane" is a bit harsh maybe.

------
fimdomeio
I had a dream of a text only "underground" web the other day. Then executed it
in a very poor way. If you want to check it
[https://tilde.pt/~fimdomeio/index2.html](https://tilde.pt/~fimdomeio/index2.html)

Actually A text only web as a few interesting advantages. Almost instantaneous
load even in a poor connection. Very fast development time since you throw
away so many things away.

------
simonebrunozzi
I am thinking about a little side project to launch this summer, just for fun,
and I'm very tempted to build a simple card game, like kards.com, but text-
only. I think it would be super fun, and I think that if well designed, you
don't need fancy graphics to appreciate it.

Probably going to use Javascript and angular.js, but open to suggestions. (I
used to be good at JS, never used angular so far).

------
babbledabbler
I'm working on static site generator for using plain html...

[https://findingmyhtmlgoddess.com/](https://findingmyhtmlgoddess.com/)

[https://github.com/jonascript/htmlgoddess](https://github.com/jonascript/htmlgoddess)

~~~
Madeindjs
> It will be simple as humanly possible to use. No classes, no javascript.

But README.MD start to ask me to install NPM which not beginner friendly...

------
hknapp
Finally, something I can read in Lynx.

~~~
enriquto
dude, at least use "links" or, better, "elinks"

------
okaleniuk
How about [https://wordsandbuttons.online](https://wordsandbuttons.online) ?
Sure, it uses JS for interactive visuals but all the pages are still under 64K
by design. There are very few pictures, too. Even the logo at the bottom of
pages is the reused icon file.

------
ilaksh
I really like Gemini but insisting on TLS and closing connections totally
defeats the purpose for me.

I also came up with this concept
[https://github.com/runvnc/noscriptweb](https://github.com/runvnc/noscriptweb)
which I may never actually code because of time constraints.

~~~
zzo38computer
I have not heard of Gemini before, but I tried the SSH that was linked above,
and read about it. It seems a interesting idea. I don't like insisting on TLS
either; I think that perhaps better would be like with HTTP, where the URI
scheme is different for TLS or plain, perhaps "pgemini://" for the plain
variant (the only difference, other than that there is no TLS, is that the 6x
response codes are not supported).

------
fbn79
Philosophically speaking. A text only website plus some SVG markup is still
considered a text only website?

------
bashinator
Would [https://old.reddit.com](https://old.reddit.com) count?

~~~
llacb47
Maybe even [https://i.reddit.com](https://i.reddit.com)

------
zzo38computer
I try to do text only myself. Unfortunately Fossil requires CSS (although it
does still work reasonably well with Lynx), but other stuff I write is usually
just plain text, or if HTML is needed, it rarely has CSS. I also have a gopher
server too.

------
bovermyer
My personal site is text only [1]. There is a tiny amount of JavaScript from
Plausible, but there are no web fonts and no images.

[1] [https://benovermyer.com](https://benovermyer.com)

~~~
zzo38computer
Why do you make the fonts so big?

~~~
bovermyer
Originally, it was to make the text really legible. I've been thinking about a
redesign for quite some time now, though.

------
bconnorwhite
Does this count as a text-only website?

[https://masciintosh.com/](https://masciintosh.com/)

------
oso2k
I miss things like Slashdot Ultramode. That was from the times before RSS and
other syndication methods.

------
K2L8M11N2
archive.today _isn’t_ a frontend to archive.org, it’s a completely separate
archiving site with no connection to Internet Archive whatsoever.

~~~
sjmulder
My bad, was working to hastily. Fixed.

------
sandGorgon
Are there apps which are text-only and look good ?

~~~
manuw
mutt, irssi, newsboat, vim ... ¯\\_(ツ)_/¯

~~~
jpasmore
manuw - random-ish question i saw somewhere that u were using minikeepass
which is deprecated on ios -- any suggestions? what are you thinking of using?

------
xelxebar
The rate.sx site is pretty nifty. It provides a simple REST endpoint that
server cryptocurrency exchange rate info. The nifty part is that it's built to
be used on the command line!

    
    
        $ curl rate.sx        # outputs a nifty table of coins and their market rates
        $ curl rate.sx/:help  # to see how to use the api
    

I whipped up a shell function wrapper that makes this feel more like a
standard cli command. In the off chance anyone is interested, I'm sharing it
below (unfortunately, HN turns my tabs into spaces, so indentation is now a
single space.)

Note that I was careful to not let it clutter up your environment, so feel
free to include it in your .profile with impugnity. Also, this sort of
exhibits my current experiments with terse shell style, so don't hate on me
for that, but otherwise the function should provide all the typical ergonomics
you expect of a standard cli utility.

    
    
        ratesx() (
         set -o errexit -o nounset -o noclobber
         RATESX_DOMAIN=${RATESX_DOMAIN:-rate.sx}
         RATESX_CURRENCY=${RATESX_CURRENCY:-USD}
         RATESX_NROWS=${RATESX_NROWS:-10}
         RATESX_FETCH_CMD=${RATESX_FETCH_CMD:-curl --silent}
        
         usage=$(cat <<-USAGE
         usage: ratesx [<options>] [<command> <arguments>]
        
         Show information about cryptocurrencies. Command defaults to 'table'.
        
         Commands
           graph <coin> [<interval>]
             Display exchange rate graph for <coin> over <interval> (defaults to
             \$RATESX_CURRENCY hours)
        
           value <amount> <coin> [<amount> <coin>] ..]
             Convert sum of <amount>*<coin> to <currency> (defaults to
             \$RATESX_NROWS).
        
           table         Display table of top coins by market capitalization
           coins         Show list of supported cryptocurrency coins
           currencies    Show list of supported currencies
           info          Show upstream API info
        
         Options
           -q             Quiet mode. Hide header and footer
           -F             Hide "Follow" line
           -T             Disable ANSI color
           -n <nrows>     Number of currencies (rows) to display in output table
           -c <currency>  Base currency for exchange rate calculations
           -d <domain>    Use API endpoint located at <domain>
        
         Variables
           RATESX_DOMAIN=$RATESX_DOMAIN
             Default domain name of API endpoint
           RATESX_NROWS=$RATESX_NROWS
             Default count of rows to display in output table
           RATESX_CURRENCY=$RATESX_CURRENCY
             Default base currency for unit conversions
           RATESX_FETCH_CMD=$RATESX_FETCH_CMD
             Default command with which to submit API requests
         USAGE
         )
        
         fetch() { $RATESX_FETCH_CMD "$@"; }
         table() { fetch "$1/${2:+?$2}"; }
         graph() { fetch "$1/$4${5:+@$5}${2:+?$2}"; }
         value() { u=$1; o=$2; c=$3; shift 3; p=0
          for v in "$@"; do
           p=$((p^1)); [ $p = 1 ] && r="${r:+$r+}"; r="${r:-}$v"
          done
          printf '%s %s\n' "$(fetch "$u/$r${o:+?$o}")" "$c"
         }
         info() { fetch "$1/:help"; }
         currencies() { fetch "$1/:currencies"; }
         coins() { fetch "$1/:coins"; }
        
         while getopts ':qFTn:c:d:' opt "$@"; do
          case "$opt" in
          q) quiet=q;; F) follow=F;; T) ansi=T;;
          n) nrows=$OPTARG;; c) currency=$OPTARG;; d) url=$OPTARG;;
          :) error "Need argument: -$OPTARG" "$usage";;
          *) error "Unknown option: -$OPTARG" "$usage";;
          esac
         done; shift $((OPTIND - 1))
        
         nrows=${nrows:-$RATESX_NROWS}; currency=${currency:-$RATESX_CURRENCY};
         url=${url:-$RATESX_DOMAIN}; cmd=${1:-table}; shift || :;
        
         url="https://$currency${currency:+.}$url"
         opts="${quiet:-}${follow:-}${ansi:-}"
         opts="${opts:+$opts&}${nrows:+n=$nrows}"
         "$cmd" "$url" "$opts" "$currency" "$@"
        )

------
squid_demon
Thank you!

------
crorella
missing ludens.cl

