Clean Clipper Lägg till i Chrome – gratis

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

Kodblocket kommer ut med sin språkmärkning kvardeveloper.mozilla.org/sv/docs/Web/JavaScript/Guide
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.

  1. 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.
  2. 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.
  3. Under Var det sparas pekar du ut Mapp på disken. Välj en katalog du redan har i versionshantering, till exempel docs/klipp i det repo du arbetar i. Webbläsaren ber om bekräftelse en gång och kommer ihåg den för den profilen.
  4. 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 tyst Kom igång-4.md.
  5. 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.
  6. Behåll source och extraction i frontmatter och ta bort author. Dokumentation är sällan signerad, och ett tomt fält i varje fil är brus du ändå kommer att skala bort.
  7. Öppna chrome://extensions/shortcuts och kontrollera att Alt+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ällningVärdeVarför just så
Klick på ikonenLägg i en mappEtt klipp du tar tjugo gånger om dagen ska inte öppna ett fönster tjugo gånger
Mapp på disken`docs/klipp` inne i repotKlippen versionshanteras, granskas och söks igenom med samma verktyg som koden
Filnamn`{domain}-{title}`Ramverkens dokumentation krockar på titlar; domäner krockar inte
Bilderhoppa överSkärmbilder går inte att `grep`:a, och deras adresser ruttnar fortare än texten
Frontmatter`source` och `extraction` på, `author` avDu 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
Svårare fall: en tabell med kod i cellen, ett block sidan inte märkte, och `published` tomt eftersom sidan inte bar något datumdeveloper.mozilla.org/sv/docs/Web/HTTP/Headers/Cache-Control
---
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 dagVad du fårVad det kostar
Låta fliken stå öppenSidan precis som den ärDen stängs vid nästa omstart, och dokumentationen versioneras under dig
Kopiera och klistra in i redigerarenText, ibland med sidomenyn på köpetKodblocken kommer nakna och tabellen kommer som en rad
Skriva ut till PDFEn kopia med fast layoutGår inte att `grep`:a, går inte att diffa, kakbannern följer med
Spara ett bokmärkeEn pekare, på ett klickEn pekare löser ut till vad sidan säger i dag, inte vad den sa då
Ett annat clipper-tilläggMarkdown, med mindre bortklipptMätt över 512 sidor: 282 till 491 dubblerade menyrader mot 102 här
Clean ClipperMarkdown med språkmärkta kodblock och källadress i frontmatterEn 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.

Lägg till i Chrome – gratisHelt gratis. Inget konto, ingen registrering, inga gränser.

Frågor

Vilka språk känner det igen?
Det som sidan själv anger. Clean Clipper gissar inte språket utifrån koden – det läser klassen som webbplatsens egen färgläggare har lämnat efter sig, så märkningen är precis lika korrekt som källsidan.
Fungerar det på dokumentation som renderas i JavaScript?
Ja. Tillägget läser DOM efter att sidan renderat, så dokumentationssajter byggda som ensidesapplikationer sparas precis som du ser dem.
Bevaras indraget inne i ett kodblock?
Ja. Innehållet i ett block förs över ordagrant, med blanksteg och tomma rader, och formateras inte om.
Kan jag ta ett curl-exempel ur en lång sida utan resten?
Ja. Markera blocket på sidan och spara markeringen – bara det markerade hamnar i anteckningen.
Hamnar radnumren inne i kodblocket?
Inte när webbplatsen renderar dem som ett eget element, vilket de flesta färgläggare gör. Ligger numren i själva kodtexten följer de med, eftersom ingenting då skiljer dem från koden.
Går det att klippa en hel dokumentationssajt på en gång?
Nej. Det finns varken crawler eller satsvis bearbetning: du klipper de sidor du faktiskt vill ha, en i taget.
Fungerar det på en intern wiki bakom SSO?
Ja. Tillägget läser den sida webbläsaren redan renderat för din session, så allt du ser efter inloggning klipps precis som en publik sida. Ingenting om sidan lämnar din dator – tillägget gör inga nätverksförfrågningar alls.
Kan jag ha klippen i git?
Det är vad de är gjorda för. Det är UTF-8-textfiler med ett YAML-huvud, så de diffar rad för rad, slås ihop som källkod och tar nästan ingen plats i ett repo. Klipp samma referenssida vid nästa släpp så visar diffen vilka stycken leverantören ändrade.
Vilka webbläsare kör det i?
Chrome och de övriga Chromium-webbläsarna: Edge, Brave, Vivaldi och Opera. Det är ett Manifest V3-tillägg utan host-behörigheter, så det kan bara läsa den flik där du klickade på ikonen eller tryckte på kortkommandot.
Varför händer ingenting på `chrome://`-sidor?
Webbläsaren förbjuder tillägg att köra där, och samma sak gäller tilläggsbutiken. Det är en regel i webbläsaren och ingen inställning – inget tillägg kan läsa de sidorna.