[HN Gopher] Scribe - An alternative front-end to Medium
       ___________________________________________________________________
        
       Scribe - An alternative front-end to Medium
        
       Author : mrzool
       Score  : 153 points
       Date   : 2021-10-12 10:17 UTC (12 hours ago)
        
 (HTM) web link (scribe.rip)
 (TXT) w3m dump (scribe.rip)
        
       | thomcano wrote:
       | Is this going to let me read articles that are locked behind a
       | subscription?
        
         | edwardloveall wrote:
         | Yes. More about that here:
         | https://news.ycombinator.com/item?id=28839112
        
       | can16358p wrote:
       | Does it allow me to bypass the paywall (which I can already using
       | private browsing mode but an extra thing)? If yes, I'm sold!
        
         | rodorgas wrote:
         | I don't think so, but there's https://burles.co/en for this
        
         | edwardloveall wrote:
         | It does. The API I'm using just... doesn't check. I'm not even
         | sure how I'd support the pay wall.
        
       | iruoy wrote:
       | If someone uses a medium.com subdomain converting it is a little
       | more work.
       | 
       | For example, this link from the current HN homepage before and
       | after:
       | 
       | https://kgizdov.medium.com/the-efficiency-of-microsoft-e50ea...
       | 
       | https://scribe.rip/@kgizdov/the-efficiency-of-microsoft-e50e...
        
         | gchamonlive wrote:
         | https://scribe.rip/the-efficiency-of-microsoft-e50ea81f69f5
         | 
         | works fine
        
         | edwardloveall wrote:
         | Actually, you don't even need to do this! Scribe only cares
         | about the last few hex digits in the URL's path: the post id.
         | So you can leave off the subdomain and https://scribe.rip/the-
         | efficiency-of-microsoft-e50ea81f69f5 will work just as well.
        
           | app4soft wrote:
           | Sadly, Scribe can't recursively recognize & replace sub-links
           | to Medium, see this[0] table of contents.
           | 
           | [0] https://scribe.rip/orienteering-mapping-with-lidar-
           | smartphon...
        
             | edwardloveall wrote:
             | Yup, this is on my todo list. Thanks for the example post I
             | can use as a reference!
        
       | Quarrel wrote:
       | There are quite a few chrome extensions that just fix the referer
       | on medium, and work just fine. You can also trivially use your
       | own version, as well as limit them to only medium.com.
       | 
       | (Or use one of the more generic referer rewriters)
        
       | dctoedt wrote:
       | Historical note: In 1980-81, Brian Reid invented the Scribe
       | markup language and processor, basically a predecessor to HTML
       | and Markdown; a successor to RUNOFF; and simpler than Knuth's
       | then-recent TeX. Scribe led to Reid's getting the ACM's Grace
       | Murray Hopper award. I used The Final Word's version of Scribe
       | and Emacs to produce camera-ready copy for my first book.
       | 
       | https://en.wikipedia.org/wiki/Scribe_(markup_language)
        
         | svat wrote:
         | In fact, the syntax of LaTeX (not TeX)--the idea of
         | environments etc--is heavily based on Scribe: Leslie Lamport,
         | who was a Scribe user, basically reimplemented parts of Scribe
         | in TeX macros; the result was LaTeX. You can see the
         | resemblance between Scribe's syntax:
         | @Heading(The Beginning)         @Begin(Quotation)
         | Let's start at the very beginning, a very good place to start
         | @End(Quotation)
         | 
         | and LaTeX's. Lamport mentions Scribe a few times in this
         | interview: https://tug.org/TUGboat/tb22-1-2/tb70lamp.pdf
         | 
         | > _I don't think TeX and LaTeX would have become popular had
         | they not been free. Indeed, I think most users would have been
         | happier with Scribe. Had Scribe been free and had it continued
         | to be supported, I suspect it would have won out over TeX. On
         | the other hand, I think it would have been supplanted more
         | quickly by Word than TeX has been._
         | 
         | (I'm not sure he's right; I think TeX/LaTeX benefited from
         | _both_ Knuth 's concern for typographical excellence and
         | Lamport's concern for authors' convenience, and the "book-
         | quality printing" of TeX would have always had a place, but
         | hard to say what would have happened.)
         | 
         | [Edit: Changed "superficial syntax"; I just meant syntax as
         | opposed to implementation details.]
        
           | dctoedt wrote:
           | > _the superficial syntax of LaTeX (not TeX) is heavily based
           | on Scribe_
           | 
           | Interesting -- I hadn't previously connected those dots; it's
           | been years since I used Scribe and only recently did I start
           | using LaTeX (mostly with org-mode as a front end, delving
           | into LaTeX only as needed).
           | 
           | Thanks for the link to the Lamport interview, which was
           | illuminating.
        
       | yewenjie wrote:
       | I wish there were simple Docker deployment instructions so I
       | could self-host an instance.
        
         | gchamonlive wrote:
         | This project seems like pure static files replacing medium
         | frontend. No need for a docker deployment.
        
           | edwardloveall wrote:
           | It's a Crystal [1] app built with the Lucky Framework [2].
           | The source code is here [3] and there are a few instructions
           | in the README for deploying, but not much yet.
           | 
           | [1] https://crystal-lang.org
           | 
           | [2] https://luckyframework.org
           | 
           | [3] https://git.sr.ht/~edwardloveall/scribe
        
             | Nextgrid wrote:
             | Any particular reason to use this language? Invidious uses
             | this as well and it's been a major pain to contribute
             | compared to a more mainstream language like Python, Ruby,
             | PHP or Javascript.
        
               | edwardloveall wrote:
               | I'm a ruby dev so as @bogwog mentioned, Crystal is
               | appealing in it's similarly. I like being in a typed
               | language, and it's _fast_. I'm running this on a very low
               | powered server and it's holding up great.
               | 
               | Also, while I'm really glad it seems to have resonated
               | with so many people, a huge part of this project was the
               | learning I got from it. Getting better at Crystal's type
               | system and the Lucky framework, discovering and using the
               | monads library, learning how to deploy crystal, etc. I
               | hear you on Invidious being difficult to contribute to.
               | I've felt the same way. My difficulties have stemmed, not
               | from crystal, but from the custom libraries that
               | invidious needs. I effectively can't run it locally
               | without Docker. Scribe should work fine locally.
               | 
               | Every language and framework has its tradeoffs. Rails
               | would certainly have been the safer choice, but I also
               | don't expect this to have massive contributions, so I
               | went for the thing I was more interested in. Maybe that
               | was a wrong choice, who knows!
               | 
               | So TL;DR I like crystal and wanted more experience with
               | it. It felt like the right tradeoff for this project,
               | this time.
        
               | bogwog wrote:
               | The neat 3D spinning crystal on the landing page probably
               | has a non-zero impact on adoption.
               | 
               | I don't see what else could be a big draw for it. Maybe
               | it's appealing for Ruby devs, since it has a similar
               | syntax? I've never used Ruby, but it probably makes more
               | sense if you compare them.
        
       | antman wrote:
       | Any ideas how that could work for other domains in the medium
       | platform?
        
       | ignoramous wrote:
       | An alternative for all text-heavy websites: https://archive.is/
       | debloats, that is archives a markup-only webpage free of
       | javascript, dealing admirably well even with SPAs.
        
         | NoGravitas wrote:
         | My only gripe with archive.is is that their archived pages
         | don't support Firefox Reader Mode, even if the original page
         | would have. It's great for breaking paywalls, though.
        
       | DeadBeatDad wrote:
       | Slightly off topic:
       | 
       | I love tinkering with Medium URLs
       | 
       | Here's four URls that all work
       | 
       | https://kgizdov.medium.com/the-efficiency-of-microsoft-e50ea...
       | 
       | https://kgizdov.medium.com/@the-efficiency-of-microsoft-e50e...
       | 
       | https://kgizdov.medium.com/@@the-efficiency-of-microsoft-e50...
       | 
       | https://kgizdov.medium.com/@@@the-efficiency-of-microsoft-e5...
       | 
       | They exclude the `@` for some reason
        
       | mrzool wrote:
       | I quickly whipped up a bookmarklet to view any Medium article in
       | scribe.rip for anyone interested:                   javascript:lo
       | cation.hostname.includes("medium.com")?location.assign("https://s
       | cribe.rip"+location.pathname+location.search+location.hash):locat
       | ion.assign("https://scribe.rip");
        
         | gchamonlive wrote:
         | Seems to work even for the subdomain link example below:
         | 
         | https://kgizdov.medium.com/the-efficiency-of-microsoft-e50ea...
         | 
         | Output:
         | 
         | https://scribe.rip/the-efficiency-of-microsoft-e50ea81f69f5
        
         | edwardloveall wrote:
         | I _believe_ you can do one simpler (assuming the reader only
         | clicks the link if they recognize it's a medium post)
         | javascript:q=location.pathname;location.href="https://scribe.ri
         | p"+q;
        
           | djrockstar1 wrote:
           | while we're golfing                  javascript:location.href
           | ="https://scribe.rip"+location.pathname;
        
             | desas wrote:
             | Golf you say?
             | javascript:l=location;l.href="//scribe.rip"+l.pathname;
        
               | malshe wrote:
               | Thanks, I ended up using yours. But I might change that
               | if someone shortens it even more /s
        
               | adamrezich wrote:
               | javascript:l=location;l.href="//scribe.rip"+(l.hostname.i
               | ncludes("medium.com")?l.pathname:"");
               | 
               | is a happy medium (no pun intended) & I'll give it a go
               | in my bookmark toolbar
        
       | jccalhoun wrote:
       | This could use a bit of explanation for why someone would want to
       | use this. I take it medium is bloated or something?
        
         | rodorgas wrote:
         | I'm more bothered with the login wall.
        
           | mattwad wrote:
           | opening in incognito also works!
        
           | eigengrau5150 wrote:
           | I'm more bothered by the fact that Medium is a content farm
           | whose offerings are neither rare nor well-done.
        
       | mastazi wrote:
       | There is also the browser extension Make Medium Readable
       | Again[1], one thing that I like about it is that it removes
       | Medium's lazy loading[2]
       | 
       | [1] https://makemediumreadable.com/
       | 
       | [2] if you have a fast connection you may have no idea why it's
       | bad, try to load an image-heavy Medium article on a slow
       | connection and you will see what I mean (indistinguishable blobs
       | of colour for about 30 seconds, then finally full res images,
       | with no in-between).
        
         | laurent123456 wrote:
         | This extension was working for some times but then Medium made
         | some changes and it stopped working. Or is it working again?
        
       | camillomiller wrote:
       | If you have an iOS device, I whipped up a quick and dirty Siri
       | Shortcut:
       | https://www.icloud.com/shortcuts/d6782bdf84f94612a197ef410ec...
       | 
       | Once installed, you can long tap on any medium link, select
       | share, then pick Scribe 4 Medium from your quick actions.
       | 
       | The link opens in Safari.
       | 
       | Edit: if you use it on medium links within the app, Scribe adds a
       | link.scribe subdomain which throws a SSL warning and creates a
       | broken link. Could be due to the ?source=link in the medium app
       | url. I'm trying to clean it out. Not sure if that's an intended
       | functionality from scribe tho
       | 
       | Edit 2: nope it's medium cloaked links. Will fix it later :)
        
       | schleck8 wrote:
       | is it javascript and/or tracking free?
        
         | edwardloveall wrote:
         | It is. I use JS to generate the statically loaded CSS, and
         | there's some JS built into the Lucky Framework which is loaded,
         | but not used.
         | 
         | You can check out the source code here if you like:
         | https://git.sr.ht/~edwardloveall/scribe
        
           | schleck8 wrote:
           | awesome :)
        
       ___________________________________________________________________
       (page generated 2021-10-12 23:02 UTC)