# `ogmarkup` ## What is `ogmarkup`? Typographic rules can be trick to enforce in a consistent manner in a document. In French, typographic rules for *dialogues* are arguably worst. `ogmarkup` is part of the so-called ogma-project. It is a minimal domain-specific markup language, intended to free fiction writers from the pain to enforce typographic rules within their productions manually. ## The Language ### Formatting ```ogmarkup This is a regular sentence. ``` ```html

This is a regular sentence.

``` >

This is a regular sentence.

------------------------ ```ogmarkup *This is a sentence with emphasize.*

``` ```html

This is a regular sentence.

``` >

This is a regular sentence.

------------------------ ```ogmarkup +This is a sentence with strong emphasize.+

``` ```html

This is a sentence with strong emphasize.

``` >

This is a sentence with strong emphasize.

------------------------ ```ogmarkup This +is+ a *sentence with +multiple emphasizes+*. ``` ```html

This is a sentence with multiple emphasizes.

``` >

This is a sentence with multiple > emphasizes.

------------------------ ```ogmarkup "This is a +quote+." ``` ```html

“This is a quote.”

``` >

“This is a quote.”

------------------------ ```ogmarkup This +is an "incorrect+" sentence. ``` ```html

This +is an "incorrect+" sentence.

``` ------------------------ ```ogmarkup This +is an "incorrect+" sentence. ``` ```html

This +is an "incorrect+" sentence.

``` ### Dialogues ```ogmarkup [Hi,| she says.|](Clara) ``` ```html

Hi,” she says.

``` >

Hi, she says.

------------------------ ```ogmarkup [Hi,| she says.| How are you?](Clara) ``` ```html

Hi, she says. How are you?

``` >

Hi, she says. How are you?

------------------------ ```ogmarkup [Hi,| she says.| How are you?](Clara) [I'm fine, thanks.] ``` ```html

Hi, she says. How are you?

I’m fine, thanks.

``` >

Hi, she says. How are you?

I’m fine, thanks.

------------------------ ```ogmarkup [Hi,| she says.| How are you?](Clara) She was smiling. [I'm fine, thanks.] ``` ```html

Hi, she says. How are you? She was smiling. I’m fine, thanks.

``` >

Hi, she says. How are you? She was smiling. I’m fine, thanks.

------------------------ ```ogmarkup It was a hot day. [Hi!| he said.](Aaron) His friends smiled. ``` ```html

It was a hot day.[Hi!| he said.](Aaron) His friends smiled.

``` >

It was a hot day.[Hi!| he said.](Aaron) His friends smiled.

### Paragraphs ```ogmarkup This is a first paragraph. This is a second paragraph. ``` ```html

This is a first paragraph.

This is a second paragraph

``` >

This is a first paragraph.

This is a second paragraph

------------------------ ```ogmarkup [Ceci est une première ligne de dialogue.] [Ceci est une autre ligne de dialogue.] ``` ```html

« Ceci est une première ligne de dialogue.

Ceci est une autre ligne de dialogue.

``` >

« Ceci est une première ligne de dialogue.

Ceci est une autre ligne de dialogue.

## The Implementations A first implementation of an `ogmarkup` parser and compiler has been written in Haskell, and [has been published on hackage (MIT)](https://hackage.haskell.org/package/ogmarkup). This first project has been deprecated in favor of a rewriting in Rust yet to be released on `crates.io`