Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[mylyn-integrators] StoryMarkup

Hi,

I've finished my first own markup language.

> > During the post processing step, I can fix some issues that would be 
> > hard to get right at the markup level because I need to know about 
> > the position in the document, surrounding ranges, etc.
> Most markup languages are designed such that single-pass parsing is
> possible. Post processing and multi-pass parsing, though technically >
feasible, adds significant complexity to a parser.
> Out of interest, what markup language are you creating a parser for?

I'm calling it "story". It's pretty basic but well suited for novels.
It's got support for speech and thoughts, quotes, and meta-information.

--------------------------------------------------------------
encoding=ISO-8859-1
{{{header
version=1.0
lang=de
project=test
id=1
status=draft
title=Kyorous Umhang
copyright=2009,pdark
type=index
}}}
{{{summary
Summary
}}}
{{{teaser
Teaser
}}}
{{{thanks
Dankesworte.
}}}

= Heading =

<q origin="Forne Rako">Luckily, I never had much time to think.</q>

Japanisch: &#x6021;&#x77e5;&#x6717; - Ichiro[XXX Fixme]

<<Spoken text,>> of someone.

<<T Toughts,>> of someone.

<<Y Yelling!,>> of someone, <<or <yell>even</yell> in normal text.>>

<<F Fremdsprache,>> of someone, <<or <foreign>sogar</foreign> in normal
text.>>

<<Y <foreign>Foreign yelling</foreign>,>> oder <<F <yell>the other way
around.</yell>>>. Manchmal auch so: <<Blabla <foreign>foreign
<yell>yelling</yell> and back</foreign> oder <yell>Geschrei
<foreign>foreign</foreign></yell> mit noch mehr Blabla.>>

                        ***

Und eine<fn>Hier!</fn> Fussnote.

Fussnote über mehr als eine Zeile<fn>Das
ist ein Test</fn>. Und ein Fixme[XXX über
mehr als eine Zeile.]

Er sagte: <q>Das hat er gesagt.</q>

--------------------------------------------------------------

It's a mix of XML and Wiki markup. Wiki markup is the default unless you
have some complex situation (like mixing yelling and foreign languages).

Right now, I'm struggling with these problems:

- For PDF export, I need better control over the gaps between paragraphs
and lists. For this, I need to know the last paragraph before a list,
the first list item, the last list item and the first paragraph after a
list.

- For these kinds of text, WikiLinks don't make sense. Instead, the
editor should figure out by itself which words should be a link (like
names of places, characters or items). For example, Adviser Rarrarar has
such a unique name, it's really simple to notice and link. It's a bit
more complex for "Rako" (which is the name of a character, a family and
a star system).

- Novel editors must be smart about "good text". They must highlight
things like repetitive words, paragraphs always starting with the same
word, comma positions (">>," instead of ",>>")

- I have three foreign languages in the text. In one of them, you can't
have "can't", "haven't", "didn't" (i.e. they don't slur words together).
In another, you have extreme slang. For these, I need different spell
checkers in the same line of text.

- There must be quick/near instant navigation in the whole novel.

- The editor should automatically figure out what is used in which
section, so it can build a list of sections in which a character is
mentioned (or even appears).

- There should be simple tools like word count, progress (so you can say
"I want to write 1500 words today"), version control, automatic backup.
I'd also like auto-save everywhere and a full undo history.

- Filtering the markup from the text to get a clean text stream to pump
through Lucene.

So far, I've implemented the markup language, I can index and search
with Lucene, and I can produce HTML (with a TOC and navigation links
between the parts of the story). Next on my wish list is to start with
an editor.

Regards,

-- 
Aaron "Optimizer" Digulla a.k.a. Philmann Dark
"It's not the universe that's limited, it's our imagination.
Follow me and I'll show you something beyond the limits."
http://blog.pdark.de/


Back to the top