Clean Clipper Adaugă în Chrome – gratuit

Pentru cine este

Documentația tehnică, cu tot codul intact

Clean Clipper citește limbajul de pe pagina însăși – clasa blocului, elementul părinte, marcajul lăsat de evidențiatorul site-ului – și îl scrie pe gard. Pe un corpus tehnic de nouă pagini, eticheta a supraviețuit în 73 de blocuri din 156, față de 20 și 0 la celelalte două motoare măsurate. Restul paginii ajunge în Markdown obișnuit, fără bara laterală.

Ce se rupe la copiere

O documentație este în cea mai mare parte cod, și exact partea aceea o strică majoritatea clipperelor. Blocul ajunge gol, fără etichetă: în Obsidian se vede ca o pată gri uniformă, iar într-un depozit trece prin review fără nicio culoare. Așa că redeschideți fiecare notiță ca să scrieți de mână js, python sau bash deasupra fiecărui gard. Pe o documentație de treizeci de pagini asta înseamnă o seară pierdută reparând ceva ce exista deja pe pagina originală.

Restul preluării nu stă mai bine. Selectorul de versiune, bara laterală și lista „pe această pagină” aterizează în mijlocul textului, iar un tabel de parametri se turtește pe o singură linie fiindcă o celulă conținea un exemplu de cod. Peste trei luni căutați o opțiune de API prin notițele proprii și dați întâi peste trei copii ale meniului. Notița există, dar nu se mai lasă recitită.

A treia pierdere este versiunea. O documentație are versiuni, adresa ei aproape niciodată: pagina pe care ați citit-o pentru v4 devine tăcut pagina lui v6, cu un parametru redenumit și o opțiune scoasă, iar semnul de carte se deschide în continuare – numai că spune altceva. Nicăieri în notițele dumneavoastră nu scrie față de ce versiune a fost luată decizia. Un fișier care poartă în cap adresa și data declarată de pagină răspunde la întrebarea aceasta peste un an; un semn de carte nu a răspuns niciodată.

Ce se schimbă în notiță

Gardul își păstrează eticheta de limbaj, tabelul își păstrează rândurilemfinante.gov.ro/ro/web/efactura/informatii-tehnice
## Trimiterea facturii

Încărcarea se face cu tokenul obținut prin OAuth:

```bash
curl -X POST "https://api.anaf.ro/prod/FCTEL/rest/upload?standard=UBL&cif=12345678" \
  -H "Authorization: Bearer $TOKEN" \
  --data-binary @factura.xml
```

| Parametru | Valoare |
| --- | --- |
| `standard` | UBL, CN, CII sau RASP |
| `cif` | codul fiscal al emitentului |

Cum se pune la punct pentru documentație

Cinci minute o singură dată, apoi rămâne scurtătura. Setările implicite sunt gândite pentru citit articole; o documentație cere alt tipar de nume, niciun câmp de autor și nicio imagine.

  1. Instalați extensia și fixați pictograma în bara de unelte. Clic dreapta pe pictogramă, apoi Opțiuni, ca setările să se deschidă într-o filă.
  2. Puneți ce face clicul pe pictogramă pe „salvează în dosar”. Fereastra de previzualizare ajută cât învățați unealta și încurcă după aceea; fără ea, o preluare este o singură apăsare.
  3. Alegeți dosarul. Indicați un dosar aflat deja sub control de versiune – de pildă docs/preluari din depozitul la care lucrați. Browserul cere confirmarea o singură dată și ține minte permisiunea pentru profilul acela.
  4. Puneți tiparul de nume pe {domain}-{title}. Patru cadre de lucru au fiecare câte o pagină numită „Introducere”; fără domeniu în nume, a doua ajunge introducere-2.md, a treia introducere-3.md, și nu mai știți a cui este care.
  5. În secțiunea de frontmatter păstrați source și extraction și opriți author. Documentația este rareori semnată, iar un câmp gol în fiecare fișier este zgomot pe care oricum îl veți șterge.
  6. Puneți imaginile pe „ignoră”. O captură din alt IDE nu se caută cu grep, iar linkul ei trimite la o rețea de livrare care se va muta.
  7. Deschideți chrome://extensions/shortcuts și verificați că Alt+Shift+M este într-adevăr legat. Dacă l-a luat altă extensie, de acolo îl luați înapoi.

Setările potrivite unui programator

Acestea sunt valorile care merită schimbate față de cele implicite, cu motivul pentru care fiecare contează la o documentație tehnică, nu la citit în general.

SetareValoareDe ce tocmai aceasta
Clic pe pictogramăSalvează în dosarO preluare făcută de douăzeci de ori pe zi nu are de ce să deschidă o fereastră de douăzeci de ori
Dosar`docs/preluari` din depozitPreluările intră în același control de versiune, același review și același `grep` ca și codul
Tipar de nume`{domain}-{title}``{date}` este data publicării, iar paginile de documentație rareori declară una; domeniul deosebește întotdeauna
ImaginiIgnorăCapturile nu se caută cu `grep`, iar adresele lor se strică mai repede decât textul
Frontmatter`source` și `extraction` pornite, `author` opritVă trebuie adresa și calea de extragere; o pagină de documentație nu are semnătură de păstrat
Regulă pe site`reddit.com` → subdosarul `fire`Răspunsurile de pe forum îmbătrânesc altfel decât documentația oficială și merită ținute deoparte
Scurtătură`Alt+Shift+M`Preluarea fără mâna de pe tastatură este diferența dintre a o face și a nu o face
Fără clasă pe pagină, gardul rămâne fără etichetălearn.microsoft.com/ro-ro/dotnet/core/tools
Rulați migrarea înainte de a porni serviciul:

```
./bin/migrare --mediu productie
```

```powershell
Get-Content ./jurnal.txt -Tail 50
```

Al doilea gard purta `class="language-powershell"`. Primul nu purta nimic
și rămâne gol, în loc să primească o etichetă ghicită.

Trei situații de lucru

Versiunea față de care s-a construit efectiv

Sunteți pe ramura v4 a documentației unui cadru de lucru, la pagina despre un parametru de configurare redenumit în v5. Apăsați Alt+Shift+M. Fișierul aterizează ca exemplu-dev-referinta-configurare.md în docs/preluari, cu source care arată spre adresa cu /v4/ și cu data declarată de pagină în cap.

Peste opt luni parametrul se poartă altfel în producție și nimeni nu mai știe de ce a fost pus așa. Preluarea este în depozit, în același interval de commituri cu schimbarea, și spune față de ce versiune a documentației s-a luat decizia. Adresa vie servește acum v6 și nu mai pomenește deloc parametrul.

Firul de forum care a rezolvat de fapt problema

Documentația oficială descrie drumul fericit, iar soluția pentru cazul dumneavoastră stă într-un fir de pe Reddit, la al patrulea nivel de comentarii, unde răspunsul bun are 140 de puncte și stă sub unul greșit cu 30. Preluați firul: regula pe site îl trimite în fire, iar structura vine ca citate imbricate, cu scorul lipit de fiecare mesaj.

Scorul este exact partea care contează la recitire. O copiere obișnuită a aceluiași fir pierde cu totul semnalul de ordonare și rămâneți cu cinci păreri între care nu mai puteți deosebi pe care a confirmat-o comunitatea.

Un tabel de parametri, direct în cererea de fuzionare

Ghidul de instalare are un tabel cu optsprezece variabile de mediu, dintre care trei au un exemplu de cod în celulă. Selectați tabelul pe pagină, preluați selecția și lipiți Markdownul în descrierea cererii de fuzionare. Este randat ca tabel, pentru că este tabel GFM, nu o captură.

Pe corpusul tehnic de cincisprezece tabele, serializatorul acesta a păstrat douăsprezece, acolo unde fiecare dintre motoarele comparate a păstrat șapte. Celulele care rup convertoarele generice sunt tocmai acestea: cele cu cod sau cu o listă înăuntru.

Față de cum se face acum

Fiecare dintre metodele de mai jos funcționează, și fiecare este ceea ce face cineva din echipa dumneavoastră chiar în clipa asta. A treia coloană este prețul real, inclusiv al nostru.

Cum se face acumCe obținețiCât costă
Lăsați fila deschisăPagina, exact așa cum esteSe închide la prima repornire, iar documentația își schimbă versiunea pe sub dumneavoastră
Copiere și lipire în editorText, uneori cu bara laterală cu totGardurile ajung goale, tabelele ajung pe o linie
Tipărire în PDFO copie cu așezarea fixatăNu se caută cu `grep`, nu se compară cu `diff`, vine cu bara de cookie-uri
Semn de carteUn indicator, dintr-un clicUn indicator duce la ce spune pagina astăzi, nu la ce spunea atunci
Altă extensie de preluareMarkdown, cu mai puțină curățenieMăsurat pe 512 pagini: de la 282 până la 491 de linii de meniu repetate, față de 102 aici
Clean ClipperMarkdown cu garduri etichetate și adresa sursei în capO pagină pe rând, fără crawler, fără imagini descărcate

Când nu iese cum trebuie

De ce este gardul meu de cod gol?

Pentru că pagina nu a spus în ce limbaj este. Clean Clipper citește limbajul din clasa lăsată de evidențiatorul site-ului; nu se uită la cod ca să ghicească. Un exemplu stilizat de mână, fără clasă, dă un gard gol, și acesta este rezultatul cinstit: o etichetă python ghicită pe un fragment de shell este mai rea decât lipsa ei, fiindcă atunci evidențierea colorează cu încredere lucruri greșite.

De ce lipsește jumătate din ghid?

Aproape întotdeauna din cauza filelor sau a unui acordeon. Extensia convertește ce a randat efectiv browserul, iar conținutul unei file care se încarcă abia la clic nu există în DOM până nu dați clicul. Deschideți fila, desfășurați secțiunea și abia apoi preluați – sau preluați o dată pentru fiecare variantă. Unde site-ul randează toate filele și le ascunde din CSS, ele ajung toate, una după alta.

De ce spune că nu există articol?

O consolă de test a unui API, o pagină de rezultate sau un index de pachete este alcătuită mai ales din etichete de link, iar extensia le refuză intenționat: dacă peste aproximativ un sfert din caracterele extrase stau în interiorul unor linkuri, răspunde „nu există articol” în loc să vă dea trei sute de intrări. Refuzul acesta este și motivul pentru care ponderea ei de „text util” iese mai mică decât la motoarele care întorc mereu ceva.

Ce înseamnă extraction: "jsonld-articlebody" în fișierul meu?

Că pagina și-a livrat textul în datele structurate, dar nu a mai apucat să îl randeze în DOM, așa că textul a fost citit din datele structurate. Este consemnat, nu ascuns, fiindcă cele două căi pot să difere: uneori copia din datele structurate este o versiune anterioară, alteori este singura completă. Când vedeți valoarea aceasta, merită o privire pe original înainte de a vă baza pe text.

Ce nu face

Nu ghicește limbajul unui bloc pe care pagina nu îl etichetează: acolo unde site-ul randează cod fără clasă, gardul rămâne gol, și asta este intenționat – o etichetă inventată costă mai mult decât una lipsă. Nu parcurge un site întreg de documentație: o pagină pe rând, cea pe care vă aflați, fără crawler și fără procesare în lot. Nu descarcă scheme și nici capturi de ecran, imaginile rămân linkuri către site-ul original. Iar pe paginile protejate de browser, cum sunt chrome:// și magazinul de extensii, nu rulează deloc.

Adaugă în Chrome – gratuitGratuit în întregime, fără cont și fără limite.

Întrebări

Ce limbaje recunoaște?
Pe cele pe care le declară pagina însăși. Clean Clipper nu ghicește limbajul din cod: citește clasa lăsată de evidențiatorul site-ului, așa că eticheta este la fel de corectă ca pagina-sursă și lipsește atunci când pagina nu dă niciuna.
Funcționează pe documentație randată în JavaScript?
Da. Extensia citește DOM-ul după ce pagina s-a randat, așa că o documentație de tip single-page este preluată exact așa cum o vedeți, cu secțiunea chiar deschisă.
Supraviețuiește codul scris în linie?
Da. Fragmentele în linie rămân între accente grave, inclusiv în interiorul titlurilor, al listelor și al celulelor de tabel.
Pot scoate imaginile dintr-o documentație?
Da. Puneți imaginile pe „ignoră” în setări, fie peste tot, fie printr-o regulă care vizează un singur site.
Poate prelua o pagină din spatele unei autentificări deja deschise?
Da, pentru că citește pagina pe care browserul a randat-o pentru dumneavoastră. O documentație internă, accesibilă după autentificare, se preia ca oricare alta.
Ajung numerele de linie în interiorul gardului?
Nu, atunci când site-ul le randează ca element separat, cum fac mai toate evidențiatoarele. Acolo unde numerele fac parte din textul codului, ele trec mai departe, pentru că nimic nu le mai deosebește de cod.
Pot ține preluările în git?
Pentru asta sunt făcute. Sunt fișiere text UTF-8 cu antet YAML: se compară linie cu linie, se contopesc ca sursele și nu ocupă aproape nimic într-un depozit. Preluați aceeași pagină de referință la lansarea următoare și diff arată exact ce paragrafe a schimbat furnizorul.
În ce browsere merge?
În Chrome și în celelalte browsere pe Chromium: Edge, Brave, Vivaldi și Opera. Este o extensie Manifest V3 și nu cere permisiuni de gazdă, așa că poate citi doar fila în care ați apăsat pictograma sau scurtătura.
De ce nu se întâmplă nimic pe paginile `chrome://`?
Fiindcă browserul interzice extensiilor să ruleze acolo, la fel ca în magazinul de extensii. Este o regulă a browserului, nu o setare: nicio extensie nu poate citi paginile acelea.
Cât durează o preluare?
Zeci de milisecunde pentru o pagină obișnuită de documentație. O pagină foarte lungă, cu sute de linkuri de referință, ajunge la câteva sute, pentru că notele sunt adunate înainte ca filtrul de curățare să șteargă identificatorii de care depind. Timpul măsurat este arătat în colțul ferestrei de preluare.