Zoológico de linguagem de marcação
Recentemente fiz uma pesquisa sobre linguagens de marcação, principalmente por meio de pesquisa na web e analisando repositórios no tópico “linguagens de marcação” no Github.
Os mais interessantes que encontrei tinham algum tipo de foco ou filosofia subjacente. Muitos eram basicamente “Markdown é incrível, mas também é uma droga, então aqui está o meu incrível Incompatível-Markdown-Alike para meu blog pessoal”.
Algumas dessas línguas não existem mais, exceto como páginas registradas no templo sagrado do archive.org.
Aqui estão alguns dos mais interessantes que encontrei.
Não vou discutir ou mencionar alguns comuns, como:
HTMLDocbook, Dita,
TEIA família TeX, Djot, Gemtext, Typst, Creole et al., ou Markdown ad nauseum.
Linguagens de marcação
Listado em ordem alfabética.
Pós-texto
Uma alternativa à marcação inline… Você escreve algum texto. Após o seu texto, você adiciona suas instruções de marcação com seletores para selecionar o texto a ser marcado, um comando por linha.
Here is a silly another example, with a lot of aftertext.
strike a silly
italics a lot
bold with
underline aftertext
https://www.example.com Here
Here is a silly another example, with a lot of aftertext.
Archie ML
ArchieML é um formato de texto estruturado otimizado para capacidade de escrita humana. Foi criado no The New York Times para facilitar a escrita e edição de textos estruturados dentro de prazos que pudessem ser renderizados em páginas da web ou, mais especificamente, renderizados em gráficos interativos.
title: Hi, World!
description: This is the description of the hello world post.
(+content)
# A Blog Post with Titles
This is the content of a blog post.
{.object}
text: This is a nested object I can add into my content, parsed with some kind of custom component.
number: 1
{}
{.text}
value:
* These are bullet points
* Second bullet point
:end
{}
()
(Eu me pergunto se o New York Times ainda está usando isso, se é que realmente usou)
EmJSON
Semelhante ao Aftertext, esta linguagem formatada em JSON separa as informações semânticas e de estilo do conteúdo bruto.
“Nossos objetivos na Condé Nast são fornecer o melhor conteúdo para nossos leitores e as melhores ferramentas para nossos editores. Para fazer isso, precisamos de um formato que possa ser rico, extensível e portátil. É importante que a fonte do conteúdo forneça pouca ambiguidade sobre como uma história deve ser exibida.”
“…Na construção deste formato optámos por separar o texto original dos dados associados para o efeito.”
{
"content": "The best writing anywhere, everywhere.",
"annotations": ({
type: "-offset-italic",
start: 4,
end: 8,
attributes: {}
})
}
Isso é renderizado como:
O melhor escrevendo em qualquer lugar, em qualquer lugar.
Esculpir
“Uma linguagem de marcação pós-Markdown. Mnemônicos visuais, design centrado no ser humano – marcação que você pode sentir.”
Esta é uma redução semelhante, mas tem uma filosofia subjacente suficiente para que eu a inclua como uma das abordagens mais consideradas. Ainda me parece uma sopa de pontuação, mas vale a pena dar uma olhada.
/italic/ *bold* /*bold italic*/
_underline_ ~strikethrough~
=highlight= {^super^} {,sub,}
cxt
cxt é uma linguagem de marcação ultrassimples, semelhante em espírito ao BBCode, projetada para ser o mais fácil possível de analisar (para computadores e humanos), ao mesmo tempo que oferece todos os recursos necessários ao projeto CivBoot
(!)##########################################################################(/)
(h1)cxt: text markup for civilization(/)
(")(b)Note:(b) This file is created using cxt. To see the source view
README.cxt in this directory.(/)
It should not take more than a few minutes to know how to read and write
documentation.
cxt is an ultra-simple markup language similar in spirit to @BBCode, designed
to be as easy as possible to parse (for computers (i)and(i) humans) while
delivering any features necessary to the @CivBoot project.
cxt is designed to:(+)
* Make document writing easy.
* Make document parsing easy.
* Make reading of raw (text) documents easy.
* Make consuming structured data from documents easy.
(/)
D★Marco
D★Mark é uma linguagem para marcação de prosa. Facilita a escrita de textos semanticamente significativos, sem se limitar à semântica fornecida pelo HTML ou Markdown. Se você é um redator técnico em busca de uma linguagem de marcação flexível, o D★Mark pode ser uma boa opção.
#para I am a paragraph with an %em{amazing} inline element.
#list(unordered)
#item glob patterns
#item regular expression patterns
#item legacy patterns
Folhas
frundis é uma ferramenta para compilar documentos escritos na linguagem frundis, uma linguagem de marcação semântica destinada principalmente a apoiar a autoria de romances, mas também adequada para muitos outros tipos de documentos. A ferramenta frundis pode exportar documentos para LaTeX, XHTML 5, EPUB, markdown e groff mom.
." Table of Contents
.Tc
." A Section (without numbering)
.Sh -nonum Overview
." Call to user defined .frundis macro
.frundis
is a tool for compiling documents written in the
.Lk /man/frundis_syntax-5.html "frundis language" ,
a semantic markup language primarily intended for
supporting authoring of novels, but also well suited for
many other kinds of documents.
The
.Lk /man/frundis-1.html Bm -t frundis frundis Em & tool
can export documents to LaTeX, XHTML~5, EPUB, markdown
and groff mom.
.P
The language has a focus on simplicity. It provides a few
flexible built-in macros with extensible semantics. It
strives to provide good error messages and catch typos,
while still allowing one to finely control output for a
specific format when needed.
.P
Here is a list of its main features:
.Bl " Begin list
.It
Common elements such as links, images, cross-references,
lists (including verse), simple tables, table of
contents, etc.
Minha própria linguagem de marcação privada (MOPL)
Eu criei minha própria linguagem de marcação para facilitar a escrita de postagens de blog e, ao mesmo tempo, deixar a capacidade de ir para HTML se eu realmente precisar. Isso não está nem perto de ser Markdown, modo Org ou TeX, mas uma mistura horrível dos três, com minhas próprias adições personalizadas.
author: spc
title: ``Lorem ipsum,'' I said, ``dolor sit amet.''
class: testing, debugging, programming
status: Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
email: no
abbr: HTML HyperText Markup Language
HTTP HyperText Transport Protocol
(omitted)
Lorem ipsum dolor sit amet, consectetur adipiscing *elit*, sed do
eiusmod tempor incididunt ut labore et dolore magna aliqua. ``Ut enim ad minim veniam,'' quis
{-nostrud exercitation-}
SAM
SAM é uma linguagem de marcação para autoria semântica. Não é uma linguagem fixa como o Markdown. É uma metalinguagem como XML. Markdown possui um conjunto fixo de estruturas de documentos que você pode usar. O SAM, assim como o XML, permite definir e criar suas próprias estruturas para atender às suas necessidades. Ao contrário do XML e do Markdown, o SAM foi projetado para ser fácil de escrever em um editor de texto simples.
A escrita estruturada essencialmente divide o conteúdo em um conjunto de blocos nomeados aninhados. O SAM introduz blocos com um rótulo de uma palavra seguido por dois pontos. Ele mostra o aninhamento de um bloco dentro de outro, recuando o bloco aninhado sob seu pai. Aqui está um exemplo de documento estruturado, uma receita, escrito em SAM:
recipe: Hard Boiled Egg
introduction:
A hard boiled egg is simple and nutritious. It makes
a quick and delicious addition to any breakfast.
Hard boiled eggs can also be an ingredients in
other dishes, such as a {Cobb Salad}(recipe).
ingredients:: ingredient, quantity
eggs, 12
water, 2qt
preparation:
1. Place eggs in pan and cover with water.
2. Bring water to a boil.
3. Remove from heat and cover for 12 minutes.
4. Place eggs in cold water to stop cooking.
5. Peel and serve.
prep-time: 15 minutes
serves: 6
wine-match: champagne and orange juice
beverage-match: orange juice
nutrition:
serving: 1 large (50 g)
calories: 78
...
SECST
Linguagem de marcação SECST (Semântica, Extensível, Computacional, Estilizável, Tagged). Use-o para criar documentos HTML SEO atraentes e interativos. O SECST pretende ser uma alternativa mais expressiva, mas igualmente fácil de aprender e usar, ao Markdown.
:abbr(SECST) is a :strong(S)emantic, :strong(E)xtensible, :strong(C)omputational, :strong(S)tyleable :strong(T)ag oriented markup language. You can use it to joyfully create compelling, interactive, SEO enabled documents backed by HTML.
SECST is intended to be a more expressive, but just as easy to learn and use, alternative to Markdown. It provides these features and more:
:ul(
- Support for almost all HTML tags.
- :a(.#tables-of-contents)(Table of contents) and :a(.#footnotes)(footnote management).
- :a(.#hashtags)(Hashtag) and social media :a(.#mentions)(support).
- Reactive :a(.#values-and-formulas)(formulas and data import) that are no more complex than Excel formulas, e.g. :code(:value(2 * 2)) = :value(2 * 2).
- The use of JSON-LD :a(.#structured-data)(structured data) for both content generation/layout and SEO optimization.
- :a(.#images)(Asset bundling) for images, video, and audio.
- Server and client generated well structured HTML output resistant to XSS attacks.
)
Código sexual
SexpCode é uma linguagem de marcação especializada projetada para substituir o BBCode e, em menor grau, o HTML gerado pelo usuário em geral. Ainda não se destina a ser uma linguagem de marcação de uso geral ou a substituir o HTML no design geral da web.
Ele permite que funções sejam definidas e redefinidas.
{b This is bold text.}
{b This text is bold. {i This text is italic and bold.}}
{b.i This text is both bold and italic.}
{url http://example.com/ Click here!}
{define em i}{em This text is highly semantic.}
Marcado {Texto}
Tagged{ Text} é um formato de arquivo para marcar e organizar texto com tags. Essas tags podem ser o que o autor desejar. O primeiro objetivo do texto marcado é estruturar seu documento de acordo com as tags de organização de seu interesse. Sempre que você enfrentar um novo problema para expressar suas ideias, basta inventar tags que estruturem seu texto em algo sensato.
Blog{
Title{What grinds my gears}
Date{2016-3-4}
P{
Ipsum delio gro! Thrunk fo violio of my Streout Santo Listria?
asddsjk kasjdf ksjf ks fks fkfksj dks fksj f
sdfjs f ksf ksfd s
}
P{
Thats all for now. Be back in a few months after I return
from the intl. space station. Oh, here is a cool equation
I wrote in C++:
}
Equation
DEFINE{ MainCharacter{Bob H. Smith} }
DEFINE{ BirthYear{1971} }
P{
My main character in this novel is named MainCharacter{}. He was born
in the year BirthYear{}.
}
Linguagem de marcação Tjakra
Tjakra (cakra) é uma linguagem de marcação que pode ser usada para criar documentos PDF com sintaxe simples. Espera-se que Tjakra seja uma linguagem de marcação mais fácil e poderosa do que outras linguagens de marcação, como LaTeX e Markdown.
/ helloworld.tj
// Document configuration
config: {
papersize: A4;
margin: normal;
line-height: 1.0;
space-bp: none;
space-ap: none;
font-family: Times New Roman;
font-size: 12pt;
font-weight: normal;
font-style: normal;
text-align: left;
}
pages: {
// Page 1
header: { // Header section
align: left;
p: {
content: "Hello World";
text-align: left;
font-size: 10pt;
}
}
main: { // Main section
// Title
h1: {
content: "{i: Hello World}";
text-align: center;
font-size: 16pt;
font-weight: bold;
}
}
footer: { // Footer section
align: right;
p: {
content: "{pgnum}";
text-align: right;
font-size: 10pt;
}
}
}






