Hacker News new | past | comments | ask | show | jobs | submit login
GhostWriter is a distraction free Markdown editor (wereturtle.github.io)
217 points by ekianjo on Feb 24, 2021 | hide | past | favorite | 154 comments



My free and open-source KeenWrite text editor is comparable to GhostWriter:

https://github.com/DaveJarvis/keenwrite#features

What sets KeenWrite apart is the ability to use (externally-defined) variables within the prose, shown in this older demo video:

https://www.youtube.com/watch?v=u_dFd6UhdV8

Also, variables work in diagrams, R expressions, and TeX equations. For example, take a look at the following screenshot:

https://raw.githubusercontent.com/DaveJarvis/keenwrite/maste...

The palette is defined in one spot, allowing colours to be used by both diagrams and typesetting the final PDF. Further, character names can be assigned and referenced within both the prose and diagrams. Also, the variables are interpolated, which allows variables to be defined in terms of other variables.

Are there any other text editors that have interpolated variable references? (I looked, but didn't find any, so started developing my own text editor.)


Been seeing this a lot lately: someone posts a project or a company to HN, then immediately below it, the top comment negs OP and then goes on to explain how their project is better.

Is this not the epitome of douchebaggery?


It is not. HN isn't a place that guarantees advertising or publicity. Readers and commenters will click on this thread thinking "is there a better way of writing markdown" or "I wonder if I should be using a different editor" which makes all editors relevant information.

And honestly, if I see an advertisement _without_ any criticism, it sounds too good to be true to me. Seeing a comparison between these editors is going to provide a thousand times better information then just people talking about one or saying "hm, that looks interesting, I'll check it out sometime".


Criticism, sure. But upstaging? That is something I would find seriously deflating. Enough so that it suppresses a lot of interest I might have to post my own Show HN one day -- why bother if some other schmuck is going to upstage me and drive discussion towards their work?


Calling someone a douchebag is surely a productive means of steering the community to good, considerate feedback.


Strongly worded insinuations, sure, but that is not name-calling.

Kanye West hops on stage at the MTV Music Awards, steals the mic from "Best Female Music Video" winner Taylor Swift, and proceeds to tell the audience why he thought Beyonce should have won instead. It was an outrageous act widely panned as 'douchey'.

Is this example much different?

ps- Besides, a good community calls a spade a spade


> ps- Besides, a good community calls a spade a spade

Exactly why every single reply to your comment has explained why you're wrong.


> Is this not the epitome of douchebaggery?

Not whatsoever. It's on-topic and allows the community to discover other related, competing projects.


Historically, friendly competition was seen as a chance for inspiration from each others.


It’s relevant context


Sure, but is it something that members of a supposedly good, supportive community should be doing to each other?


You mean leaving comments about highly related products/software/whatever with a different feature-set and approach? That sounds... perfect.

It can spark all sorts of discussions and ideas about the decisions and tradeoffs made in both projects. All aspects of this - from the ideas themselves to the community response to them - can be very valuable to the original creators of both. It can also give the original creator more information about what's been done and how. Searching for similar stuff when you lack a very well-defined term can be annoyingly difficult.

And it has what I think should be obvious value to the readers and commenters who are interested in originally posted product. Other similar projects may well serve any interested readers better than what was originally posted. Again, searching for this stuff can be difficult. Do you really want to remove this chance to discover a better-fitting product/project/whatever from all the readers?

I see no problem with people posting similar projects. With the usual caveats of civility that apply to literally every other comment as well, these stand to be highly productive comments.

I'm sure you're thinking of the more emotional aspects of this, and even here I disagree. The only situation I can think of where a poster is better off no even hearing about alternatives is if their main motivation is receiving praise on HN. And in that case, hopefully the situation will make it easier for them to realize that is what they are doing, and give them the opportunity to decide if that's something they want to continue doing.


You are right in that tone and intent matters. I think there is nothing wrong in principle in mentioning related work though. It can be done in a non-douchy way.


This is beautiful. Well done.

>Are there any other text editors that have interpolated variable references?

The closest I can think of are Frescobaldi's snippets[1], vim's `!read`, or spreadsheets. Maybe light table [2]? I haven't seen anything exactly like what you've made

[1] https://www.frescobaldi.org/uguide#help_snippet_edit_help

[2] http://lighttable.com/


> Are there any other text editors that have interpolated variable references?

I made my own markup language a while back that sort of has that feature (http://breuleux.github.io/quaint/syntax.html#variables). The variables can be defined inline or imported from a JSON file or whatever. It does reparse the whole thing on every change, so I'm not sure it scales very well. The language should be amenable to incremental parsing, though, I just haven't had time to tackle that issue. It's far more extensible and far better than Markdown IMO, but I suppose I'm biased.


> Are there any other text editors that have interpolated variable references?

Maybe Leo? I'm not sure if it qualifies as a (plain) text editor, but then maybe neither does keenwrite.

http://leoeditor.com/

Or you could pair markdown with m4 - but I wouldn't really recommend it.


Most people get this kind of logic from their CMS or publishing platform. Jekyll, hugo, wordpress, 11ty, etc. all have various external state stores (yaml files, JSON, CSV, calling a graphql API, etc.) that you can query and interpolate or insert data into your document using a bevy of different template languages. Check out Gatsby or even Next.js for something that's really pushing the boundaries of static + data-driven content.


Not an editor, but asciidoc(tor) has variables. You can also define variables in one file and import them into multiple other files in order to DRY.


Looks nice! And I don't want to always be that Emacs guy, but for anyone interested, you can (of course) have a similar setup, here's some packages:

https://github.com/rougier/nano-emacs (haven't tried, but clean look and defaults)

https://github.com/rnkn/olivetti (writing environment)

https://github.com/rnkn/fountain-mode (screenplay writing)

https://github.com/alphapapa/org-sidebar (sidebar)

https://github.com/jrblevin/markdown-mode (markdown, with preview too)

https://orgmode.org/ (of course, org-mode for everything)


And I don't wanna be that Vim guy, but similarly a mix of these plugins works well for me:

https://github.com/junegunn/goyo.vim (distraction free mode)

https://github.com/reedes/vim-pencil (better behaviour for writing prose)

https://github.com/junegunn/limelight.vim (visual highlighting of current paragraph)

https://github.com/plasticboy/vim-markdown (better markdown syntax)

https://vim-voom.github.io/ (outliner sidebar)

Edit:

BTW, for my truly favourite aesthetic experience, I like to pair this setup with a nice dark theme, a high quality font, and cool-retro-term (https://github.com/Swordfish90/cool-retro-term/) emulating an old school CRT. Is this practical or ergonomic? Nope! But I love it!


It might be blasphemous, but I'd actually love a pretty, distraction-free Markdown editor like this that supports Vim keybindings, but isn't Vim.

Am I just being lazy in learning the Vim plugin system? Are there pretty Vim frontends now that render all nicely like Ghostwriter et al?


Well, without knowing what your definition of a "pretty" frontend is, it's a bit tough to reply.

Go check out the screenshots for Goyo and Limelight and ask yourself if it's pretty enough for you. Personally, I think Vim can look as good as any modern editor with a couple plugins and a decent theme and font, but we might not have the same standards. :)


Thanks so much for the response! Unfortunately, I'm probably less concerned about the prettiness about more about the ease of install and (maybe) mouse support to fallback to when I'm feeling lazy.

I'm looking to avoid learning Vim plugins (again...again), setting up an environment, and learning keybindings for sidebars, filenav, etc...


So what about something like SpaceVim ?

https://spacevim.org/


Most dedicated markdown editors all end up using the same JS code editor components like Ace, CodeMirror or Monaco, and those editors have great vim keybindings usually as extensions or options. See if the tool you're using lets you flip those vim bindings on. For some editors they expose it as an option and for others you have to hack around with the source (for example enabling it with stackedit, a PWA markdown editor like ghostwriter, is possible with some hacking: https://github.com/benweet/stackedit/issues/254 ).


Emacs evil-mode (e.g. available in install-and-enjoy Doom Emacs, without having to learn any plugin systems) supports Vim keybindings and is not Vim.


Haha fair enough! Retro term definitely looks cool.

(Of course could then use Evil in Emacs for Vim keys, or just run vim in a terminal inside Emacs...)


Honestly, I've periodically considered heading back to Emacs-land to see how things have changed.

I used to be an Emacs user back in the early 2000s but Emacs pinky hit me something fierce (it's my own fault; I have poor typing style so I never use the right control, and I could never adapt to the control-capslock swap) so I jumped into Vim and never looked back.

But I gotta admit, Orgmode, among other things, has me feeling a bit Emacs-curious these days... ;)


As another commenter said, there are some nice all-in-one setups or minimal but sane defaults. I haven't used them but hear very good things. And don't forget you always have Evil for Vim bindings in Emacs (I think Spacemacs by default uses it?).

I should finally learn the Vim way. At the very least so when I forget to set EDITOR for root and edit some config, I'm not totally useless. That'll teach me for not opening it up (with sudo via how Emacs handles things like ssh) in my favorite editor. And org-mode is great, I've been doing more and more in Emacs and org these days (email, notes, todo, writing, coding).


Have you thought about trying a different keyboard? I use a Pinky4 and have ctrl (and alt and super) on a thumb key. It both moves these keys from your weakest finger to your strongest, and keeps your pinky free so you can maintain homerow even for something like C-a.

Alternatively, you may be able to hit some of the modifiers with the side of your hand instead of your pinky. That's what I did with my previous keyboard (Pok3r). It also made it easy to hit ctrl and super at the same time for some of my window manager keybinds that use both keys.


If I was going down that path, the ctrl-capslock swap is the first thing I'd try, along with training myself to use the right control key.

But all of this requires changing my typing style, and I've been typing the same way for, like, 25 years.

Put it this way: I chose to learn Vim instead of change how I type because that was easier. ;)


Give Doom emacs or Spacemacs a shot too--it's the power of emacs with an opionated vim style keybinding. They're really slick in my experience.


I've enjoyed using this simple Emacs package: https://github.com/shime/emacs-livedown


Olivetti is fantastic, I mostly edit and write text in that mode, even longish emails.


For anyone wondering, no, not Electron this time! It uses QT5 actually so +1 there.

(Sad to see the state of desktop GUI has come to this...)


Is Electron falling out of favor?

It's been next on my "to learn" list for way way too long.


It's been controversial from the start. It's essentially using a browser engine in the same way as Java uses the JVM runtime, so all the performance arguments against that apply to Electron too--probably even more so given that the JVM is specifically optimized to be used that way whereas Blink/V8 is not.

Personally, I think the idea of a cross-platform application runtime with GUI capabilities is a good one, browser-based or otherwise. The only real problem is every app needing its own, rather than using some sort of shared (but partitioned) app subsystem based around a central browser engine. I think the Chrome apps were supposed to be essentially that, but didn't work out. That said, Chrome basically treats every tab as a separate browser instance, so Electron really isn't as bad as all that compared to a browser-based app.

The problem is everyone compares it to native, not acknowledging the dev's choice was probably Electron vs. no support off the dev's main OS (usually Windows), rather than Electron vs. native support for Mac or Linux. I still remember when you had to have Windows to run most of the interesting productivity and development apps, so I'm pretty OK with extra overhead in exchange for the expanded support.


No, Electron is not falling out of favor, but there's a strong opposition for it from some parties, which I'm a member of.

Make no mistake, Electron is awesome stuff, but it consumes too much memory and processing power for what it can do.

Atom, the poster child of Electron uses as much RAM as Eclipse and can't do 10% of a stock Eclipse installation. When I left it, Atom was unable to open large files, do lazy loading or similar simple stuff.

Other Electron based software also wastes too much resources for the functionality it offers. This is where it gets the most flak.


I'd put up Slack or Discord as the modern exemplars of Electron apps. As much as I loved Atom it has clearly been de-prioritized and on the verge of being shelved by GitHub & Microsoft. Yeah Slack and Discord take a few hundred MB of memory, but for thousands and thousands of people they sit there hanging out in their desktops all day every day with very little fuss. You don't need to install a JVM to use them, you don't need to worry about keeping it updated... it just works. Whether you're on linux, mac or windows... again, it just works. I can walk my parents through installing and using Slack over the phone--I cannot do that for nearly any other desktop app.


There are some well optimized Electron apps, I agree however, they can be implemented in a much better and more native way, without being harder to install and/or update. Qt is a possible alternative. Similarly WxWidgets can do it.

As a big fan of compiled, so-called proper programming languages (and high performance code developer to some extent), I can tell that JVM is being bashed unnecessarily. JVM was heavy, I agree. Since the age of Intel Core i series, JVM is no longer heavy.

I use one of the heaviest JVM applications regularly: Eclipse. It can run in circles around any of the Electron apps with similar memory usage, and I get much more bang per MB in Eclipse. In ~1GB I can keep 3 IDEs open with plethora of files, daemons, tools and integrations. We have in-place updaters for a lot of platforms. Mac has sparkle. Linux's AppImage can update itself seamlessly.

There's no guarantee that an Electron application targets everything out of the pipeline. We still don't have an official Evernote client for Linux. Spotify for Linux is a volunteer project inside the company (which had a very painful and bloody teething too). Slack just hogs your computer. I didn't look to resource usage of Discord, but it's not light I presume.

On the update department again, I've found out that Office for Mac has updated itself again and I didn't notice. Same for Firefox.

So Electron is a nice solution, for some stuff, but it leans too much on "Hardware is cheap, network is reliable" paradigm, which is flat out wrong.

It's very cheap to build on Electron, but user pays the price. There's always the price. It all depends who's going to pay it at the end of the day.


So you are willing to trade ~1GiB of your RAM and ~5% of CPU cycles just to be able to send/receive some text messages? I use those services only in their webapp form and even then, my laptop grinds to a very noticeable halt as soon as they are loading in the tab.

Electron is a nice cross-platform solution until it isn't. Imagine using VSCode, Discord, Slack, Matrix, Spotify, some markdown editor and now you have 6 browser instances chipping away your machine resources...not even counting the actual browser.


> So you are willing to trade ~1GiB of your RAM and ~5% of CPU cycles just to be able to send/receive some text messages?

Yes. Also, I'm curious, do you find the webapp forms use measurably less resources than the electron version? I would've imagined they're pretty close (with Electron possibly even being lighter than a full browser tab), but I am not confident and could be completely wrong.

> Imagine using VSCode, Discord, Slack, Matrix, Spotify, some markdown editor and now you have 6 browser instances chipping away your machine resources

I, and surely tons of others on this forum, am doing this right now without issue.

Sure it's not perfect, especially if you're on battery, but most of the time it just doesn't matter to almost all of their user base.


> I, and surely tons of others on this forum, am doing this right now without issue.

I personally run Teams, Spotify, Evernote and Discord, but I close them as soon as finish working with them. So without issue is a bit of a stretch. Also These applications glitch in a funny, agonizing and obscure ways. They are non-deterministic blobs and this is not good.

> Sure it's not perfect, especially if you're on battery, but most of the time it just doesn't matter to almost all of their user base.

Actually, when computing is moving on portables in an ever increasing speed, this sounds bad. "It's a nice application, but it just kills your mobility. It's not important anyway, eh?"

I don't think the approach of "we have a lot of processing power and its processor is efficient anyway, so let's abuse this" is a good way to approach software development.


There is enormous pressure on web engines to improve efficiency and decrease battery/power spend. With browsers and JS sandbox VMs they are much better equipped to actively manage and spin down idle tasks. Folks get 20+ hours of battery now on M1 macs running tons of Electron apps like Slack, Discord, VSCode, etc. all at once.

The reality is it's far, far easier to write a bad Qt app that sits in busy wait loops locking up an entire core while refreshing UI and destroys your battery (this is a knock on complex native app development, not Qt).


> There is enormous pressure on web engines to improve efficiency and decrease battery/power spend.

Yes. However, these efficiencies are not always translate to better Electron or WebApps on desktop applications.

> With browsers and JS sandbox VMs they are much better equipped to actively manage and spin down idle tasks.

If your code doesn't allow these idle tasks to spin down, all this work is effectively moot.

> Folks get 20+ hours of battery now on M1 macs running tons of Electron apps like Slack, Discord, VSCode, etc. all at once.

This is possible because of the process suspension capabilities of macOS. Not efficiencies of the applications themselves completely. Evernote is the 6th most power hungry application on my M1 MacBook Air, First two is Zoom and Skype. Third one is Safari. I run Teams and Discord only on my desktop, so I've no 12hr power statistics for them for now.

> The reality is it's far, far easier to write a bad Qt app that sits in busy wait loops locking up an entire core while refreshing UI and destroys your battery (this is a knock on complex native app development, not Qt).

Qt's QML simplifies this stuff tremendously. You can write a whole UI in Qt in five lines with QML, without thinking about any of this stuff, while keeping everything native and nice.


The reasoning is, since those are "web"-apps at the core, I saw no reason to complicate my OS package manager with a chrome-instance (bar VSCode). The whole install-use-update could be replaced by opening a tab. I've used Postman as a desktop app and the performance was subpar.


We're living in a world where my 2 year old phone has 8GB of DDR4 RAM. Even a $150 Chromebook has 4GB. RAM consumption just isn't a realistic concern anymore for office and communication work, much like hard drive space is basically infinite for most people.


When you’re doing development work on any system, every resource is scarce.

I prefer to allocate that memory to a VM or sandboxed/instrumented debug binary instead of a “communicate by sending cats” application.

I want to reiterate that using resources carelessly just because they are abundant is bad resource management. If two or three applications are that careless, neither your RAM, nor your disk space is infinite anymore.

Microsoft Word for Mac uses less RAM and power than Evernote. That’s madness! I love Evernote, but eh, that’s a bit too much for a networked note editor.


> I use those services only in their webapp form and even then, my laptop grinds to a very noticeable halt as soon as they are loading in the tab.

I'm slightly curious about this, pretty much all my gaming-chat has been done on discord for years now and I've literally never had an issue with it at all


> So you are willing to trade ~1GiB of your RAM and ~5% of CPU cycles just to be able to send/receive some text messages?

yes

has 32gb and looking for next laptop with 64


> You don't need to install a JVM to use them, you don't need to worry about keeping it updated... it just works. Whether you're on linux, mac or windows... again, it just works.

That's because the dependencies are included. You can bundle JRE with your Java app and it will "just work" too. You can also ship a native application that "just works" too. There's certainly nothing inherent about Electron apps that make them easier to use. In fact, I'd say many of them _aren't_ easy to use by nature of them not following OS standards; each one has a new interface you have to learn.


What is there to gain using the Electron versions of Slack/Discord vs the web versions?


They sit in the background and pop up alerts in your native OS notification center. They can start up automatically when you login. You can't accidentally close them when shutting down a browser. That's about it, honestly (Discord is a little more special since it needs native access to see and capture games being played).


They have access to the file system and OS apis


I just use Chrome's "Create Shortcut" feature to make my web-apps instead of downloading a bloated Electron app for the same thing.


It's a great dev experience, and lets you build desktop applications to users fast. Some purists on HN may jab at it because they know the internals that it ships a whole browser engine, and resource and performance-wise is not optimal. It'll be the similar crowd of people who shun JS frameworks for vanilla JS.


Another great editor is iA Writer which has a wonderful Focus Mode and a color scheme that is rather pleasing and easy on the eyes.


Yes iA Writer is great. I love the new Style Check feature. I don't write much but when I do features like focus mode and style check really help me output a decent to read document.

Something I like is that everything is in plain text and it just uses iCloud for sync rather than trying to do its own thing. Or you can just use Dropbox or whatever else you want as it is just text files in a folder which I always prefer over a database and proprietary syncing solution.


The iOS version is also great!


Not available for linux sadly.


This looks great. We have too many markdown editors now BTW and none of them provide WYSIWYG like Typora. We really need an open source Typora clone.


I'm actually working on one (https://github.com/blackhole89/notekit). It's native (Gtk+/C++) rather than Electron, too.


Really cool project. Just opened it up and gave it a shot. The ability to sketch is killer.

I'll comment on the repo as well, but would love to see the ability to drop in a standard image.


This looks like the tool I've been looking for, and the screenshots in your README are beautiful. Thanks for the work you've done on this, I'm excited to try it out.


Thanks! I recommend using the repositories or the automated builds or compiling from source, as opposed to the tar.gz binary builds linked directly from the README, as those are somewhat badly out of date now. (I probably should update them at some point.)


Looks very nice, will give it shot over weekend. Curious for new GTK app and the tree/folder structure is helpful to me. Thanks!


"Mark Text" (https://marktext.app/) seems to be one.

(HN thread from Nov 2019: https://news.ycombinator.com/item?id=21462832 — I asked for other editors like this and got no other answers AFAICT. So this Mark Text is still the only open-source "WYSIWYG" Markdown editor I'm aware of.)

Edit: The https://github.com/blackhole89/notekit mentioned in a sibling comment is now another.


Marktext isn't typora like WYSIWYG. It has a separate preview mode like so many other editors. Typora does it very differently.


Are you trying the same Mark Text app (https://marktext.app/ , https://github.com/marktext/marktext)? Here is a screenshot I just took, trying out things: https://i.imgur.com/bvE0FyM.png — it seems to do WYSIWYG just like Typora (which I have used extensively), and in fact I can't find a separate preview mode anywhere. (There is a View→Source Code Mode checkbox that you can turn on if you want to view only the source code for some reason, but that's not the default.) See also the screenshots in the GitHub repo's README (https://raw.githubusercontent.com/marktext/marktext/develop/...). Could you explain the difference you have in mind?


Sorry, you are right. It does WYSIWYG very similar to typora.


What’s the point of a WYSIWYG markdown editor? FWIW quip is one. The only thing I can think of is that if you need to post something you wrote on a platform that accepts markdown it makes it easy. But in general I write markdown when I don’t have google doc or quip


It's a mindset change--make writing flow as freely and easily as typing up a reply in gmail. Think about how many paragraphs you can bang out quickly getting a point across in gmail's editor. It doesn't feel like you're authoring content in a CMS, but if you squint that's really what gmail kind of is--just a CMS for writing content directed to a small (or large) set of people through direct e-mail as opposed to published on a web page.

You're not in a fancy CMS editor with all these whiz-bang blocks and components--those are just noise that give you more anxiety (should I be making this paragraph a hero/lead element? wait no, what about a side-by-side with a graphic? oh, but what graphic? ... hrm, time to go waste 30 minutes looking at unsplash... oh wait, what was I writing again? oh nevermind, I guess I'll come back to finish this tomorrow when my head is clear).

You're not writing content in something that feels like a programming language filled with special characters, an IDE yelling at you for every little misplaced indent or space, etc.

You're just writing text with some light formatting to emphasize structure and key elements. Maybe some lists or bullet points thrown in. A graphic figure or two. It's just like composing an e-mail, something you've done thousands and thousands of times already in your life. There's no pomp and circumstance, no steep learning curve... just writing.


but why use markdown then? instead of google doc or something?


Tried a few markdown readers and I've settled with Obsidian. So far Obsidian has the least amount of bugs and its snappy compare to other Electron based Markdown editors.


+1 for Typora. It's my go to for Markdown editing especially when I'm authoring tables. I don't mind it being closed source and it's free.


* Free during beta.


I just downloaded it a few minutes ago. Its GUI is clean and sharp. I am a big fan of Typora. It is my favorite app for taking notes and todo lists. I think GhostWriter is another good option. There are a few features I miss from Typora:

- Creation of tables (CTRL + T) - Export to PDF - A bit of vertical space between a title (# title) and the next line of text. - Support for Latex equations

A few things I like about GhostWriter

- Support for multiple flavors of Markdown - Export to HTML - Many themes


We’ve started using Typora at work and my big complaint is that I can’t pay them any money! I’ve sent them an email about it (months ago); so far, ignored.

It’s a bit crazy to me. As a business I want to know that the tools I’m building on are going to survive. Take. My. Money.


A few years ago I sent them a few comments using the Contact box at the bottom of the page. They answered a couple of days later.


Typora is in beta. When it comes out of beta it will cost $$$. You can pay them then. In the meantime, enjoy the free beta.


I personally think the point of markdown is that any text editor becomes distraction-free. Everything to do with structuring content is inline with the text. How that structure is displayed is deferred to the rendering context.

I like the feature set, by the way.


Well, Markdown is a form of WYSIWYG strictly speaking. Poor man WYSIWYG if you wish.

This

    * list item 1
    * list item 2
mimics final representation of bullet list and so do pretty much all other syntax constructs of Markdown.

The only benefit it gives for the user (if to compare with typical WYSIWYG) is a simplification of caret positioning.

Consider these MD construct:

    _italics_**bold**   
In MD you can easily put something in between these two words or modify words themselves. But in case of "tru-WYSIWYG" you will have this situation:

    <i>italics</i><b>bold</b> 
with just one caret position between italics and bold. In fact there are three possible caret positions (on edges of words and between) but no WYSIWYG editor allows you to do that.


I recently discovered I can write great looking browser-ready documentation easily by simply embedding the whole page in a single PRE-tag and embedding a very simple style-sheet:

<style> pre { font-family: Verdana; } </style>

The reason it took me this long to not use HTML for writing simple texts I think is that the DEFAULT font for PRE in browsers looks terrible.

Whatever else I need are simple tags like <b> <h2>, <h3>, <hr> and simple hyperlinks. I can omit <html> and <head> and <body> tags totally it seems. No problem not having them. Just nice simple MINIMAL MARKUP content-pages.

But I can easily use the full power of HTML when needed. No need to rely on non-standard markdown dialects.

Is there a specific advantage of Markdown I am missing?


The advantage is not having to write full html tags for example for lists (<ul><li>hi<li><ul>), when you can just use a single - to do the same thing and the text will also look readable on both pure text and as formatted.


I can see it helps with lists. And maybe with tables?

I don't know if the following is valid HTML but it shows 3 list-items perfectly in my browser:

<li> one

<li> two

<li> three

There are pros and cons. I don't mind having to type a few html-tags here and there when most of my content is just plain paragraphs anyway. I can keep a list of HTML snippets handy I need daily, and copy and paste them into my text.


You are proposing the use of malformed HTML, which often leads to weird, and hilarious problems further down the road.


Yet, isn't all markdown more or less "malformed", as long as there is no real standard for the syntax? It can lead to weird and hilarious problems further down the road when a new or different Markdown translator is used somewhere else. :-)


How is markdown malformed? Everything is either between characters or on a different row. Malformed markdown simply looks wrong.


By "malformed" I mean "not syntactically valid". And how could you be syntactically valid if there is no official syntax specification? Now let's assume there is such a thing as "Official Specification of Markdown -syntax". That would be great. But we know that there are many different markdown variants, so the markdown I write is most likely syntactically invalid, or "more or less malformed" according to at least some of the variants. More or less.


The only difference among different markdown interpreters is that some support more features than others. **something** is going to be bold on all of them.


Which doesn't really compare, given that differently from Markdown, HTML is, in fact, standardized.


- one

<li> one

The first one still more readable. The advantage of markdown is that it’s readable both formatted and unformatted.


Throw a CSS style tag in there pointing to a simple, semantic HTML & CSS library and you'd be amazed how slick and polished your page appears--try dropping in MVP.css for example: https://andybrewer.github.io/mvp/


Thanks for the link


Be aware that directly linking to external resources without user confirmation can be considered a GDPR violation.


Does that include scripts? Does it mean I can't include a JavaScript -script stored outside the html-page without user confirmation?


When you include an outside (=on a server not controlled by you) source, that outside source now gets the IP address - which is considered personal identifiable data in the EU context - a timestamp, and a referrer. This allows Google to track users over different sites that use, for example, google-hosted webfonts. Strictly speaking, you must not.

That doesn't apply to a-links, because using those implies users made an active decision to load that resource, and thus consent.

We've stopped using outside resources for that exact matter. In many european websites today, you see extra steps being necessary before other external ressources (which includes embedded Youtube videos) are loaded - for an example of that, see https://www.heise.de/make/meldung/Wenn-die-Band-bastelt-Murm...

We host locally on our own servers. It's one of those typical "tragedy of the commons" situation in which one bad actor kills a good thing (in this case: caching).


Looks like the Windows support is provided by a third party that isn't able to produce windows installers past the 1.8.0 version. I had to search around a bit to find that one, so a direct link for anyone that wants the 1.8.0 Windows x64 installer package:

https://github.com/michelolvera/vs-ghostwriter/releases/down...

He does provide a 7-zip portable binary for 1.8.1+.

I did download and try it briefly. It has a wordpad-like feel, pulldowns for bold, italic, indent, lists and so on. Seemed pretty nice to use.


Just curious what differentiates this from the dozen others out there?

Edit: Open source for one, I would say.


GhostWriter is more basic than others, which some may consider a good thing. I tried it on Arch for a bit since there is a package in the official repos.

I however prefer just using Atom with Markdown Preview Plus. It has a ton of features built in with sane extensions, or you can integrate it with Pandoc:

https://github.com/atom-community/markdown-preview-plus/blob...

I'm sure VS Code has something similar, but only from non-trusted third parties.


This is great. Non-programming text editors (along with task management, notes, email, and others) belong to the broad class of software for which the options available on Linux are typically extremely unappealing. Especially in contrast to what's available on other platforms (notably: MacOS).

Generally, your options on Linux consist of:

- A couple apps that have been around and remain essentially unchanged since the '90s,

- Some recent, well-meaning but poorly executed programs, and

- A nice-looking but infuriatingly clunky and out-of-place Electron app which I'm loathe to use on principle.

I'm very glad to see a first-class Linux app in this category.


> Non-programming text editors

That's quite a qualifier you have there - there's no meaningful distinction between a text editor and a non-programming text editor. You have older options like Emacs and Vim, newer options like VS Code and Atom, and a broad array in between like Geany, Textadept, Kate, Pluma, and on and on.

In the non-programming text editor category you nonetheless have things like Joplin, Obsidian, Notable, and Boostnote. And of course web editors like Evernote, Notion, and Roam, plus TiddlyWiki, Dokuwiki, PmWiki, and so on in the wiki category.


There are always services like Notion to consider too. Cloud-based web-app, always available with zero need to install anything anywhere. Beautiful, mobile and tablet friendly writing. Move effortlessly between writing the same doc on your couch, desk, on the go, etc. Share and collaborate effortlessly with other people.

A self-hosted open source option here if you can do some basic web-app setup and maintenance is HedgeDoc.


Notion is anything but "always available". There's no offline first mode available as of yet and within last 2 months alone there have 2-3 incidents of downtime.


I'm not a programmer, and I love vim and emacs. Not sure why people would dismiss them as being for programming. I edit config files, take notes, manage playlists, and write emails with one or the other. I always miss them when using a text field in a browser.


I've been happy with Notable, which is seeing rapid development. It went closed-source a while back, but still has decent linux support.


GhostWriter is amazing! I use it on Linux and write all my posts with it!

Simple, minimal, lightweight, has a dark theme. There's a distraction free mode which basically fades out everything except for the sentence you are writing. And a Hemingway mode which disables the delete key :)

I've gotten used to writing in Markdown since I started using GhostWriter as it makes that easy. For instance when I type "[" it automatically adds "]" as well. Worth a try!


Why it is so big? Download shows 79 Mb of compressed installer. What's inside?

My html-notepad (https://html-notepad.com/) (Sciter based) that allows to edit documents in as WYSIWYG as Markdown forms is just 2 Mb ( also compressed installer ) - 40 times smaller.



Less than 200KB each, doubt that's the bulk of it


I suspect that they package whole WebKit for HTML preview and so it positions Qt not too far from ElectronJS.


Here's mine https://github.com/rioastamal/kapur

A markdown editor in single HTML file. Works offline too.

Demo URL: https://rioastamal.net/kapur/


If you're wondering, this is unrelated to the Ghost blogging platform, which uses a different markdown editor.


What I would really like is an editor where I can fix the cursor line on the screen and have the document move around that line. I hate looking at the bottom of the window all the time when writing long documents.


Me too.

What I do in my ~/.vimrc is:

    " Number of lines (context) around the cursor
    " You may like 3, or 5, or 10
    " A high number keeps the cursor in the middle of the editor
    set scrolloff=999
Then... it's always in the middle of the screen/window, even when working at really big resolutions.



close, but I want it to stay about a quarter of way down the screen.


This can be done playing with a number of lines... like 10 or 15. And it will stay at such distance (in lines) from the top or bottom...

Don't know a way to set it to a percent, but could be nice too, indeed.


I think the percentage is do-able with some autocmd shenanigans...even the link I posted has a snippet for it.

Changing that `/2` to a `*3/4` might work.

https://vim.fandom.com/wiki/Keep_your_cursor_centered_vertic...


This is why I like rich text editors like google docs instead of IDEs jammed with markdown extensions. Rich editors come from a lineage of word-processing tools that are first and foremost for writing paragraphs of text and content. They go out of their way to make the experience of reading and writing pleasant, not mechanical.


iA Writer has a “typewriter” mode that behaves like that.


Thanks for that info. That is the feature.


And here it is a summary of the alternatives (there are plenty):

- Open Source https://www.libhunt.com/r/ghostwriter

- Commercial https://www.saashub.com/ghostwriter-alternatives


I am excited to take a look at this especially as it doesn't seem to be an electron app which I try to avoid.


Looks neat - would also suggest checking out https://typora.io as well, which renders WYSIWYG in the editor and does a great job with syntax highlighting. I use it for taking notes locally.


Would love to try it. Am I overlooking the MacOS binary, do I have to build it from source?


The README gives instructions. It says it's experimental though.

https://github.com/wereturtle/ghostwriter#macos


Yeah I read that. Did you? It just says you can download an Application bundle, but provides no link.

The only other reference to MacOS anywhere is how to build from source.



Thank you!


Ah, dang it. I need something that's cross platform. This app is nice, but seems too Linux-centric.

I use Joplin currently, it's kinda ugly, but works on all platforms including Android, and syncing it via Dropbox is trivial.


What is an installation bundle? (tried some of the unix looking downloads but none seemed appropriate)


A bundle is basically what you see as an application in macOS launcher; under the hood, each app is actually a subdirectory with a bunch of things in it, which presents as a single-clickable in the GUI. I would interpret this to mean "manually sudo copy the (app directory) to /Applications, there is no installer" (download, untar and copy)

For the releases, I don't actually see a published tarball for the bundle (on github) so I'm going to further think that they mean "...first you have to follow the compile instructions to create the output bundle (binaries)" - get Xcode installed, etc. and follow the second macOS readme.

Better answer on bundles: https://en.wikipedia.org/wiki/Bundle_(macOS)


Thanks that made sense.


Wondering why there isn't a .dmg for Mac OS? Of course I know that I could install it via command line, but a .dmg dramatically improves the chances of a casual website visitor to install it and try it.


Anything similar out there for Asciidoc? Currently using the VS Code plugin.


Visual Studio Code has a Zen mode (Cmd+K Z) that should at least give you the distraction freedom of GhostWriter, regardless of the markup you use.


I believe you can use Pandoc with Ghostwriter. Pandoc has support for Asciidoc.


I love this, I usually write my notes in Atom for school (I know overkill) but I sometimes takes screen shots of slides for my notes and never had a good way to view everything together.. this works!


With the need of having a preview in the another window it's already not distraction free in my book.

edit: below people mentioned Typora - that's what I want in my favorite editors (vscode/obsidian)


One of the things that annoys me most about markdown is the lack of flexibility and editing of tables. Transposition and drag/drop of column/rows would be a dream.


Any Joplin users here? How does this compare to Joplin? (besides being less supported on different platforms)


No installer for mac though, will stick with tools that care about UX.


Need a simple no-build markdown reading/previewing JS library., any pointers?


Ghostwriter is awesome. I use it frequently and absolutely love it.


goyo and limelight can provide (less dramatic) distraction-free experience on vim, and even without searching I'm sure there's something for previewing Markdown from vim.


Vim displays plaintext, so you cannot use it to preview markdown as HTML. However, you can use a plugin such as "markdown-preview" [0] to preview markdown in your browser.

0: https://github.com/iamcco/markdown-preview.nvim


Now do the same for asciidoc as this is what book writers use, and make it easy to export to epub, and you have a product that will be used by the next generation of self publishers


Just write plain text files people in notepad.


Anything similar for reStructuredText?


Anything different from using VSCode?


Does it handle Fountain syntax too?


Installed. Love it. Thank you!


The cursor is blinking.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: