Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
Software

A Powerful, but Minimal Document Markup Language? 66

demi asks: "Okay, I'm looking for markup language to keep documentation in. The primary features I'm looking for is power--for example, I want tables to be at least as easy to describe as they are in HTML, and have similar power; output-independence--I want it to produce good-looking HTML and good-looking printed output, and I don't want to fiddle with typesetting at all; and I want it to be minimal--in particular, I don't want to have to markup paragraphs, these should be recognized in the same way POD or LaTeX does. POD is not powerful enough (no tables, headers, etc.). LaTeX is too oriented toward presentation, DocBook XML and SGML require too much markup, and Texinfo is really the same deal. I know I could roll my own but I'm looking for something standard-ish. My documentation will be focused on policies and procedures. Any suggestions?"
This discussion has been archived. No new comments can be posted.

A Powerful, but Minimal Document Markup Language?

Comments Filter:
  • DocBook (Score:4, Informative)

    by Rapid Home Offer ( 770408 ) * on Monday April 12, 2004 @01:48PM (#8839362) Homepage Journal
    I'd still suggest going with DocBook, even though it has a lot of markup. You can mostly fix that problem with a good text editor. Any decent editor will have quick-keys that makes your life much easier, and you'll benefit from all of the existing tools.
  • by V. Mole ( 9567 ) on Monday April 12, 2004 @01:49PM (#8839370) Homepage
    This [sourceforge.net]is what you need. Outputs to HTML, Latex, XML. Easy to write, easy to read.
  • This is what I use: (Score:2, Informative)

    by Anonymous Coward
    Forrest [apache.org] and XMLMind [xmlmind.com]
  • suck it up. (Score:3, Interesting)

    by pb ( 1020 ) on Monday April 12, 2004 @01:50PM (#8839385)
    Either search through the myriad [freshmeat.net] of home-grown document markups yourself, or write something you like. Despite what you may believe, slashdot is still not freshmeat, nor is it google.

    We aren't mind-readers either, but based on your request, it sounds like you won't be happy with anything, so you'd better start coding.

    That's my suggestion.
    • Re:suck it up. (Score:4, Insightful)

      by Inexile2002 ( 540368 ) * on Monday April 12, 2004 @02:30PM (#8839805) Homepage Journal
      Pretty much. Get some good XML documentation and make up your own markup to your own standards. It's stupidly easy to get working and the learning curve for XML is about as quick as anything even remotely technical out there.

      Also, using something you made up yourself will let you customize it faster when you figure out that your specs contradicted each other or some other normal technical hurdle comes up.
      • I think I have to agree.
        XML and XSL are so easy to use at this point that creating an adhoc markup language would be reasonably easy.
        On a tangent, does anyone know if thoughts have been made about moving TeX to XML?
      • I doubt that's a good solution. At least with DocBook you can buy/look up standardized documentation. That's a huge win most of the time -- especially if he moves on to another job. The issue I think probably has more to do with ease of authoring than his choice of markup language.

        Questions like, "Why does it say, '<section> does not match </para>?' I'm not a computer person; I just want it to work," certainly come to mind. And you know what? The luddite is right in this case.
    • I think that he doesn't know what he is asking for. He mentions tables & coding. Why would he want to code and/or use tables, when he can just use CSS? Sure, CSS may not be easy, but it can't be harder than coding a whole new standard.
    • I've been fond of Gentoo Linux's XML based markup language [gentoo.org]. Without any prior knowledge of XML, I was able to modify and extend it to meet my needs. It may make a good baseline for you to start with.
  • Er... (Score:3, Informative)

    by amarodeeps ( 541829 ) <dave@dubi t a b l e.com> on Monday April 12, 2004 @01:53PM (#8839427) Homepage
    XHTML and CSS? Really pretty powerful, once you can wrap your head around browser-independent and effective ways to use CSS.
  • Wiki! (Score:3, Informative)

    by samael ( 12612 ) <Andrew@Ducker.org.uk> on Monday April 12, 2004 @01:54PM (#8839429) Homepage
    Most wikis seem to do something like what you want - taking simple text and producing HTML from it.
    • Re:Wiki! (Score:2, Informative)

      by merphant ( 672048 )
      Indeed, this is the whole point of wiki. "Wikiwiki" means "quick" in Hawaiian, so wiki markup is a quick, easy way to mark up your text. Wikipedia's MediaWiki software has a very powerful wiki syntax [wikipedia.org] that has tables, lists, headings, images, and all sorts of other fun stuff.
  • by Mr.Ned ( 79679 )
    You might consider adapting the markup used in Wikis - it's very straightforward.
  • The problem with docbook isn't the complexity of the markup, but the lack of decent editors. I hate markup languages. They always manage to grow larger than the set of markups you can store in your memory for occasional use.

    If I'm concentrated on developing in language X and architecture Y using technologies Q,R and T. I don't want to also have to juggle around markup language Z in order to properly document the project.

    My advice would be to use XMLMind [xmlmind.com] to write Docbook. It's much like Lyx in that it's a WYSIWYM editor, but it was written from the ground up to do Docbook XML. It's also not Open Source, but the basic version that handles Docbook well is freely available from the author's site.

    It helps to have some knowledge of Docbook to use XMLMind, but it takes most of the work away. You can save and convert the output using the standard docbook tools that come with most Linux distros. It's not a silver bullet to this particular problem, but it sure does help a lot.
  • XHTML? (Score:5, Insightful)

    by Ouroboro ( 10725 ) * <(moc.oohay) (ta) (tyoh_noraa)> on Monday April 12, 2004 @01:58PM (#8839478) Homepage Journal

    Why not go for some sane subset of XHTML? Since you have the ability to specify the markup yourself, you can choose what features of XHTML you want to include. That way you get the benefits of having half a jillion tools that already know how to work with your chosen format.

    Since it is XML you can perform transforms on it that you need using XSL. One stylesheet for display, a second stylsheet for printing. You could use the XHTML dtd as a starting point, and just start cutting stuff out. The nice thing with starting with an existing format, is that somebody else has done a lot of the hard work already.

    • A subset of XHTML is the way to go, most definately. I pretty much only use <div>, <p> and <span> tags these days coupled with CSS. A lot of the XHTML/HTML tags are cruft left over from early HTML days, CSS eliminates a lot of the clutter. The beauty of CSS, of course, is that the way the document looks can be completely changed at any time.
    • In addition to standard XHTML, use classes to differentiate various types of paragraphs, headings, etc. For example, if you want to ensure that file names are marked up differently than normal paragraph text, just put them inside of a <span class="filename"> tag. This will let you (if you desire) use CSS to distinguish each class with a different appearance. For code snippets, use <pre class="code">. For sidebars, use <p class="sidebar">. A little-known fact is that you can assign multiple
      • I totally agree with the last 3 parent messages, XHTML es great, html and CSS are pretty much the same used with careful, but XHTML strict is quite great for a good hyperdocument.
        I think there is a missconception about using TWO different languajes of a single document, but is like vim [vim.org], once you get to know how to use it, it's as good as it can get.
    • Except that all (X)HTML tools include sundry items like "bold," "italic," "18pt sans-serif," and "horizontal line," and "red." These are all presentation concerns that have no place in standardized documentation. This is why he mentioned DocBook XML.

      XHTML is a step in the wrong direction.
      • Re:XHTML? (Score:3, Informative)

        by Visigothe ( 3176 )

        Except that all (X)HTML tools include sundry items like "bold," "italic," "18pt sans-serif," and "horizontal line," and "red." These are all presentation concerns that have no place in standardized documentation. This is why he mentioned DocBook XML.

        While HTML tools may have style as you mentioned, valid XHTML specifically separates style from presentation. Everything you mentioned above [with the exception of the "hr". I believe that to be valid.] are supposed to be in CSS, the presentation layer. XHTML

        • Re:XHTML? (Score:3, Informative)

          by ttfkam ( 37064 )
          Well...XHTML 1.0 Strict and XHTML 1.1 separate it. XHTML 1.0 Transitional (in far greater use than the others I mentioned) indeed still has the items I mentioned.

          And just because the tools may have them, you aren't forced to use all the buttons!

          Indeed. But not everyone cares (or even knows) about that. Even on Slashdot there are a huge number of folks who didn't see the point of the LDP moving to CSS. And this is supposedly a more tech-saavy group than the general public. Setting policy with a tool

      • Except that all (X)HTML tools include sundry items like "bold," "italic," "18pt sans-serif," and "horizontal line," and "red." These are all presentation concerns that have no place in standardized documentation.

        I guess that's why I clearly stated a SANE subset of XHTML. He has the ability to define the specific subset of XHTML he wishes to support. As someone mentioned good XHTML contains no formatting information. Rather all formatting information is provided via a stylesheet that references class

        • He has the ability to define the specific subset of XHTML he wishes to support.

          Pray tell, how would this be done? With the crap XML editors out there that are only vaguely better than using Notepad? If there were good XML editors, he would just use DocBook XML. Hint: If you have to interact with the tags, it's not a good editor. <para> especially. Correction: <para> included. <br /> especially.

          A WYSIWYG with XHTML? Show me one without presentational controls and I'll listen. If

          • A WYSIWYG with XHTML? Show me one without presentational controls and I'll listen.

            Well, I've used ewebeditpro [ektron.com], and it has the ability to enable only the markup that you are looking for. That means that you can disable the bold button. In fact to can disable any button you want. You can create new buttons. That allows the guy who's specifying the format to configure the editor, and once again all is well with the world. This is of course the only one that I'm familiar with, but I'm sure that any per

  • by MobyDisk ( 75490 ) on Monday April 12, 2004 @02:05PM (#8839561) Homepage

    Demi, you have some seriously conflicting requirements here:

    The primary features I'm looking for is power

    However:

    I don't want to fiddle with typesetting at all; and I want it to be minimal--in particular, I don't want to have to markup paragraphs

    What you are asking for is what every user wants: "I need something that has all the features I want, but none of the features I don't want." It must be powerful -- but don't have anything unnecessary. Those things are in conflict.

    Judging from some of your specifics, you sound very knowledgable on the subject of markup languages. It sounds like you are just sick of fiddling around with some of the more complex ones. You may also be the kind of person who winces when they think of the HTML produced by various office products. If my guess is correct, I suggest that you either: Acknowledge that nothing is perfect and simply open MS Word or OpenOffice and force yourself to accept them, or deal with the overcomplexity of the products you mentioned. I suppose a third possibility is to roll your own front-end for one of them.

    Good Luck.

    • Of course I want it all! Isn't that what software promises me? :)

      Seriously, I don't think that something needs the huge "markup-to-content" ratio that DocBook has (<para/> for every paragraph? You've got to be kidding me.)

      And maybe I should have mentioned that I also want to store structured document markup in a source-code control system, which are most powerful operating on line-oriented text files. And of course, they're all about presentation, not structure.

      I do know that nothing is perfect,

    • I don't want to fiddle with typesetting at all; and I want it to be minimal--in particular, I don't want to have to markup paragraphs

      What you are asking for is what every user wants: "I need something that has all the features I want, but none of the features I don't want." It must be powerful -- but don't have anything unnecessary. Those things are in conflict.

      On the contrary, they are not necessarily. What he's asking for is a complete lack of presentation (eg. a section header rather than 18pt bold on

  • Waterloo Script! (Score:1, Informative)

    by Anonymous Coward
    http://csgwww.uwaterloo.ca/sdtp/watscr.html
    • Good idea, AC. What is being asked for is something really simple like the Old Skool text formatters - runoff, Script, et al.. You want paragraphs? Just indent the first line or leave a blank line before them. You want headings? Just time ".h1 Heading Text Here". Tables are harder, but Script did them without as much markup as HTML. Back to the Future!
      • I hope you have a spare System/370 lying around to run it... (look at the bottom of the linked-to page). On the bright side, it does run in 1 meg of RAM... or 0.5 meg if you discard the built-in spell-checker.

        • Sure, Waterloo Script is a 370-ish system, but it's just one of an entire class of early text formatters that all share characteristics and derivations. One called "nroff" you might find vaquely familiar :-)
  • Wiki? (Score:3, Informative)

    by molo ( 94384 ) on Monday April 12, 2004 @02:11PM (#8839620) Journal
    Try some of the simple marup in a wiki text page:

    PhpWiki TextFormattingRules [sourceforge.net]

    I have to say, I wish slashdot would support this kind of markup. Kuro5hin has a similar 'auto-format', but PhpWiki's is more powerful.

    -molo
  • by dcocos ( 128532 )
    Did you try UML (Universal Markup Language)... because since it is universal it will cover every need and it is used by companies like Rational, who a lot of tools for it.

    Yes I know this isn't what UML is but I've got Karma to burn
  • Felt like mentioning YAML, just to add that missing "offtopic" to my collection. YAML is certainly as minimal as markup can get in keystroke count. It's beautiful. Unfortunately, folks use it only for data serialization so far. You'll have to write your own HTML/etc. converters in Perl or Ruby.

    http://www.yaml.org/
    • Yaml is more for detailing data than document structure and layout. Useful for data structures and serialization, but not so much for what this guy's looking for.

      Good luck getting the offtopic :)

    • You can serialize with YAML, but you can't do markup. It's a good way to database documentation, but not so hot for creating representations of documentation.
  • by fm6 ( 162816 ) on Monday April 12, 2004 @02:35PM (#8839852) Homepage Journal
    DocBook XML and SGML require too much markup...
    Require? Sure, DocBook has a lot of tags, but very few are required. DocBook is designed so you can use a small subset and ignore the rest, if you choose.

    Another approach is simply to define your own markup language. Since your needs are simple, you probably don't need to validate [montana.edu] your documents, so an informal description of a well-formed [developer.com] XML document is all the design you need to do. You'll also need to write transform software that creates HTML or whatever other deviverables you're trying to create. That's easy enough to do in XSLT [w3.org].

    One last suggestion: if you're serious about using markup that separates content and presentation (an attitude I heartily applaud) Slashdot is probably not the best place to get advice. You're inviting criticism and trolls from people who think that TeX, or even "Plain ASCII" is all anybody really needs. Try some of the XML forums, like XML doc [yahoo.com]

  • by Gustavo ( 64413 ) on Monday April 12, 2004 @02:44PM (#8839954) Homepage
    I've heard very good things about txt2tags [sourceforge.net] but I haven't used it myself. It's used to generate the pages of Dicas-L [unicamp.br] which hosts a famous Brazilian mailing list which sends daily computer related tips.
  • Simplified DocBook (Score:3, Interesting)

    by stonebeat.org ( 562495 ) on Monday April 12, 2004 @03:14PM (#8840204) Homepage
    take a look at simplified docbook [oasis-open.org]. Here are some good DocBook editors [tldp.org]
  • Markdown (Score:4, Informative)

    by albalbo ( 33890 ) on Monday April 12, 2004 @03:22PM (#8840282) Homepage

    Have a look at Markdown. It's like other text languages, but has 'fallback to HTML' easily available and is designed to be standards-nice:

    http://daringfireball.net/projects/markdown/ [daringfireball.net]

    There is also a flavour which guarantees XML-wellformedness, called xMarkdown (you can find a link to it on the Markdown list).

  • What Is `groff'?
    ================

    `groff' belongs to an older generation of document preparation
    systems, which operate more like compilers than the more recent
    interactive WYSIWYG(1) (*note What Is groff?-Footnote-1::) systems.
    `groff' and its contemporary counterpart, TeX, both work using a
    "batch" paradigm: The input (or "source") files are normal text files
    with embedded formatting commands. These files can then be processed
    by `groff' to produce a typeset document on a variety of devices.

    Likewise, `
    • Groff is a workable solution to typesetting like you want. With the macro packages, it's not THAT complex, and it has great power, and is ubiquitous.

      A good intro text for Troff systems, Gnu or otherwise, is UNIX Text Processing by Dougherty and O'Reilly.

      Good book. I think its out of print though.

    • Groff and troff do a very poor job of separating presentation from content. Even worse than TeX. Which may not matter to you, but does matter to the person asking the question.
  • by sjbirt ( 677053 )
    This [sf.net] could be worth a look.
  • Specifically, IMNSHO, MediaWiki [sourceforge.net]. This is the software used by the Wikipedia [wikipedia.org] and other projects, which ensures that it is under active development, and getting a lot of attention. Among other features, it has
    • Extremely simple, yet rich markup
    • Automagical Tables of Contents
    • Easy support for tables
    • Support for TeX markup for mathematical formulae (if needed)
    • Support for embedded images
    • Ability to diff with previous interations of an article and roll back changes if needed

    A wiki brings a lot to the ta

  • by FFFish ( 7567 ) on Monday April 12, 2004 @06:05PM (#8842011) Homepage
    ReSTructured Text and DocUtils

    I can not emphasize this enough: use ReST and DocUtils. I've been doing technical publishing to PDF using it, and have been delighted all the way through.

    ReST is output to XML which then flows through a proprietary XSL:FO to become PDF using XEP. (Whee! TLAs!)

    ReST is plaintext. It's exactly the sort of thing you'd do in plain ol' email to *emphasize* a point or `show a link`_.

    It does sections, sidebars, classes, everything you need for probably 95% of the technical documentation out there, and does it all using such ordinary tools.

    There are some ReST-supporting wikis, too, which can be used in a similar workflow.

    Keep you eye on it. ReST is about to hit critical mass.

    _`like this link.`

    ReSTructured Text and DocUtils

  • LaTeX (Score:3, Informative)

    by XoXus ( 12014 ) on Monday April 12, 2004 @07:46PM (#8842902)
    LaTeX is too oriented toward presentation

    What? You obviously haven't used LaTeX very much, have you? LaTeX is oriented precisely away from presentation - it is oriented towards describing the document's structure rather than how it should look. That's why the majority of academic papers and theses are written using LaTeX.

  • ... If you opt to write a frontend for another markup language. I'm serious. The fact is that it would be trivial to add the appropriate functions and macros to transform your markup language into whatever markup language you wish. As a plus, you would also get the full functionality of a programming language! I know that there are a few such libraries available, but the only one that I can think of at that moment is that of PLT Scheme, see their page for details [plt-scheme.org]
  • HTML, sed, printer (Score:3, Interesting)

    by leonbrooks ( 8043 ) <SentByMSBlast-No ... .brooks.fdns.net> on Monday April 12, 2004 @10:33PM (#8843929) Homepage
    sed <sourcefile.mostlyhtml -e 's/^[[:space:]]*$/<P>/' >destfile.html
    kprinter -j none --nodialog destfile.html

    If you want PDFs instead of hardcopy, use CUPS and add "-P nameofPDFqueue".
  • What you want is very similar to something like XML. You could define a
    set of shortcuts for yourself, and write a very simple script (e.g., in
    Perl) that just fixes up your shortcuts into the real thing. For example,
    if you don't feel like typing <p> at the beginning of every paragraph and
    </p> at the end, you could make the rule that blank lines delimit
    paragraphs; then your preprocessing script will have to insert all the
    paragraph tags. (This is not as hard as it sounds; for each blank line,
    you
  • I'm surprised that I didn't see Textile mentioned here. It's a simple, yet fairly powerful human readable markup language. Examples:
    You can make a span of text *bold by using asterisks,* or _italic by enclosing it in underscores._
    * bulleted lists
    * are easy
    * to make...
    |Here's a table cell|and another|one more|
    |another|row|here|

    There are many other styles; and simple ways to mark spans with styles and classes (for html output).

    For more information, examples, and a live demo, look at http://www.textism.com/t
  • If it's sufficient for your needs I'd _really_ reccomend asciidoc.

    Take a look at: http://www.methods.co.nz/asciidoc/userguide.html

    Brilliant for minimal markup, easy readability and conversion into other formats.
  • Texinfo is used to make printed manuals and online docs for GNU programs. It uses a simple, Scribe-like syntax and is implemented as TeX macros (for printing) and as a standalone C program for conversion to online docs (HTML or GNU Info format). There's an Emacs mode for editing it that works pretty well. It's about the easiest thing I can think of.

    http://www.gnu.org/directory/GNU/texinfo.html [gnu.org]

He has not acquired a fortune; the fortune has acquired him. -- Bion

Working...