För vem
Spara API-dokumentation med koden intakt
Clean Clipper läser kodblockets språk ur sidan själv – ur klassen på blocket, ur föräldraelementet eller ur färgläggarens egen uppmärkning – och skriver in det i Markdown-texten. På ett tekniskt korpus överlevde märkningen i 73 av 156 kodblock, mot 20 och 0 för de två jämförda motorerna.
Där dokumentation går sönder
Dokumentation består till största delen av kod, och just den delen tappar de flesta clippers. Du sparar en sida ur ett ramverks dokumentation, klistrar in den i anteckningarna och får en vägg av grå text: blocken finns kvar, men nakna. Vilka rader som var JavaScript och vilka som var shell får du rekonstruera ur minnet. Med tre exempel går det an, med trettio sidor gör det inte det.
Det som står runt koden far lika illa. En parametertabell där en cell rymmer ett kodexempel klappar ihop till en rad hos en generisk omvandlare, eller försvinner helt. Navigeringsmenyn och versionsväljaren följer däremot med, eftersom de ligger i samma behållare som texten. Städningen tar då längre tid än uppslagningen gjorde.
Den tredje bristen är fliken du låter stå öppen i stället. Dokumentation versioneras, men adressen gör det sällan: sidan du läste för version 4 blir tyst version 6, med en flagga som bytt namn och en inställning som tagits bort, och bokmärket löser fortfarande ut – till en annan text. Ingenting i dina anteckningar säger vilken lydelse beslutet faktiskt vilade på. En fil med källadressen och sidans eget datum i frontmatter svarar på den frågan ett år senare; en flik gör det aldrig.
Vad som hamnar i anteckningen
- Ett block kommer ut som ```js och inte naket – färgläggningen fungerar i Obsidian, VS Code och på GitHub i samma sekund du klistrar in
- Märkningen kommer från sidan själv: klassen färgläggaren lämnat efter sig, inte en gissning utifrån koden
- Tabeller med ett kodexempel i en cell klappar inte ihop till en enda rad
- Navigeringsmenyer, versionsväljare och ”på den här sidan”-block klipps bort i stället för att omvandlas
- Noll kvarlämnade HTML-taggar över 512 mätta sidor – ingen
divmitt inne i ett kodblock - README-filer på GitHub, svar på Stack Overflow och ramverkens dokumentation var det första testkorpuset
- Reddit-trådar behåller nästlingen och poängen på varje kommentar – där ligger halva den praktiska kunskapen om ett bibliotek
- Fältet
extractionsäger vilken väg texten kom:dom, ellerjsonld-articlebodynär sidan bar sin text bara i strukturerade data
En pilfunktion skrivs kortare än ett vanligt funktionsuttryck: ```js const kvadrater = tal.map((n) => n * n); console.log(kvadrater); ``` ## Parametrar med standardvärde
Ställa in det för dokumentation
Fem minuter en gång, sedan sköter kortkommandot resten. Standardvärdena är lagda för att läsa artiklar; dokumentation vill ha ett annat filnamn, inget author-fält och inga bilder.
- Installera tillägget och fäst ikonen i verktygsfältet. Högerklicka på ikonen och välj Inställningar – allt nedan görs där, inget i webbläsarens egna inställningar.
- Under Klick på ikonen väljer du *Lägg i en mapp*. Det är det som gör ett klipp till en enda tangenttryckning: förhandsvisningsfönstret är nyttigt medan du lär känna tillägget och i vägen efteråt.
- Under Var det sparas pekar du ut Mapp på disken. Välj en katalog du redan har i versionshantering, till exempel
docs/klippi det repo du arbetar i. Webbläsaren ber om bekräftelse en gång och kommer ihåg den för den profilen. - Sätt Filnamn till
{domain}-{title}. Fyra ramverk har alla en sida som heter ”Kom igång”, och utan domänen i namnet blir den fjärde tystKom igång-4.md. - Under Vad som hamnar i anteckningen ställer du Bilder på *hoppa över* och låter *Klipp bort navigering, sidnumrering och servicedelar* stå kvar påslagen. En skärmbild av någon annans redigerare går inte att söka i, och bildadressen pekar på ett CDN som kommer att flytta.
- Behåll
sourceochextractioni frontmatter och ta bortauthor. Dokumentation är sällan signerad, och ett tomt fält i varje fil är brus du ändå kommer att skala bort. - Öppna
chrome://extensions/shortcutsoch kontrollera attAlt+Shift+Mär bundet. Har ett annat tillägg tagit kombinationen är det där du tar tillbaka den.
Värden som passar en utvecklare
Det här är de inställningar som är värda att flytta från sitt standardvärde, och skälet gäller dokumentation i synnerhet – inte läsning i allmänhet.
| Inställning | Värde | Varför just så |
|---|---|---|
| Klick på ikonen | Lägg i en mapp | Ett klipp du tar tjugo gånger om dagen ska inte öppna ett fönster tjugo gånger |
| Mapp på disken | `docs/klipp` inne i repot | Klippen versionshanteras, granskas och söks igenom med samma verktyg som koden |
| Filnamn | `{domain}-{title}` | Ramverkens dokumentation krockar på titlar; domäner krockar inte |
| Bilder | hoppa över | Skärmbilder går inte att `grep`:a, och deras adresser ruttnar fortare än texten |
| Frontmatter | `source` och `extraction` på, `author` av | Du behöver adressen och vägen texten kom; en dokumentationssida har sällan en byline värd att spara |
| Regel per webbplats | `reddit.com` → undermapp `tradar` | Ett forumsvar åldras annorlunda än officiell dokumentation och bör ligga för sig |
| Kortkommando | `Alt+Shift+M` | Att klippa utan att lämna tangentbordet är skillnaden mellan att göra det och att låta bli |
--- title: "Cache-Control – HTTP | MDN" source: "https://developer.mozilla.org/sv/docs/Web/HTTP/Headers/Cache-Control" published: "" extraction: "dom" --- | Direktiv | Betydelse | Exempel | | --- | --- | --- | | `max-age` | Antal sekunder svaret får återanvändas | `Cache-Control: max-age=3600` | | `no-store` | Svaret får inte lagras någonstans | `Cache-Control: no-store` | | `immutable` | Svaret ändras inte under sin livstid | | Ett svar utan direktiv behandlas enligt heuristik.[^1] ``` Cache-Control: public, max-age=604800, immutable ``` [^1]: RFC 9111, avsnitt 4.2.2.
Tre arbetspass
Fästa den version du faktiskt byggde mot
Du står på v4-grenen av ett ramverks dokumentation och läser om en konfigurationsflagga som bytte namn i v5. Du trycker Alt+Shift+M. Filen landar som exempel-dev-konfiguration.md i docs/klipp, med source som pekar på /v4/-adressen och sidans eget datum i frontmatter.
Åtta månader senare uppför sig flaggan annorlunda i produktion och ingen minns varför den sattes. Klippet ligger i repot, i samma commit-intervall som ändringen, och det säger vilken lydelse i dokumentationen beslutet fattades mot. Den levande adressen serverar nu v6 och nämner inte flaggan alls.
Forumtråden som faktiskt löste det
Den officiella dokumentationen beskriver det lyckliga fallet; lösningen på ditt fall står fyra kommentarer ned i en Reddit-tråd, där det rätta svaret ligger på 140 poäng under ett felaktigt på 30. Du klipper tråden. Regeln för webbplatsen skickar den till tradar, och nästlingen kommer över som indragna blockcitat med varje kommentars poäng kvar.
Just poängen är det som betyder något när du läser tillbaka. En rak kopiering av samma tråd tappar ordningssignalen helt, och du sitter med fem åsikter utan att kunna se vilken de andra faktiskt höll med om.
En tabell över miljövariabler, rakt in i en pull request
Driftsättningsguiden har en tabell med arton miljövariabler, varav tre har ett kodexempel inne i cellen. Du markerar tabellen på sidan, sparar bara markeringen och klistrar in Markdown-texten i beskrivningen till din pull request. GitHub renderar den som tabell, eftersom det är en GFM-tabell och inte en skärmbild.
På det tekniska korpuset med femton tabeller behöll den här serialiseringen tolv där var och en av de jämförda motorerna behöll sju. Cellerna som knäcker generiska omvandlare är precis de här: de med kod eller en lista inuti.
Mot de vanliga sätten
Alla de här fungerar, och var och en av dem är vad någon i ditt team gör just nu. Tredje kolumnen är den ärliga kostnaden, inklusive för det här tillägget.
| Så görs det i dag | Vad du får | Vad det kostar |
|---|---|---|
| Låta fliken stå öppen | Sidan precis som den är | Den stängs vid nästa omstart, och dokumentationen versioneras under dig |
| Kopiera och klistra in i redigeraren | Text, ibland med sidomenyn på köpet | Kodblocken kommer nakna och tabellen kommer som en rad |
| Skriva ut till PDF | En kopia med fast layout | Går inte att `grep`:a, går inte att diffa, kakbannern följer med |
| Spara ett bokmärke | En pekare, på ett klick | En pekare löser ut till vad sidan säger i dag, inte vad den sa då |
| Ett annat clipper-tillägg | Markdown, med mindre bortklippt | Mätt över 512 sidor: 282 till 491 dubblerade menyrader mot 102 här |
| Clean Clipper | Markdown med språkmärkta kodblock och källadress i frontmatter | En sida i taget, ingen crawler, inga bilder hämtas hem |
När det inte blir rätt
Varför är mitt kodblock omärkt?
Därför att sidan inte angav något språk. Clean Clipper läser märkningen ur klassen som webbplatsens egen färgläggare lämnat – language-…, lang-…, hljs-… och några till – och tittar aldrig på koden för att gissa. Ett handformaterat exempel utan klass ger ett naket block, vilket är det ärliga utfallet: en gissad python-märkning på ett skalkommando är sämre än ingen, eftersom färgläggningen då självsäkert färgar fel saker.
Varför saknas halva guiden?
Nästan alltid flikar eller ett dragspel. Tillägget omvandlar det webbläsaren faktiskt har renderat, och en flik vars innehåll infogas först när du klickar finns inte i DOM förrän du gjort det. Öppna fliken, fäll ut avsnittet och klipp sedan – eller klipp en gång per variant. Där en webbplats renderar alla flikar och döljer dem med CSS kommer alla med, efter varandra.
Varför säger det att det inte finns någon artikel?
En API-lekstuga, en sökträfflista eller ett paketregister består till största delen av länketiketter, och tillägget vägrar sådana med avsikt: ligger en för stor del av de extraherade tecknen inne i länkar rapporterar det ”ingen artikel på den här sidan” i stället för att räcka över trehundra poster. Samma mekanism klipper också bort löpor av tre eller fler rader i följd som bara är länkar – det är så en sidomeny känns igen mitt inne i texten.
Vad betyder extraction: "jsonld-articlebody" i min fil?
Att sidan skickade med artikeltexten i sina strukturerade data men aldrig renderade färdigt den i DOM, så brödtexten lästes därifrån i stället. Vägen antecknas i stället för att döljas, eftersom de två kan skilja sig: kopian i strukturerade data är ibland ett tidigare utkast och ibland den enda fullständiga versionen. Ser du det värdet är det värt en blick på originalet innan du litar på texten.
Vad det inte gör
Det finns ingen crawler: du sparar en sida i taget, den sida du står på. Märkningen på ett kodblock är precis så bra som källsidan – anger en webbplats inget språk för sin kod hittar tillägget inte på något. Diagram och skärmbilder förblir länkar till originalsidan, och binära filer hämtas inte. På sidor som webbläsaren skyddar, som chrome:// och tilläggsbutiken, kör det inte alls.