Snel en eenvoudig een index maken
Voor een blog waar ik pas mee begonnen ben werd ik helemaal tureluurs om altijd netjes de index te maken. Links invoegen, anchors invoegen en hopen dat alles in één keer goed staat.
Nu heb ik dit probleem opgelost met het volgende javascriptje op basis van, hoe kan het ook anders: mootools!
Kijk eens naar het volgende voorbeeldje!
edit: ik heb overwogen om dit met php te doen maar dat leek me veel te complex voor eigenlijk zo'n korte nette oplossing met javascript...
Nu heb ik dit probleem opgelost met het volgende javascriptje op basis van, hoe kan het ook anders: mootools!
Kijk eens naar het volgende voorbeeldje!
edit: ik heb overwogen om dit met php te doen maar dat leek me veel te complex voor eigenlijk zo'n korte nette oplossing met javascript...
Gewijzigd op 01/01/1970 01:00:00 door Crispijn -
Gesponsorde koppelingen:
Wat is je vraag?
Meer of jullie dit geschikt vinden en er het nut van inzien. Suggesties wat betreft het scriptje mogen ook natuurlijk :)
Scriptlib waardig?
Scriptlib waardig?
scroll gewoon zichtbaar -> useless imho
Crispijn schreef op 17.03.2009 09:27:
Meer of jullie dit geschikt vinden en er het nut van inzien. Suggesties wat betreft het scriptje mogen ook natuurlijk :)
Scriptlib waardig?
Scriptlib waardig?
Of ik het nut zie? Nee xD Wat is het? Suggestie: leg uit wat het doet.
Wanneer je een tekst hebt met verschillende subkoppen maak ik er altijd (wanneer de pagina erg lang wordt) een index boven zodat mensen snel naar het anchor kunnen springen. Dit scriptje maakt deze index zelf zonder alle links an anchors handmatig in te moeten vullen.
@wes: wat bedoel je met 'scroll gewoon zichtbaar'? daar heb ik toch ook niet aan willen zitten?
@wes: wat bedoel je met 'scroll gewoon zichtbaar'? daar heb ik toch ook niet aan willen zitten?
Ja ik vat er ook de ballen niet van wat je nu allemaal bedoelt etc...
ik heb een tekst
Hier kan ik door middel van dit scripje het volgende van maken:
Kunnen jullie er nu wijzer uit worden? ;)
om het misschien duidelijker te maken: index lees: inhoudsopgave...
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<h2>Titel 1</h2>
<p>Hier een hele hoop tekst</a>
<h2>Titel 2</h2>
<p>Hier een hele hoop tekst</p>
<h2>Titel 3</h2>
<p>Hier een hele hoop tekst</p>
<h2>Titel 4</h2>
<p>Hier een hele hoop tekst</p>
<p>Hier een hele hoop tekst</a>
<h2>Titel 2</h2>
<p>Hier een hele hoop tekst</p>
<h2>Titel 3</h2>
<p>Hier een hele hoop tekst</p>
<h2>Titel 4</h2>
<p>Hier een hele hoop tekst</p>
Hier kan ik door middel van dit scripje het volgende van maken:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<div id="index_list">
<a name="index" id="index">
<ol>
<li><a href="index.php#Titel 1">Titel 1</a></li>
<li><a href="index.php#Titel 2">Titel 2</a></li>
<li><a href="index.php#Titel 3">Titel 3</a></li>
<li><a href="index.php#Titel 4">Titel 4</a></li>
</ol>
</index_list>
<a name="Titel 1" id="Titel 1">
<a href="index.php#index"><h2>Titel 1</h2></a>
<p>Hier een hele hoop tekst</p>
<a name="Titel 2" id="Titel 2">
<a href="index.php#index"><h2>Titel 2</h2></a>
<p>Hier een hele hoop tekst</p>
<a name="Titel 3" id="Titel 3">
<a href="index.php#index"><h2>Titel 3</h2></a>
<p>Hier een hele hoop tekst</p>
<a name="Titel 4" id="Titel 4">
<a href="index.php#index"><h2>Titel 4</h2></a>
<p>Hier een hele hoop tekst</p>
<a name="index" id="index">
<ol>
<li><a href="index.php#Titel 1">Titel 1</a></li>
<li><a href="index.php#Titel 2">Titel 2</a></li>
<li><a href="index.php#Titel 3">Titel 3</a></li>
<li><a href="index.php#Titel 4">Titel 4</a></li>
</ol>
</index_list>
<a name="Titel 1" id="Titel 1">
<a href="index.php#index"><h2>Titel 1</h2></a>
<p>Hier een hele hoop tekst</p>
<a name="Titel 2" id="Titel 2">
<a href="index.php#index"><h2>Titel 2</h2></a>
<p>Hier een hele hoop tekst</p>
<a name="Titel 3" id="Titel 3">
<a href="index.php#index"><h2>Titel 3</h2></a>
<p>Hier een hele hoop tekst</p>
<a name="Titel 4" id="Titel 4">
<a href="index.php#index"><h2>Titel 4</h2></a>
<p>Hier een hele hoop tekst</p>
Kunnen jullie er nu wijzer uit worden? ;)
om het misschien duidelijker te maken: index lees: inhoudsopgave...
Gewijzigd op 01/01/1970 01:00:00 door Crispijn -
snap het, i just really really really really really really really really really really really really really really really really really really hate generated stuff :)
@wes: Waarom? Dit valt voor de gebruiker toch bijna niet op?
Ik ben nog bezig met een ignore functie. Op die manier kan je dus sommige h2 elementen NIET in de inhoudsopgave laten weergeven. Ik laat jullie weten wanneer ik het netjes in een wordpress plugin heb gegoten!
Crispijn
Ik ben nog bezig met een ignore functie. Op die manier kan je dus sommige h2 elementen NIET in de inhoudsopgave laten weergeven. Ik laat jullie weten wanneer ik het netjes in een wordpress plugin heb gegoten!
Crispijn
Gewijzigd op 01/01/1970 01:00:00 door Crispijn -
ik bepaal liever zelf wat voor een code in mijn pagina's komt :)
:) In mijn wordpress plugin kan je straks aangeven of je een index wilt door de tag <!--index--> in je post te voegen. Zo blijft 't redelijk beheersbaar.... Maar meningen verschillen natuurlijk ;)
Crispijn schreef op 17.03.2009 10:31:
beheersbaar
beheeeeerbaar :)
Gewijzigd op 01/01/1970 01:00:00 door wes
Gast... 't was wel lekker toen je niet meer op 't forum kwam :P
Je "navigatie" word bij mij niet gemaakt..? Ik heb op die link gekeken (1ste post), maar ik zie niets anders dan een paar titels.
Ik schrijf overigens zelf nooit berichten in Wordpress langer dan zo'n 100 regels, dus heb dit niet nodig. Maar goed idee. :)
Ik schrijf overigens zelf nooit berichten in Wordpress langer dan zo'n 100 regels, dus heb dit niet nodig. Maar goed idee. :)
Mitchell, in welke browser heb je gekeken? Je krijgt helemaal bovenaan de pagina een lijstje met 4 linkjes als het goed is.
@Crispijn
Doet ut bij mij ook niet in Firefox.. :(
Doet ut bij mij ook niet in Firefox.. :(
Wajoooww wat een nuttige script
Not :P
Not :P
@Robert: Krijg je foutmeldingen in firebug toevallig? Ik heb het namelijk zelf wel werkend in firefox 3.0.7
@Peter: Hou je mond maar als je niks nuttigs te zeggen hebt
@Peter: Hou je mond maar als je niks nuttigs te zeggen hebt
Is het overigens wel erg slim om Mootools te gebruiken in combinatie met Wordpress? Aangezien Wordpress met Jquery is gemaakt en daardoor ook veel plugins van Wordpress op Jquery zijn geschreven.
Ik denk zo dat als je deze plugin gaat gebruiken je veel conflict krijgt met andere plugins. :)
Edit: Nee, firebug is stilletjes en alsnog zie ik hier niets op de nieuwste firefox. :)
Ik denk zo dat als je deze plugin gaat gebruiken je veel conflict krijgt met andere plugins. :)
Edit: Nee, firebug is stilletjes en alsnog zie ik hier niets op de nieuwste firefox. :)
Gewijzigd op 01/01/1970 01:00:00 door Mitchell
okej, maar waarvoor al die spaties? :P
je kan het ook met php makkelijk laten generen, kost je minder regels, minder laad tijd want je moet dat hele koetools script includen enz. enz. Alleen maar positiefe dingen als je geen koetools gebruikt.
Voorbeeldje:
Dus stap over naar php generisatie :), dan hoef je je ook niet rekening te houden voor mensen die geen js aan hebben staan ;)
je kan het ook met php makkelijk laten generen, kost je minder regels, minder laad tijd want je moet dat hele koetools script includen enz. enz. Alleen maar positiefe dingen als je geen koetools gebruikt.
Voorbeeldje:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$tekst = "<h2>titel1</h2>blablabla<h2>titel2</h2>blablabla";
preg_match_all("#\<h2>(.+?)\</h2>#si", $tekst, $matches, PREG_SET_ORDER);
echo "Alle titels:<br>";
foreach ($matches as $nmr=>$val) {
echo ($nmr+1).": <a href='#".$val[1]."'>" . $val[1] . "</a><br>";
}
$tekst = preg_replace('#\<h2>(.+?)\</h2>#si', str_repeat('<br>', 50).'<h2 id="\\1">\\1</h2>', $tekst);
echo $tekst;
?>
$tekst = "<h2>titel1</h2>blablabla<h2>titel2</h2>blablabla";
preg_match_all("#\<h2>(.+?)\</h2>#si", $tekst, $matches, PREG_SET_ORDER);
echo "Alle titels:<br>";
foreach ($matches as $nmr=>$val) {
echo ($nmr+1).": <a href='#".$val[1]."'>" . $val[1] . "</a><br>";
}
$tekst = preg_replace('#\<h2>(.+?)\</h2>#si', str_repeat('<br>', 50).'<h2 id="\\1">\\1</h2>', $tekst);
echo $tekst;
?>
Dus stap over naar php generisatie :), dan hoef je je ook niet rekening te houden voor mensen die geen js aan hebben staan ;)
Gewijzigd op 01/01/1970 01:00:00 door Kumkwat Trender



