In de volgende markdown-code wil ik dat item 3
begint met lijstnummer 3. Maar vanwege het codeblok tussen markdown begint dit lijstitem als een nieuwe lijst. Is er een manier om dat gedrag te voorkomen?
Gewenste uitvoer:
1. item 1
2. item 2
```
Code block
```
3. item 3
Geproduceerde output:
- item 1
- item 2
Code block
- item 3
Antwoord 1, autoriteit 100%
Gebruik vier spaties om inhoud tussen opsommingstekens te laten inspringen
1. item 1
2. item 2
```
Code block
```
3. item 3
Produceert:
- item 1
-
item 2
Code block
- item 3
Antwoord 2, autoriteit 6%
Als uitbreiding op bestaande antwoorden. Voor degenen die een genummerde lijst proberen voort te zetten na iets anders dan een codeblok. Bijvoorbeeld een tweede alinea. Laat de tweede alinea minimaal 1 spatie inspringen.
Markdown:
1. one
2. two
three
3. four
Uitvoer:
-
een
-
twee
drie
-
vier
Antwoord 3, autoriteit 5%
Merk op hoe je in de oplossing van Macmade een extra regel code kunt zien boven het “Codeblok”.
Hier zijn twee betere oplossingen:
-
Inspring het codeblok met 4 extra spaties (dus meestal 8, in dit voorbeeld van een geneste lijst 12). Dit plaatst de code in een
<pre>
element. Op SO kun je zelfs syntax highlightspecificeren met een
<!-- language: lang-js -->
ingesprongen met 4 spaties (+1 hier vanwege de geneste lijst).- item 1
-
item 2
Code.block('JavaScript', maybe)?
-
item 3
-
Of plaats het codeblok gewoon tussen backticks en spring met 4 spaties in (hier 1 extra vanwege de geneste lijst). Je krijgt een gewone ingesprongen tekstparagraaf, met een
<code>
-element erin. Deze kun je niet syntax-highlighten:- item 1
-
item 2
Code block
-
item 3
Opmerking: u kunt op dit antwoord op “bewerken” klikken om de onderliggende Markdown-code te zien. Opslaan is niet nodig 😉
Antwoord 4, autoriteit 2%
Macmade’s oplossing werkt niet meer voor mij op mijn Jekyll-instantie op Github Pages, maar ik vond deze oplossingvoor een probleem voor de kramdown github-repo. Voor OP’s voorbeeld zou het er als volgt uitzien:
1. item 1
2. item 2
```
Code block
```
{:start="3"}
3. item 3
Mijn problemen handig opgelost.
Antwoord 5, autoriteit 2%
Als je tab gebruikt om het codeblok te laten inspringen, wordt het hele blok in één regel gevormd. Om dit te voorkomen moet je html geordende lijst gebruiken.
- item 1
- item 2
Codeblok
<ol start="3">
<li>item 3</li>
<li>item 4</li>
</ol>
Antwoord 6, autoriteit 2%
Als je de Ruby-edelsteen redcarpetgebruikt om Markdown weer te geven, heb je mogelijk nog steeds dit probleem .
Je kunt aan de nummering ontsnappen en Redcarpet negeert graag elke speciale betekenis:
1\. Some heading
text text
text text
text text
2\. Some other heading
blah blah
more blah blah
Antwoord 7
Bron;
<span>1.</span> item 1<br/>
<span>2.</span> item 2
```
Code block
```
<span>3.</span> item 3
Resultaat;
1. item 1
2. artikel 2
Code block
3. item 3
Antwoord 8
Als u niet wilt dat de regels tussen de lijstitems inspringen, zoals gebruiker Mars vermeldde in zijn opmerking, kunt u de functie example_lists
van example_lists
gebruiken . Uit hun docs:
(@) My first example will be numbered (1).
(@) My second example will be numbered (2).
Explanation of examples.
(@) My third example will be numbered (3).
Antwoord 9
Ik heb dit probleem opgelost op Github door het ingesprongen subblok te scheiden met een nieuwe regel, je schrijft bijvoorbeeld item 1, druk dan tweemaal op enter (alsof het een nieuwe alinea was), laat het blok inspringen en schrijf wat je wilt (een blok code, tekst, enz.). Meer informatie over Markdown-lijstenen Markdown-regeleinden.
Voorbeeld:
- item één
-
item twee
this block acts as a new paragraph, above there is a blank line
-
item drie
some other code
- item vier
Antwoord 10
Zet de lijstnummers tussen haakjes in plaats van gevolgd door een punt.
(1) item 1
(2) artikel 2
Code block
(3) punt 3
Antwoord 11
Houd er rekening mee dat er ook een aantal extensies beschikbaar zijn die dit gedrag corrigeren voor specifieke contexten van Markdown-gebruik.
Bijvoorbeeld sane_listsextensie van python -markdown (gebruikt in mkdocs, bijvoorbeeld), herkent nummers die worden gebruikt in Markdown-lijsten. U hoeft alleen deze extensie arkdown.markdown(some_text, extensions=['sane_lists'])
in te schakelen
Antwoord 12
Je kunt proberen een backslash (\
) toe te voegen vóór de punt (1\. item 1
), die schakelt de automatische nummering van de lijst uit. Opmerking: hiermee wordt de inspringing aan de linkerkant verwijderd.
1. item 1
def call_of_duty()
return press_f()
3. item 3
print("fus ro dah")
7. item 7
print("Omae Wa Mou Shindeiru")
10. item 10
Van de linkbron:
3\. Put on shoes
2\. Open door
1\. Step outside
renders
3. Put on shoes
2. Open door
1. Step outside
Antwoord 13
Als je tekst uitgelijnd wilt hebben met het voorgaande lijstitem, maar een “grote” regelafbreking wilt vermijden, gebruik dan twee spaties aan het einde van een lijstitem en laat de tekst inspringen met enkele spaties.
Bron: (punten zijn spaties 😉 natuurlijk)
1.·item1··
····This is some text
2.item2
Resultaat:
- item1
Dit is wat tekst - item2
Antwoord 14
In heeft CommonMark Specregels hierover
1. foo
2. bar
7) baz
Genereer deze HTML
<ol>
<li>foo</li>
<li>bar</li>
</ol>
<ol start="3">
<li>baz</li>
</ol>