8 ms·
Show HN: Frogmouth – A Markdown browser for the terminal
Hi HN,
Frogmouth is a TUI to display Markdown files. It does a passable job of displaying Markdown, with code blocks and tables. No image support as yet.
It's very browser like, with navigation stack, history, and bookmarks. Works with both the mouse and keyboard.
There are shortcuts for viewing README.md files and other Markdown on GitHub and GitLab.
License is MIT.
Let me know what you think...
- the-printer 3y agoThe Textualize crew appears to be making some cool stuff. I'm looking forward to the Web browser.
- kossamums 3y agoCan you add support for Obsidian markdown?
- sakekasi 3y agothis. I would love to have a cli-based barebones obsidian vault browser
- johnchristopher 3y agoLooks nice ! Can't install right now, does it have vim keybindings ?
- davepdotorg 3y agoI did add some vim-friendly bindings for switching the navigation panes on the left, but thinking about it not for the main viewer. Feels like an oversight now, good call. I’ll add that to the todo list.
- StarlaAtNight 3y agoI'm a big fan of the Markdown Preview feature in VS Code Honest question: why do developers insist so much on using command line based tools? What's the advantage over using an IDE? (e.g. VS Code or PyCharm)
- puttycat 3y agoFor me, it's focus.
- jtmlis 3y agoSpeed, consistency, customization.
- asicsp 3y agoReusability is another factor for me. Often used solutions are converted to aliases, functions, shell scripts, etc.
- StarlaAtNight 3y agoI get all three of those w/ my VS Code setup...could you explain in more detail?
- pigsinzen 3y agoYour hands almost never have to leave the keyboard. There is often not telemetry. You can remotely connect from a different machine and you your development environment. The cross-platform story is much better. For example, supporting BSDs. It exposes you to a lot of details hidden or abstracted away by GUI applications. Also, its a matter of preference.
- fiddlerwoaroof 3y agoVSCode isn’t much different from vim or emacs in terms of functionality: basic text editor that is configured for various tasks by plugins. Especially with the rise of LSP, the difference between VSCode and vim/emacs is basically preference.
- ParetoOptimal 3y ago> VSCode isn’t much different from vim or emacs in terms of functionality: basic text editor that is configured for various tasks by plugins. Ease of extensibility is a big deal and vscode is much less easy to configure. VSCode doesn't work uniformly throughout the application. In emacs, you'll quickly start to depend on all the places you can use M-r, M-n, and M-p to reverse search history for instance. This is one of many many examples where it's keyboard driven UX is superior. Another big thing is that you can get help for every keybinding, click a link to it's function, and start modifying the implementation. There was a recent podcast I can't recall that gave a good example of this... I'll look for it and post back if I find it. I'm curious, how would you do what I describe here using isearch to query replace in vscode: https://old.reddit.com/r/emacs/comments/126w8xb/what_are_the_small_reasons_to_try_emacs/jecbcxy/ https://old.reddit.com/r/emacs/comments/126w8xb/what_are_the...
- pigsinzen 3y agoNice idea! I’m excited to check it out. I write a lot of docs in Markdown and this could be a great way to browse them. Out of curiosity, have you seen glow[0]? [0] https://github.com/charmbracelet/glow https://github.com/charmbracelet/glow
- midland_trucker 3y agoI recently needed to render markdown to view some notes. Thought opening chrome w/ a plugin or VSCode felt similarly sluggish options to do such a simple task. Now a few weeks after playing with textualize this pops up! Neat tool.
- deleted 3y ago[deleted]
- minroot 3y ago[dead]
- jlowin 3y agoNice! Is there a story behind the name Frogmouth?
- willm 3y agoWe're using bird names as a convention for our projects. Which may or may not be the name of the apps. Frogmouth felt more memorable than "mdbrowser" or "markdown-view"
- linsomniac 3y agoThis may just be a personal quirk, but many of these sorts of names to me seem to be one-way memorable. Like, if I see a future reference to "frogmouth" I probably will think "Oh yeah, I've heard of that." I may or may not remember that it's a markdown browser. But if I'm trying to remember "that markdown browser I saw a while ago", I can rarely pull out the name "frogmouth".
- heywherelogingo 3y ago/one-way memorable/ - recognisable, but not memorable.
- alex_smart 3y agoSoon, browse the web and watch youtube vidoes inside your terminal.
- zeromomentum 3y agoYou can browse the web with lynx or w3m, and (kind of) watch videos with yewtube.
- saulpw 3y agoYou mean like with brow.sh?
- wendyshu 3y agoLatex math rendering would be awesome
- sitkack 3y agoCould one use this for epubs?
- davepdotorg 3y agoBaca might interest you: https://github.com/wustho/baca https://github.com/wustho/baca
- kjs3 3y agoI like it. Let's see how it feels over time. You might consider Sixel support as a way of doing images. There are a number of excellent libraries that support it.
- bpshaver 3y agoThis is neat. I recently wanted something similar so this is what I did: 1. Zellij split panes 2. Left pane: Helix editor with built-in Marksman (markdown LSP) support. 3. Right pane: watchexec (re- runs commands when watched files change) running Glow (Terminal markdown renderer) on the last modified markdown file (‘ls’ gives you that) Then you can use ‘gd’ and whatnot to move between references from one markdown file to another. This is easily composed of smaller parts, so you can use vim instead of helix, tmux instead of zellij, mdcat instead of glow. It’s really the same process I might use to edit code on the left and re run tests or compiler checks or linting on the right. Since I was already doing those things, turning my terminal into a markdown viewer was trivial.
- sureglymop 3y agoTextual looks really cool. But is there something similar in e.g. go instead of python?
- cristoperb 3y agoThe closest thing in Go I know of is bubbletea: https://github.com/charmbracelet/bubbletea https://github.com/charmbracelet/bubbletea
- fishywang 3y agoIt's probably only me but isn't Markdown's main "selling point"/feature the raw files are human readable? Looking at the screenshots, the only thing the "rendering" provides seem to be: 1) syntax highlights on code blocks; and 2) don't need to count the ordered bullets? I guess if you need to verify that your markdown can be rendered (e.g no syntax errors), this would be helpful, but for that use case maybe a markdown linter is better?
- dharmab 3y agoMarkdown can also contain inlined HTML, which is not human readable.
- HowardStark 3y agoDon’t let the semantic HTML people hear you </sarcasm>
- bjornasm 3y agoJust because something is human readable doesn't mean there isn't value in making it even more readable? I would certainly prefer to read a markdown file rendered like this than completely raw.
- willm 3y agoIt also renders headers, horizontal rule, bold, emphasis, strike through, underline, links, inline code, block quotes, and tables.
- fbdab103 3y agoSemi related, but are there any good options for terminal rendering of HTML? I would be fairly accommodating of a best-effort dump of human visible body content.
- dharmab 3y agoThere's a few terminal browsers like w3m, browsh and links that should work for many basic HTML pages.
- fbdab103 3y agoA full terminal web browser is a bit more than I was looking for, but this is definitely an option. Was thinking more something I could pipe text into to get an extraction and/or a simpler pager interface. The browsh repo front page is just insanely impressive[0]. `links` is impossible to query the web for the project, so if you had more guidance on that one, it would be appreciated. [0] https://github.com/browsh-org/browsh https://github.com/browsh-org/browsh Edit: Noted I was querying for something more feature anemic, plus Browsh link
- dharmab 3y agohttp://links.twibright.com http://links.twibright.com is the website, but the easiest way to try it is probably to search your preferred package manager.
- jethro_tell 3y agoElinks -dump google.com
- JdeBP 3y agoWell if you don't find anything, I wonder how easy it would be to adapt my DocBook XML reader to do HTML (sans any sort of script, dynamic content, or remote content). It's pretty much as you describe, little more than a pager for stuff that one can pipe into it, or files named on the command line. I pretty much aimed at just under pg(1) for DocBook XML. * http://jdebp.info/Softwares/nosh/guide/commands/console-docbook-xml-viewer.xml http://jdebp.info/Softwares/nosh/guide/commands/console-docb...
- DaOne256 3y agoI would like to run VSCode with a TUI like this in a terminal via SSH. Does anyone know a VSCode extension to do this?
- westurner 3y agoFWIU coc.vim works with vim and nvim and works with VSCode LSP support: https://github.com/neoclide/coc.nvim https://github.com/neoclide/coc.nvim There are many LSP implementations: https://langserver.org/ https://langserver.org/ awesome-neovim Ctrl-F "DAP": https://github.com/rockerBOO/awesome-neovim#lsp https://github.com/rockerBOO/awesome-neovim#lsp mason.nvim: https://github.com/williamboman/mason.nvim https://github.com/williamboman/mason.nvim : > Portable package manager for Neovim that runs everywhere Neovim runs. Easily install and manage LSP servers, DAP servers, linters, and formatters. conda-forge DAP: Debug Adapter Protocol https://microsoft.github.io/debug-adapter-protocol/implementors/adapters/ https://microsoft.github.io/debug-adapter-protocol/implement...
- w0m 3y agoCOC has been mostly deprecated for native LSPs also. I run ~same pyright I'd use in VSCode in my neovim.
- wcerfgba 3y ago《Browser》 made me think of hypertext, which makes me wonder if it supports, or plans to support, [[wikilinks]] between Markdown files?
- davepdotorg 3y agoIt supports normal Markdown links right now. As an Obsidian user I have been thinking wikilinks would be nice to add too. No firm plans but something I’d like to add.
- westurner 3y agoCould Frogmouth display Markdown cells in Jupyter Notebooks on the CLI? FWIW, IPython is built with Python Prompt Toolkit and Jupyter_console is IPython for non-python kernels; `conda install -y jupyter_console; jupyter kernelspec -h`. But those only do `%logstart -o example.out.py`; Markdown in notebooks on the CLI is basically unheard-of.
- andrewstuart 3y agoSome things in common with Cronvel Terminal Kit? https://github.com/cronvel/terminal-kit https://github.com/cronvel/terminal-kit Sort of a document model for the terminal https://github.com/cronvel/terminal-kit/blob/master/doc/document-model.md#top https://github.com/cronvel/terminal-kit/blob/master/doc/docu...