Hallo, mein Name ist Dmitry Karlovsky und ich schreibe alle meine Artikel (und Präsentationen ) in MarkDown Markup. Und weisst du was? Sie hat mich schon ziemlich gut gestoßen! Ich schreibe Texte in russischer Sprache, aber die meisten Sonderzeichen sind nur im englischen Tastaturlayout. Und Tischbearbeitung ist der ewige schiefe Turm von Pisa. Kurz gesagt, er hat Probleme sowohl mit der einfachen Bearbeitung als auch mit der Klarheit der Präsentation. Versuchen wir also, es von Grund auf neu zu gestalten, ohne Kilotonnen rätselhafter Designs mit uns zu ziehen.
Das Layout ging ein wenig, da auf Habré eine neue Kurve vizivig eingeführt wurde. Jetzt wird es extrem schwierig sein, Artikel im Markdown zu schreiben und sie dann auf Habr hochzuladen. Bei normalem Layout können Sie diesen Artikel auf github lesen: https://github.com/nin-jin/HabHub/issues/39
Prinzipien
Syntax eindeutig
Einfachheit der Syntax
Konsistenz der Syntax
Minimale Auswirkung auf natürlich aussehenden Text
Einfache Bearbeitung unabhängig vom Layout
Sichtbarkeit der Präsentation
Erweiterbarkeit
Schnelle und zuverlässige Einprägsamkeit
Als Sonderformatierungszeichen ist es besser, diejenigen zu verwenden, die sich in einem beliebigen Layout befinden, und nicht nur in Englisch. Das heißt, wenn andere Dinge gleich sind, ist es besser, den folgenden Zeichen den Vorzug zu geben:!
"
;
%
:
?
*
(
)
_
+
/
\
.
,
-
=
Bestehende Lösungen
, . : AsciiDoc, BBCode, Creole, GitHub Flavored Markdown, Markdown, Markdown Extra, MediaWiki, MultiMarkdown, Org-mode, PmWiki, POD, reStructuredText, Textile, Texy, txt2tag.
, . . , .
: . . .
. . "". :
- item
* item
+ item
- . . 2 - , , . :
- first
- second
- first of second
- first of first of second
- second of second
- third
first
second
first of second
first of first of second
second of second
third
. - , . , :
1. item
2) item
, - :
# item
. , :
+ first
+ second
+ first of second
+ first of first of second
+ second of second
+ third
first
second
first of second
first of first of second
second of second
third
, , - . - :
> quote
> - list in quote
> > inner quote
, . , :
" quote
" - list in quote
" " inner quote
- . :
|= |= table |= header |
| a | table | row |
| b | table | row |
| | table | header |
|---|-------|--------|
| a | table | row |
| b | table | row |
First Header | Second Header
------------ | -------------
Content from cell 1 | Content from cell 2
Content in the first column | Content in the second column
, - .
, - . , , .
, , - , , :
| | table | header |
| a | There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words which don't look even slightly believable. | row |
| b | table | row |
, - . - , , , :
! ! table ! header ! a ! There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words which don't look even slightly believable. ! row ! b ! table ! row
, . , . . . .
:
Level 1 Heading
===============
Level 2 Heading
---------------
Level 3 Heading
~~~~~~~~~~~~~~~
, , , , , - .
, :
# Level 1 Heading #
## Level 2 Heading ##
### Level 3 Heading ###
, , . :
## Level 2 Heading
== Level 2 Heading
** Level 2 Heading
!! Level 2 Heading
++ Level 2 Heading
. , , . - , . , :
= Level 1 Heading
== Level 2 Heading
=== Level 3 Heading
:
```markdown
preformatted
text
```
, , . . , , 2 4 :
preformatted
text
, , . , , .
, . , - /.
:
2 .
.
:
preformatted
text
--deleted
-- text
++inserted
++ text
**highlighted
** text
? . . - . , , - . - , , .
- "". , , . -. :
1 - , , .
3 - , - .
2 - , .
, , , . , : . - , , . , .
:
*strong*
**strong**
__strong__
'''strong'''
''strong''
, . "" - .
**strong**
strong
:
'emphasis'
''emphasis''
_emphasis_
/emphasis/
//emphasis//
*emphasis*
~emphasis~
. , , , .
//emphasis//
emphasis
, , . . , , . .
, :
_insertion_
__insertion__
+insertion+
:
~deletion~
~~deletion~~
-deletion-
--deletion--
, :
++insertion++
--deletion--
insertion
deletion
:
- . .
- . , , , - ( , , ).
:
"Text":http://example.com
http://example.com[Text]
<http: example.com|text="">
[Text|http://example.com]
[[Text|http://example.com]]
[[http://example.com|Text]]
[Text http://example.com]
[http://example.com Text]
[Text](http://example.com)
`Text <http: example.com="">`_
:

{{http://example.com/image.png|title}}
.. image:: /path/to/image.jpg
, . - HTML. - . .
, . - , , . : \
"
.
, - , . , \
, , .
""Embedded image\http://example.org/favicon.ico""
""Embedded video\https://youtube.com/video=1234""
""Embedded site\https://marked.hyoo.ru/""
, . :
""http://example.org/favicon.ico""
""http://example.org/favicon.ico\http://example.org/favicon.ico""
\
:
\\Clickable text\http://example.org/\\
Clickable url: \\http://example.org/\\
-
Clickable url: http://example.org/
. , - :
\\""Example\http://example.org/favicon.ico""\http://example.org/\\
. - :
+monospace text+
`monospace text`
``monospace text``
```monospace text```
|monospace text|
{{monospace text}}
{{{monospace text}}}
=code=
~verbatim~
@monospace text@
@@monospace text@@
+
=
, . - . , . ;;
. .
;;monospace text;;
monospace text
:
= MarkedText
** **.
--
==
+ :
-
-
-
+ :
-
-
+ :
-
-
== C
! ****
! ****
! ****
! MarkedText
! - .
! - .
! - .
! - .
! - .
! - .
! - .
! MarkDown
! - .
! - .
! - .
! - .
==
const res = [ ... $hyoo_marked_line.parse( '**text**' ) ]
--$mol_assert_equal( res[0].strong, '**text**' )
++$mol_assert_equal( res[0].marker, '**' )
**$mol_assert_equal( res[0].content, 'text' )
==
" " " : , ---- ++++ !
" "
" " , .. C++ , D++ ..
"
" ()
, .
==
- : \\https://marked.hyoo.ru/\\
- \\ MarkedText\https://github.com/nin-jin/HabHub/issues/39\\
- \\ TS\https://github.com/hyoo-ru/marked.hyoo.ru/\\
- \\ HTML TS\https://github.com/hyoo-ru/marked.hyoo.ru/tree/master/to/html\\
- "" $mol_regexp\https://github.com/hyoo-ru/mam_mol/workflows/mol_regexp/badge.svg""
Rückkopplung