Office.TXT - The Free Writer’s Command Line Tool Suite - $ gem install officetxt - World's 1st Office Suite in Ruby ;-)

Hello,

    I've put together the world's 1st office suite in ruby :wink: Let's
welcome Office.TXT - The Free Writer’s Command Line Tool Suite [2].
Use

   $ gem install officetxt [3]

to install the all-in-one office bundle.

What's included? For now:

- journaltxt
- jekyll
- drjekyll
- mrhyde
- octopod
- w2m
- rougify
- kramdown
- quik
- and more.

Anything missing? Let us know. Cheers

[1] https://officetxt.github.io
[2] https://github.com/officetxt/officetxt

    I've put together the world's 1st office suite in ruby :wink: Let's
welcome Office.TXT - The Free Writer’s Command Line Tool Suite [2].

Oh my god. Where did you get such an idea?! This is certainly very
cool.

Anything missing? Let us know. Cheers

Maybe a tool for printing Excel/LibreOffice spreadsheets, based on
roo[1] or similar?

I'll continue to do my office work with LaTeX/KOMA-Script/Beamer, but I
will keep an eye on this project as it looks fairly interesting.

Marvin

[1]: https://rubygems.org/gems/roo

···

On Mon, Jul 24, 2017 at 09:20:40PM +0200, Gerald Bauer wrote:

--
Blog: https://www.guelkerdev.de
PGP/GPG ID: F1D8799FBCC8BC4F

Probably-mostly-irrelevant opinion:

Most of these are no use to me personally. I use Pandoc for most of my office-y things (and I suppose that you can't include that since it's not Ruby). I use Middleman for blogging (or, I am about to). Quik and w2m look really interesting, though.

Don't get me wrong. I think it's a good idea. It's just I'm not in that use case.

···

-----Original Message-----
From: ruby-talk [mailto:ruby-talk-bounces@ruby-lang.org] On Behalf Of Gerald Bauer
Sent: 24 July 2017 20:21
To: Ruby users
Subject: Office.TXT - The Free Writer’s Command Line Tool Suite - $ gem install officetxt - World's 1st Office Suite in Ruby :wink:

Hello,

    I've put together the world's 1st office suite in ruby :wink: Let's welcome Office.TXT - The Free Writer’s Command Line Tool Suite [2].
Use

   $ gem install officetxt [3]

to install the all-in-one office bundle.

What's included? For now:

- journaltxt
- jekyll
- drjekyll
- mrhyde
- octopod
- w2m
- rougify
- kramdown
- quik
- and more.

Anything missing? Let us know. Cheers

[1] https://officetxt.github.io
[2] https://github.com/officetxt/officetxt

Unsubscribe: <mailto:ruby-talk-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-talk>

Click here to view Company Information and Confidentiality Notice.<http://www.jameshall.co.uk/index.php/small-print/email-disclaimer>

Hello,

     Thanks for your kind words. Thanks for highlighting roo.

I'll continue to do my office work with LaTeX/KOMA-Script/Beamer,

    The idea of Office.TXT is to make LaTeX (along with HTML) one of
the two major (open) output formats. Did you know? kramdown supports
latex e.g. use Document.new( text ).to_latex.

    And the upcoming evolved markdown markup, that is, Text with
Instructions (.texti) [1] has LaTeX support from the start.

    Long way to say - have you ever tried using markdown (and friends)
for LaTeX? Why? Why not?

    Cheers.

[1] https://github.com/texti
[2] https://texti.github.io/samples

Hello,

I use Middleman for blogging (or, I am about to).

   Maybe someone is putting together an Office.TXT, the Middleman
Edition. Yeah, sorry for now it's basically Office.TXT, the Jekyll
Edition :wink:

    The main reason for using Jekyll (apart from more themes &
plugins, and built-in support in GitHub, and more) is that the Liquid
template language is "language-independent" e.g. there are versions
for JavaScript, Go, etc. and it's kind of good compromise between
"logic-less" Mustache/Handlebars and just use PHP/Ruby (e.g. full
power of a scripting language).

About pandoc.

  Yes, it's fantastic. Like LaTeX you have to install it yourself. Sorry.

And yes, the downside of an office package is always that you do NOT
get best-of-class. Just a "random" suite of goodies.

   Cheers.

    The idea of Office.TXT is to make LaTeX (along with HTML) one of
the two major (open) output formats.

In my experience, any XY-to-LaTeX converter needs postprocessing of the
LaTeX document. They usually target olde pdflatex as if there had never
been an evolution in the LaTeX universe. pdflatex has problems with
Unicode, which I depend on for German texts -- nowadays you have to use
xelatex or even better lualatex. If you want to use your normal TTF/OTF
fonts, there is no choice but to use one of those two, and I do want to
use them (I have commercially purchased OTF fonts on my system). I have
the impression that since there is no newer edition of the "LaTeX
Companion", a good number of people think LaTeX has not evolved behind
that.

I don't want to postprocess my documents manually.

    Long way to say - have you ever tried using markdown (and friends)
for LaTeX? Why? Why not?

I have tried, and the one major reason why I still use LaTeX directly is
the macro system. It is wonderful. Semantic markup beats the structural
markup offered by Markdown and friends for any document longer than a
few sentences by far. I will give you three examples.

First, a simple one. There is a useful concept named "admonitions". It
basically means you place a paragraph of text in a box, place an icon to
the left of the text, and use a specific colour like a light blue on the
background to make it stand out from the rest. In other words, "info
boxes". You can't have that in Markdown without having to write the HTML
for that including the icon over and over each time you want such an
admonition box again and again. This is very verbose, and
error-prone. With LaTeX, I once define a macro that does the layout for
me, and then I simply use \begin{infobox}...text here...\end{infobox}.
So much easier!

Second, over time I have developed a number of macro packages I only use
for myself that specifically tailor certain things to my use. For
example, I need a highly specifically configured citation system where I
can exactly determine the appearance of the citation (I need verbose
footnote-style citation, not the short numbering citation). There is no
way to achieve this with Markdown. LaTeX offers me Biblatex+Biber to do
that, and it's very smooth to use (and if you still use BibTeX, you
should really ditch it for this much more modern alternative).

Third, the most common office work I have is to write letters. Like
issuing an invoice, putting forward an individual offer, or even writing
to the local politicians. Letters have a standardised layout. There
needs to be a recipient block, a sender block, usually a footer, a date
that should default to today's, and some more stuff. With
LaTeX+KOMA-Script I get that all for free with just defining some easy
macros, and it fits the German letter specifications. With anything
based on Markdown, I have to jump through quite a lot of hoops to get
this.

I do use Markdown for writing blog posts. I use nanoc[1], which is
written in Ruby, to convert all the stuff into a static HTML structure
which I can rsync onto my server. Still even in that context, the
inability to specify "this is a person's name" in an easy way (combined
with a macro that says "make person names italic") instead of "this is
italic" bothers me, but converting LaTeX to HTML is a route to deep
problems. I know this simple case can be recovered by use of CSS classes
(I'm still a little of a web dev, after all), but anything requiring a
more complex HTML structure behind the "macro" fails.

I have experimented with M4 to get a macro system ontop of Markdown
(yes, you can perfectly use M4 outside of Autotools, and it's cool), but
it requires me to maintain tooling myself, which places work on me which
I don't want to have; I have other things to do. For blogposts, Markdown
suffices barely. For comments on other nonstructured content, it
suffices. For anything that requires complex logical structure, it
definitely fails for me, and LaTeX is the better way to go.

Once I have the time to properly learn Emacs' org-mode, I may also just
use that instead of nanoc as it can nicely generate an entire page
structure, but I don't have that time currently.

Marvin

[1]: https://nanoc.ws/

···

On Tue, Jul 25, 2017 at 08:49:04AM +0200, Gerald Bauer wrote:

--
Blog: https://www.guelkerdev.de
PGP/GPG ID: F1D8799FBCC8BC4F

Hello,

    Thanks for the detailed write-up on real-world usage. Text with
Instructions (.texti) is trying to "fix" at least some of the road
blocks.

Semantic markup beats the structural markup.

   In Texti you can use semantic markup with macros (called templates
like in Wikipedia markup) e.g. {{ fig | pic.gif }} or {{ tip |
aynthing here including other {{ table | ... }}}} and so on.

    {{ fig }} is just a reference to the _fig.texti or
_includes/fig.texti or "inline" (written in ruby) template. In all
templates you can use a "variant" of Liquid scripting too (which you
cannot in Wikipedia markup - it's just a text building block /
template).

There is a useful concept named "admonitions".

  That's an easy one. In Texti there is a "generic" division block e.g.

:: Note: This is an admonition.

That's the short form. The long form is:

:: Note :::::::::::::::
  Anything goes

  And so on
:::::::::::::::::::::::::::

  And there's even an Unicode (Ascii-style) Art version (actually like
in ruby - many styles, actually).

I have experimented with M4 to get a macro system ontop of Markdown

  Again Text w/ Instructions (.texti) will include a macro system
out-of-the-box. It's part of the markup language (following mostly
Wikipedia markup templates) e..g. {{ macro | para1 | para2 }} plus
"simplified" Liquid for templating e.g. {{ param[0] }} becomes §1§
(uses § because $ is "reserved" for math-mode).

   Anyways, if anyone wants to help in evolving (fixing) markdown and
merging it with Wikipedia markup while also making it easy to use
LaTeX as a first-class (output) citizen (besides HTML) join the Text
w/ Instructions (.texti) [1] and post your ideas, road blocks, etc.

    "Real" languages like Ruby are living languages and evolve. Let's
evolve the "frozen" Markdown :wink:

  Cheers.

[1] https://texti.github.io