Clean Clipper Aan Chrome toevoegen – gratis

Voor wie

API-documentatie opslaan met de code heel

Clean Clipper leest de taal van een codeblok van de pagina zelf af – uit de class op de fence, uit het bovenliggende element of uit de markup van de highlighter – en schrijft die in de Markdown. Op een technisch corpus bleef het label staan in 73 van de 156 fences, tegen 20 en 0 bij de twee vergeleken engines.

Waar documentatie ophalen misgaat

Documentatie bestaat grotendeels uit code, en juist dat deel laten de meeste clippers vallen. Je haalt een pagina van een framework op, plakt hem in je notities en krijgt een muur grijze tekst terug: de fences staan er nog, maar kaal. Welke regels JavaScript waren en welke shell moet je uit je hoofd reconstrueren. Bij drie snippets valt dat mee, bij dertig pagina’s niet.

Wat eromheen staat gaat net zo hard mis. Een parametertabel waarin één cel een codevoorbeeld bevat, klapt bij een generieke omzetter dicht tot één regel of verdwijnt helemaal. De navigatiebalk en de versiekiezer komen juist wél mee, want die zitten in dezelfde container als de tekst. Het opruimen kost dan meer tijd dan het opzoeken.

Het derde probleem is het openstaande tabblad zelf. Documentatie heeft versies, het adres meestal niet: de pagina die je voor v4 las wordt stilletjes v6, met een hernoemde vlag en een geschrapte optie, en je bladwijzer werkt nog – alleen wijst hij naar andere tekst. Nergens in je aantekeningen staat tegen welke versie je destijds hebt gebouwd. Een bestand met de URL en de datum die de pagina zelf opgaf beantwoordt die vraag een jaar later; een bladwijzer heeft dat nooit gekund.

Wat er in de notitie belandt

Een fence houdt zijn taallabeldeveloper.overheid.nl/kennisbank/api-ontwerpregels
Een verzoek aan het register geeft een antwoord in JSON terug:

```json
{
  "naam": "Gemeente Amsterdam",
  "identificatie": "0363",
  "provincie": "Noord-Holland"
}
```

## Stap 2: foutafhandeling en statuscodes

Instellen voor documentatie

Eén keer vijf minuten, daarna doet de sneltoets het werk. De standaardinstellingen zijn gemaakt om artikelen te lezen; documentatie wil een andere bestandsnaam, geen auteursveld en geen afbeeldingen.

  1. Installeer de extensie en zet het icoon vast in de werkbalk. Klik met rechts op het icoon en kies Opties; de instellingen openen in een tabblad.
  2. Zet wat een klik op het icoon doet op “opslaan in map”. Dat maakt van een clip één toetsaanslag zonder venster ertussen – het voorbeeldvenster helpt zolang je het gereedschap leert kennen en zit daarna in de weg.
  3. Kies de map. Wijs een directory aan die je toch al in versiebeheer hebt, bijvoorbeeld docs/clips in de repository waar je aan werkt. De browser vraagt één keer bevestiging en onthoudt die voor dit profiel.
  4. Zet het sjabloon voor de bestandsnaam op {domain}-{title}. Vier frameworks hebben allemaal een pagina “Aan de slag”, en zonder het domein in de naam wordt de vierde geruisloos aan-de-slag-4.
  5. Laat in de frontmatter source en extraction aan staan en zet author uit. Documentatie is zelden ondertekend, en een leeg veld in elk bestand is ruis die je later alsnog weghaalt.
  6. Zet afbeeldingen op overslaan. Een schermafbeelding van andermans editor is niet doorzoekbaar, en de link wijst naar een CDN dat verhuist.
  7. Open chrome://extensions/shortcuts en controleer dat Alt+Shift+M eraan hangt. Heeft een andere extensie de combinatie ingepikt, dan pak je hem daar terug.

Instellingen voor ontwikkelaars

Dit zijn de waarden die je van de standaard wilt afwijken, met de reden waarom die keuze juist voor documentatie uitmaakt en niet voor lezen in het algemeen.

InstellingWaardeWaarom juist deze
Klik op het icoonOpslaan in mapIets wat je twintig keer per dag doet, moet niet twintig keer een venster openen
Map`docs/clips` in een repositoryClips komen in versiebeheer en worden met hetzelfde gereedschap doorzocht als de code
Bestandsnaam`{domain}-{title}`Documentatiepagina’s botsen op hun titel, domeinen niet
AfbeeldingenOverslaanSchermafbeeldingen zijn niet doorzoekbaar en hun adressen verlopen sneller dan de tekst
Frontmatter`source` en `extraction` aan, `author` uitJe hebt het adres en de gebruikte weg nodig; een auteursregel heeft een documentatiepagina niet
Regel per site`reddit.com` → submap `draden`Forumantwoorden verouderen anders dan officiële documentatie en horen apart
Sneltoets`Alt+Shift+M`Ophalen zonder je handen van het toetsenbord is het verschil tussen wel en niet doen
Geen class op de pagina betekent geen label op de fenceeen handleiding waarvan de voorbeelden met de hand zijn opgemaakt
Start de migratie voordat je de service herstart:

```
php artisan migrate --force
systemctl restart api
```

De fence komt kaal binnen. De pagina zet de kleuren met eigen CSS en laat geen
enkele class achter waaruit de taal valt af te leiden, dus er valt niets te
lezen. Een gegokt `bash` zou hier toevallig kloppen en op de volgende pagina
`sql` verven alsof het shell was.

Drie werksessies

Vastleggen tegen welke versie je hebt gebouwd

Je staat op de v4-tak van de documentatie van een framework, bij de pagina over een configuratievlag die in v5 is hernoemd. Je drukt op Alt+Shift+M. Het bestand belandt als voorbeeld-dev-configuratie.md in docs/clips, met source naar het /v4/-adres en de datum die de pagina zelf opgaf.

Acht maanden later gedraagt die vlag zich anders in productie en weet niemand meer waarom hij zo stond. De clip zit in de repository, in dezelfde reeks commits als de wijziging, en zegt tegen welke versie van de documentatie het besluit is genomen. Het adres serveert inmiddels v6 en noemt de vlag helemaal niet meer.

De forumdraad die het echt oploste

De officiële documentatie beschrijft het gelukkige pad; de oplossing voor jouw geval staat vier reacties diep in een forumdraad, waar het juiste antwoord op 31 punten staat onder een verkeerd antwoord op 12. Je haalt de draad op. De regel voor die site stuurt hem naar draden, en de reactiestructuur komt binnen als geneste blockquotes met de score erbij.

Die score is precies het deel dat telt bij het teruglezen. Een platte kopie van dezelfde draad verliest de ordening volledig, en dan zit je vijf meningen te herlezen zonder aanwijzing welke de gemeenschap gelijk gaf.

Een tabel met omgevingsvariabelen, rechtstreeks in een pull request

De deploy-handleiding heeft een tabel met achttien omgevingsvariabelen, waarvan er drie een codevoorbeeld in de cel hebben staan. Je selecteert de tabel op de pagina, haalt de selectie op en plakt de Markdown in de beschrijving van je pull request. GitHub toont hem als tabel, want het is een GFM-tabel en geen schermafbeelding.

Op het technische corpus van vijftien tabellen hield deze serialisatie er twaalf heel, waar de vergeleken engines er elk zeven hielden. De cellen waarop generieke omzetters stuklopen zijn juist deze: die met code of een lijst erin.

Tegenover de gebruikelijke manieren

Elk van deze manieren werkt, en op elk team is er iemand die het zo doet. De derde kolom is de eerlijke prijs – ook die van ons.

Hoe het nu gaatWat je krijgtWat het kost
Het tabblad open laten staanDe pagina precies zoals hij isWeg bij de volgende herstart, en de documentatie krijgt onder je handen een nieuwe versie
Kopiëren en plakken in je editorTekst, soms met het zijmenu erbijFences komen kaal binnen, tabellen als één regel
Afdrukken naar pdfEen vaste weergave van de paginaNiet met `grep` te doorzoeken, niet te diffen, cookiebanner inbegrepen
Een bladwijzerEen verwijzing, in één klikEen verwijzing leidt naar wat de pagina vandaag zegt
Een andere clip-extensieMarkdown, met minder wegknippenOver 512 gemeten pagina’s: 282 tot 491 dubbele menuregels tegen 102 hier
Clean ClipperMarkdown met gelabelde fences en een bronregelEén pagina tegelijk, geen crawler, geen gedownloade afbeeldingen

Als het er niet goed uit komt

Waarom staat er geen taal op mijn code-fence?

Omdat de pagina niet zei welke taal het was. Clean Clipper leest de taal af van de class die de highlighter van de site achterliet; het kijkt niet naar de code om te gokken. Een met de hand opgemaakt voorbeeld zonder class geeft een kale fence, en dat is de eerlijke uitkomst: een gegokt python op een shell-snippet is erger dan geen label, want dan kleurt de highlighting overtuigend de verkeerde dingen.

Waarom mist de helft van de handleiding?

Bijna altijd tabbladen of een accordeon. De extensie zet om wat de browser echt heeft gerenderd, en een tabblad waarvan de inhoud pas bij een klik wordt ingeladen staat tot dat moment niet in de DOM. Klap het open en haal dan op, of haal per variant een clip. Sites die alle tabbladen renderen en met CSS verbergen, leveren ze allemaal, achter elkaar.

Waarom zegt hij dat er geen artikel is?

Een API-speeltuin, een zoekresultaat of een pakketindex bestaat vooral uit linkteksten, en die weigert de extensie met opzet: zit meer dan ongeveer een kwart van de tekens in links, dan meldt ze “geen artikel” in plaats van je driehonderd regels te geven. Op de gemeten Europese corpora lag het aandeel links bij echte artikelen tussen 0,036 en 0,064 – een overzichtspagina zit daar een orde van grootte boven.

Wat betekent extraction: "jsonld-articlebody" in mijn bestand?

Dat de pagina haar tekst wel in gestructureerde data meestuurde, maar hem nooit in de DOM heeft uitgerenderd, dus is de tekst daaruit gelezen. Dat wordt genoteerd en niet verzwegen, want de twee wegen kunnen verschillen: de versie in de gestructureerde data is soms een eerdere opzet en soms juist de enige volledige. Zie je die waarde staan, kijk dan even naar het origineel voordat je op de tekst leunt.

Wat het niet doet

Er zit geen crawler in: je haalt één pagina tegelijk op, de pagina waar je zelf op staat. Het label op een fence is precies zo goed als de bronpagina – geeft een site zijn code geen taal mee, dan verzint de extensie er ook geen. Diagrammen en schermafbeeldingen blijven links naar de oorspronkelijke site; binaire bestanden worden niet gedownload. En op pagina’s die de browser afschermt, zoals chrome:// en de extensiestore zelf, draait de extensie niet.

Aan Chrome toevoegen – gratisVolledig gratis, zonder account en zonder limiet.

Vragen

Welke talen herkent het?
Wat de pagina zelf opgeeft. Clean Clipper raadt de taal niet uit de code – het leest de class die de highlighter van de site heeft achtergelaten, dus het label klopt precies zo goed als de bronpagina.
Werkt het op documentatie die in JavaScript rendert?
Ja. De extensie leest de DOM nadat de pagina is gerenderd, dus documentatiesites die als single-page application draaien komen binnen zoals je ze ziet.
Kan ik afbeeldingen uit ontwikkelaarsdocumentatie weglaten?
Ja. Zet afbeeldingen in de instellingen op “overslaan”, in het algemeen of met een regel voor één site.
Blijft inspringing binnen een codeblok staan?
Ja. De inhoud van een fence wordt letterlijk overgenomen, inclusief witruimte en lege regels; er wordt niets opnieuw opgemaakt.
Kan ik een curl-voorbeeld uit een lange pagina halen zonder de rest?
Ja. Selecteer het blok op de pagina en haal de selectie op – alleen wat geselecteerd was komt in de clip.
Werkt het op een interne wiki achter SSO?
Ja. De extensie leest de pagina die je browser voor jouw sessie al heeft gerenderd, dus alles wat je na het inloggen ziet komt binnen zoals een openbare pagina. Er verlaat niets je machine: de extensie doet geen enkel netwerkverzoek.
Kan ik de clips in git bewaren?
Daar zijn ze voor. Het zijn UTF-8-tekstbestanden met een YAML-kop, dus ze diffen regel voor regel, mergen als broncode en kosten bijna geen ruimte. Haal dezelfde naslagpagina bij de volgende release opnieuw op en de diff laat zien welke alinea’s de leverancier heeft aangepast.
In welke browsers draait het?
Chrome en de andere Chromium-browsers: Edge, Brave, Vivaldi en Opera. Het is een Manifest V3-extensie die geen host-permissies vraagt, dus ze kan alleen het tabblad lezen waarin je zelf op het icoon klikt of de sneltoets indrukt.
Waarom gebeurt er niets op `chrome://`-pagina’s?
De browser verbiedt extensies daar te draaien, en hetzelfde geldt voor de extensiestore zelf. Dat is een regel van de browser en geen instelling – geen enkele extensie kan die pagina’s lezen.
Hoe lang duurt het ophalen?
Tientallen milliseconden voor een gewone documentatiepagina. Een heel lange pagina met honderden verwijzingen kost een paar honderd, omdat de voetnoten worden verzameld voordat de opschoning de ankers weghaalt waar ze aan hangen. De gemeten tijd staat in de hoek van het clipvenster.