Szablony Obsidian Web Clipper: 6 gotowych przykładów

Oficjalny Obsidian Web Clipper jest darmowy, open source i zapisuje strony prosto do twojego vaulta. Jego prawdziwa siła to szablony: jeden na każdy typ strony, wybierany automatycznie przez wyzwalacz, a każdy decyduje o nazwie notatki, folderze, właściwościach i treści.

Haczyk polega na tym, że pusty edytor szablonów niczego ci nie podpowiada. Ten wpis to galeria sześciu szablonów, które możesz wkleić jeszcze dziś, ze składnią sprawdzoną w oficjalnej dokumentacji i w kodzie źródłowym clippera. Na koniec sekcja o wyzwalaczach, zmiennych i filtrach, żebyś mógł pisać własne.

Jak zbudowany jest szablon

Każdy szablon składa się z tych samych części:

  • Nazwa notatki i lokalizacja notatki (na przykład Clippings/Videos)
  • Właściwości, które trafiają do frontmattera YAML
  • Treść notatki, czyli ciało w Markdownie
  • Wyzwalacze, czyli wzorce URL albo typy schema.org, które automatycznie wybierają szablon

Wszystkie cztery pola przyjmują zmienne takie jak {{title}} czy {{url}}, a każdą zmienną można przepuścić przez filtry, np. {{published|date:"YYYY-MM-DD"}}. Żeby zobaczyć, co udostępnia dana strona, otwórz clipper i kliknij ikonę ...: pokaże listę zmiennych bieżącej strony.

Szablony udostępnia się jako pliki .json. Żeby jeden zaimportować, otwórz ustawienia clippera, wejdź w dowolny szablon i kliknij Import (albo przeciągnij plik). Repozytorium clipper-templates od Kepano na GitHubie ma kilkanaście kolejnych przykładów w tym samym formacie.

1. Film z YouTube z transkrypcją

Oto pełny JSON gotowy do importu, żebyś raz zobaczył cały format. Zapisz go jako youtube.json i zaimportuj.

{
  "schemaVersion": "0.1.0",
  "name": "YouTube",
  "behavior": "create",
  "noteNameFormat": "{{title|safe_name}}",
  "path": "Clippings/Videos",
  "noteContentFormat": "![{{title}}]({{url}})\n\n{% if transcript %}## Transcript\n\n{{transcript}}{% else %}No transcript available.{% endif %}",
  "properties": [
    { "name": "title", "value": "{{schema:name}}", "type": "text" },
    { "name": "channel", "value": "{{schema:author|wikilink}}", "type": "multitext" },
    { "name": "published", "value": "{{schema:uploadDate|date:YYYY-MM-DD}}", "type": "date" },
    { "name": "duration", "value": "{{schema:duration|duration}}", "type": "text" },
    { "name": "source", "value": "{{url}}", "type": "text" },
    { "name": "tags", "value": "videos", "type": "multitext" }
  ],
  "triggers": ["https://www.youtube.com/watch?v="]
}

Dwa szczegóły warte uwagi. Linia ![...]({{url}}) osadza odtwarzacz w notatce. A {{transcript}} nie figuruje w tabeli zmiennych w dokumentacji: pochodzi z ekstraktora YouTube w Defuddle, parserze wbudowanym w clipper, i istnieje tylko wtedy, gdy film ma napisy. Dlatego szablon owija ją w {% if %}. Jeśli wolisz zachować podsumowanie zamiast 10 000 słów napisów, włącz Interpreter i zastąp ją zmienną promptu, np. {{"a five bullet summary of the video"}}.

2. Wątek z X (Twittera)

Nowsze wersje clippera rozpoznają posty z X i wstawiają wątek do {{content}}, więc szablon sprowadza się głównie do nazewnictwa i wyzwalacza.

Wyzwalacz (regex, żeby odpalał się tylko na postach, a nie na twojej osi czasu):

/^https:\/\/(x|twitter)\.com\/[^\/]+\/status\/\d+/

Treść notatki:

{{content}}

Source: [{{author}}]({{url}})

Przydatne właściwości: author = {{author|wikilink}}, source = {{url}}, created = {{date|date:"YYYY-MM-DD"}}, tags = threads.

3. Przepis

Strony z przepisami publikują dane schema.org, co czyni ten szablon najczystszym z całej szóstki: żadnych selektorów CSS, działa na niemal każdej stronie kulinarnej.

Wyzwalacz:

schema:@Recipe

Treść notatki:

![{{title}}]({{image}})

{{description}}

## Ingredients

{{schema:@Recipe:recipeIngredient|list:task}}

## Steps

{{schema:@Recipe:recipeInstructions[*].text|list:numbered}}

Właściwości: cuisine = {{schema:@Recipe:recipeCuisine}}, total_time = {{schema:@Recipe:totalTime|duration}}, source = {{url}}. Składniki zamieniają się w listę zadań, którą możesz odhaczać podczas gotowania. Niektóre strony grupują kroki w sekcje; wtedy recipeInstructions[*].text może wrócić pusty i trzeba będzie poprawić ścieżkę.

4. Rozmowa z ChatGPT lub Claude

Parser clippera ma ekstraktory dla chatgpt.com i claude.ai, więc w nowszych wersjach {{content}} zawiera kolejne wypowiedzi z rozmowy. Starsze poradniki używają długiego łańcucha selectorHtml dla ChatGPT; dziś raczej nie powinien być potrzebny.

Wyzwalacze (jeden na linię):

https://chatgpt.com/c/
https://chatgpt.com/share/
https://claude.ai/chat/

Treść notatki:

{{content}}

Właściwości: title = {{title}}, source = {{url}}, created = {{date|date:"YYYY-MM-DD"}}, tags = ai/conversation. Więcej o tym, jak zachować przenośność czatów: zapisywanie rozmów z ChatGPT jako Markdown.

5. Artykuł z Wikipedii

Ogólna ekstrakcja Wikipedii zostawia ramki nawigacyjne i stopki. Ten szablon celuje bezpośrednio w treść artykułu i usuwa szum.

Wyzwalacz:

/^https:\/\/[a-z-.]+\.wikipedia\.org\/wiki\/.*$/

Treść notatki:

{{selectorHtml:#mw-content-text|remove_html:(".navbox,.printfooter,.side-box,.mw-editsection")|markdown}}

Właściwości: title = {{title}}, author = [[Wikipedia]], source = {{url}}, tags = wikipedia. Dla zwykłych wpisów blogowych i newsów jako rozwiązanie awaryjne sprawdzi się prosty szablon z {{content}} na górze listy.

6. Praca naukowa (arXiv)

Strony z abstraktami na arXiv udostępniają meta tagi citation_*, które dają czyste metadane bez zgadywania.

Wyzwalacz:

https://arxiv.org/abs/

Treść notatki:

## Abstract

{{selector:blockquote.abstract|replace:"Abstract\:":""|trim}}

## Key contributions

{{"three key contributions of this paper, as a bullet list"}}

Właściwości: title = {{meta:name:citation_title}}, authors = {{selector:.authors a|wikilink|join}}, published = {{meta:name:citation_date|date:("YYYY-MM-DD", "YYYY/MM/DD")}}, pdf = {{meta:name:citation_pdf_url}}. Linia „key contributions” to zmienna promptu: wymaga włączonego Interpretera z modelem (klucz API albo lokalny model w Ollama). Usuń ją, jeśli nie korzystasz z Interpretera.

Wyzwalacze szablonów w praktyce

Wyzwalacze występują w trzech odmianach, jedna reguła na linię:

TypPrzykładDopasowuje
Prostyhttps://www.youtube.com/watch?v=Każdy URL zaczynający się od tego tekstu
Regex/^https:\/\/arxiv\.org\/abs\//URL-e pasujące do wzorca (escapuj . i /)
Schemaschema:@RecipeStrony, których typ schema.org to Recipe

Wyzwalacze schema mogą też sprawdzać pole (schema:@Recipe.name) albo wartość (schema:@Recipe.name=Cookie).

Kolejność ma znaczenie: wygrywa pierwszy pasujący szablon na liście, a strona, która nie pasuje do niczego, używa pierwszego szablonu. Przeciągnij swój ogólny szablon artykułu na samą górę, żeby działał jako rozwiązanie awaryjne.

Ściągawka ze zmiennych i filtrów

Pięć typów zmiennych:

  • Predefiniowane: {{title}}, {{url}}, {{author}}, {{published}}, {{content}}, {{highlights}}, {{date}}
  • Prompt (Interpreter): {{"a summary of the page"}}
  • Meta: {{meta:name:description}}, {{meta:property:og:title}}
  • Selektor: {{selector:h1}}, {{selectorHtml:#main|markdown}}
  • Schema.org: {{schema:@Recipe:recipeIngredient}}, {{schema:author.name}}

Filtry, po które będziesz sięgać najczęściej: date, duration, wikilink, list (z task albo numbered), join, replace, safe_name, markdown, remove_html, blockquote i callout. Logika szablonów ({% if %}, {% for %}, {% set %} i wartość zastępcza ??) radzi sobie z brakującymi danymi.

Albo odpuść utrzymywanie szablonów

Szablony mają jeden koszt, o którym dokumentacja milczy: utrzymanie. Strony zmieniają swój kod, selektory psują się po cichu, a ty orientujesz się po tygodniach, gdy notatka przychodzi pusta. Jeśli zapisujesz treści z dziesiątek stron, w końcu utrzymujesz mały projekt programistyczny.

Minibase idzie inną drogą. Zamiast szablonu na każdą stronę ma wbudowaną obsługę setek konkretnych serwisów (wątki z X, Reddit, GitHub, rozmowy z ChatGPT i Claude, strony dokumentacji) i zwraca czysty Markdown z frontmatterem, bez żadnej konfiguracji. Pliki .md trafiają do folderu Minibase Vault, który możesz wskazać Obsidianowi, więc pojawiają się w twoim vaulcie jak każda inna notatka.

Darmowy plan daje 20 zapisów miesięcznie, bez zakładania konta. Minibase+ ($5.99/miesiąc lub $34.99/rok) dodaje ponad 20 szablonów AI (Obsidian, Academic, Recipe, notatki Cornella, fiszki i inne) oraz transkrypcję filmów z YouTube, Reels i TikToka. Tutaj wyjaśniamy, jak działają transkrypcje z YouTube.

Uczciwie wobec Obsidiana: jeśli zapisujesz treści z kilku stron i lubisz dopracowywać notatki, oficjalny clipper z powyższymi szablonami jest świetny i nic nie kosztuje. Jeśli wolisz nie debugować selektorów CSS, Minibase to opcja niewymagająca utrzymania, a nic nie stoi na przeszkodzie, żeby używać obu. Porównaliśmy je obok siebie w tekście Obsidian Web Clipper vs Minibase.

FAQ

Gdzie znajdę więcej szablonów Obsidian Web Clipper? Repozytorium clipper-templates od Kepano na GitHubie ma szablony dla YouTube, Wikipedii, przepisów, IMDb, Goodreads, arXiv i nie tylko. Mnóstwo szablonów od społeczności znajdziesz też na forum i Discordzie Obsidiana.

Czy Web Clipper potrafi zapisywać transkrypcje z YouTube? Tak, jeśli film ma napisy: nowsze wersje udostępniają na stronach YouTube zmienną {{transcript}}. Filmy bez napisów nie mają transkrypcji do pobrania.

Dlaczego mój szablon się nie uruchamia? Zwykle chodzi o kolejność: wcześniej dopasował się inny szablon, wyżej na liście. Sprawdź też, czy proste wyzwalacze dokładnie pasują do początku URL-a (https://www. kontra https://).

Czy zmienne promptu kosztują? Działają na modelu skonfigurowanym w Interpreterze. Dostawcy chmurowi rozliczają twój klucz API; lokalny model przez Ollama jest darmowy.

Continue reading

Gotowy, aby zapisywać mądrzej?

Konwertuj dowolną stronę internetową na Markdown jednym kliknięciem.

Dodaj do Chrome