DEV Community

Ryan Palo
Ryan Palo

Posted on

What are your Favorite Text-Processing Tools?

I. Love. Text-processing.

I don't know why. Don't ask me why. It's weird. But if it's a markup language, templating engine, static site builder, converter, generator, pipeline, etc., it fills me with pure joy to use them and learn about new ones.

So, I want to hear from you. What tools do you use? What's your favorite markup language? What's so good about Asciidoc, or Org-mode, or Flnerb? Why is your static site builder the best? What simple command line utility have you super charged by duct-taping shell scripts all over it in order to handle your most extensive text-file-conversion needs? Show me your shell scripts! Your one-liners!

Bonus game: let's see how many people come here after seeing the title without reading the post or the other comments to say "Pandoc." 😊

Bonus score as of 10/25 8:20 AM PDT: 1

Latest comments (10)

Collapse
 
vbd profile image
Volker B. Duetsch

Normally Markdown + mkdocs.org/ + squidfunk.github.io/mkdocs-material/ is enough for my projects.
If it was not enough I've used
Markdown + "tool recommended by users not reading the post" to generate LaTeX, DocBook-XML and Microsoft Word

Maybe off-topic: nimbletext.com/ as Jeremy already mentioned.
More off-topic: github.com/BurntSushi/xsv and github.com/johnkerl/miller

Collapse
 
rpalo profile image
Ryan Palo

Ooh darn guess the score stays put 😁 I’ll have to take a look at those other tools, thanks!

Collapse
 
xanderyzwich profile image
Corey McCarty • Edited

I primarily am working on csv or sql files (sometimes java files) and do editing with many tools. Python scripts iterate more easily then more complex Bash equivalent, but sometimes I like to iterate ideas in Bash one-liners with sed/awk/grep/sort/uniq. In some odd occasions I have generated sql from an excel sheet (form we give clients) and exported csv before wrapping with insert into that_table syntax. More particular find/replace is easiest with Programmer's Notepad (you can mix regex and \ stuff).

I use XML and YML both in my daily work and greatly prefer the latter. Markdown is good for more complex stuff though.

Collapse
 
vlasales profile image
Vlastimil Pospichal • Edited

XML and XSLT.

CSV and AWK.

Collapse
 
jmfayard profile image
Jean-Michel 🕵🏻‍♂️ Fayard

What's your favorite markup language?

Markdown tackles the right problem.
But isn't the good solution to that problem.
So I use asciidoctor.

Why is your static site builder the best?

Boring answer: it depends.

I used Hugo in the past, and it has its pros. If you are familiar with Go, you will probably like it a lot.

I am more into JVM/Gradle/Kotlin so the best solution for me is Orchid

GitHub logo JavaEden / Orchid

A beautiful and truly unique documentation engine and static site generator.

Orchid

All Platforms Build Status Linux and Mac Build Status Windows Build status Current Version License: LGPL-3.0 Codacy Grade Codacy Coverage Gitter chat Backers on Open Collective Sponsors on Open Collective Open Source Helpers

A beautiful and truly unique documentation engine and static site generator.

Example Orchid site

Orchid is a brand-new, general-purpose static site generator for Java and Kotlin, with a focus on extensibility and aimed at developers looking to improve their technical documentation. Orchid was born out of a desire for better-looking Javadocs and frustration with how difficult is it to manage large Jekyll sites and keep it up-to-date with your code.

Orchid supports a variety of plugins, including a wiki, static pages, blogs, and much more. It aims to have high compatibility with many of the existing static site generators, such as Jekyll, Gitbook, and Hugo, so that migration to Orchid is painless. And if you can't find a plugin to do what you need, Orchid provides an intuitive way to add your own private plugins and a rich API so you can make your site as beautiful and unique as an Orchid.

Collapse
 
rpalo profile image
Ryan Palo

I keep hearing about AsciiDoc. I'll have to put some more time into trying it out. Thanks! :)

Collapse
 
weirdmayo profile image
Daniel Mayovsky

Favorite markup language: Markdown
Favorite text-based data format: JSON
Favorite template language: Jade/Pug

JSON is very easy to manipulate with Python and with JavaScript, which are my main go-to's when starting an Open Source project.

Markdown is very easy to convert to HTML and easy to style.

Jade/pug is super-readable compared to other template languages.

Collapse
 
anwar_nairi profile image
Anwar

Pug (former Jade) is wonderful. I do not know how to HTML now!

Collapse
 
jeremycmorgan profile image
Jeremy Morgan

I too am obsessed with text stuff.

Markdown is amazing, MarkDown Monster is one of my favorite tools in Windows, I use Atom on a Mac.

When writing I use orgmode to do the outlines, then write it up in Markdown. I can outline just as easy in Markdown but orgmode works a little better to create a visual separation, and i love the checkboxes.

I know this is a little outside what you're talking about, but NimbleText is the single greatest text manipulation tool I know of. Let's say you have a csv file with data, want to make it into JSON? Yaml? SQL? Build an HTML page out of it? This tool does it all. I love it.

Collapse
 
rpalo profile image
Ryan Palo

I'll start :)

I'm going to do it, because it truly is an amazing tool: Pandoc.

Favorite markup language: Markdown (so so so much), but I wish I had an excuse to write more restructuredtext, because it seems so powerful. Also, I actually really like plain ole HTML. I also wish I was better at LaTeX.

Favorite text-based data format: YAML

Favorite templating language: probably Liquid, but Jinja2 isn't bad either.

Favorite static site builder: Jekyll, but I've been shopping around just for fun. Zola seems super cool, but I haven't had enough free time to kick the tires yet. And I'm building my own in my spare time. It's going good so far, but not really ready for public consumption yet. Also, I need a dope logo of a cute squid above an ink bottle, but don't have the artistic skill to create that yet.

Bonus mention to sed and awk for being the tools that are there for us when nobody else is.