Skip to content

Alexmacapple/LinkDown

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LinkDown

Capturez les posts LinkedIn en notes Markdown avec front matter YAML.

Chrome Extension Manifest V3 Version License Council Score

Fonctionnalités

  • Extraction en un clic - Capturez n'importe quel post LinkedIn
  • Front matter YAML - Date, auteur, URL source inclus
  • Extraction DOM intelligente - Gère la structure complexe de LinkedIn
  • Filtrage du contenu sponsorisé - Ignore automatiquement les publicités
  • Support multilingue - Détecte le contenu sponsorisé en 20+ langues
  • Support CJK - Gestion correcte du chinois, japonais, coréen
  • Dégradation gracieuse - Affiche des warnings au lieu d'échouer silencieusement

Installation

Depuis les sources (Mode développeur)

  1. Clonez ce dépôt
  2. Ouvrez chrome://extensions/ dans Chrome
  3. Activez le "Mode développeur" (toggle en haut à droite)
  4. Cliquez "Charger l'extension non empaquetée" et sélectionnez le dossier
  5. Épinglez l'extension pour un accès facile

Utilisation

  1. Naviguez vers un post LinkedIn (URL /posts/ ou /feed/update/)
  2. Cliquez sur l'icône LinkDown
  3. Prévisualisez le contenu extrait
  4. Cliquez Télécharger .md ou Copier dans le presse-papiers

Format de sortie

---
date: 2024-01-15
auteur: Jean Dupont
origine: LinkedIn
url: https://www.linkedin.com/feed/update/urn:li:activity:123456/
---

Contenu du post ici...

Points techniques

Stratégie d'extraction

Priorité Méthode Description
1 Corrélation URN/URL Extrait l'ID d'activité de l'URL pour ciblage précis
2 querySelectorAll + filtrage Ignore les containers sponsorisés
3 Fallback document-wide Trouve auteur/date hors du container principal

Détection du contenu sponsorisé

Vérification en 5 directions :

  1. Ancêtres - element.closest()
  2. Élément - element.matches()
  3. Descendants - element.querySelector()
  4. Texte actor/meta - Indicateurs textuels
  5. Siblings - Éléments adjacents

Support i18n (20+ langues)

Scripts alphabétiques (word boundaries) : EN, FR, DE, ES, IT, PT, NL, PL, SV, NO, DA, FI, RU, TR, ID, VI, CS, EL, HU, RO

CJK et scripts complexes (matching includes) : JA, KO, ZH, AR, HE, TH, HI

Sécurité

  • Manifest V3 - Dernier standard Chrome
  • Permissions minimales - activeTab, scripting, clipboardWrite, downloads
  • CSP appliquée - script-src 'self'; object-src 'none'
  • Pas de vecteur XSS - Utilise textContent exclusivement
  • Pas d'exposition globale - Fonctions internes non accessibles aux scripts de page

Auto-tests

Lancez les tests de validation dans la console DevTools sur une page LinkedIn :

window.__linkdownSelfTest()

Résultat attendu :

LinkDown v6 self-test: 15/15 passed
  ✓ CJK detect JP
  ✓ EN match promoted
  ✓ EN no partial match
  ...

Structure du projet

/
├── manifest.json    # Manifest extension (V3)
├── content.js       # Logique d'extraction DOM
├── popup.html       # Interface popup
├── popup.js         # Logique d'interaction popup
├── popup.css        # Styles popup
├── icons/           # Icônes extension (16, 48, 128px)
├── PRD/             # Documents de spécifications
├── CLAUDE.md        # Documentation développement
├── README.md        # Ce fichier
└── LICENSE          # Licence MIT

Limitations

  • Post unique seulement - Fonctionne sur les pages de post individuel, pas le feed principal
  • Dépendant du DOM - Les changements de DOM LinkedIn peuvent nécessiter des mises à jour de sélecteurs
  • Pas d'images - Extrait uniquement le contenu texte

Dépannage

Problème Solution
"Plusieurs posts détectés" Ouvrez le post dans un nouvel onglet
Auteur/date non trouvés LinkedIn a peut-être changé la structure DOM
Extension ne répond pas Rechargez la page et réessayez

Contribuer

  1. Forkez le dépôt
  2. Créez une branche feature
  3. Lancez les auto-tests avant de soumettre
  4. Soumettez une pull request

Changelog

v1.5.0 (Phase 3)

  • Matching CJK-aware pour le contenu sponsorisé
  • Auto-tests intégrés (15+ tests)
  • Support scripts complexes (arabe, hébreu, thaï, hindi)

v1.4.0 (Phase 2)

  • Support i18n pour 20+ langues
  • Corrélation URN/URL pour ciblage précis
  • Vérification des éléments siblings

v1.3.0 (Phase 1)

  • Filtrage du contenu sponsorisé
  • Politique CSP de sécurité
  • Suppression de l'exposition globale

v1.2.0

  • Fallback document-wide pour auteur/date
  • Correction extraction sur pages /posts/

v1.1.0

  • Release initiale
  • Extraction basique avec front matter YAML

Licence

Licence MIT - Voir LICENSE pour les détails.


Développé avec Claude Code

About

Transforme n'importe quel post LinkedIn en fichier Markdown prêt pour Obsidian, Notion ou votre PKM, avec métadonnées YAML (auteur, date, URL) — en un clic.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors