Zim-clip

Zim-clip est une extension web pour Firefox et Chromium sous Linux (et Mac ?) qui permet d'envoyer le contenu sélectionné d'une page web soit vers le logiciel de prise de notes Zim soit vers le presse-papier. Elle peut aussi servir à maintenir une liste de liens vers des pages web.

Attention: Documentation en cours de rédaction...

Présentation

Zim-clip se compose de 2 parties :

  • Une extension web pour Firefox ou pour Chromium.
  • Un plugin Zim.

Ces 2 parties communiquent entres elles afin d'envoyer vers Zim ou le presse-papier :

  • Le texte sélectionné dans la page courante du navigateur web.
  • Un lien pointant vers la page courante.
  • Une liste de liens correspondant à toutes les pages ouvertes.
Requirements
Test de la version 1.0.3.
Plateforme Zim Firefox Chromium
Fedora 26 0.67 55 60
Raspbian Stretch 0.65, 0.67 52 60
  • Zim-clip doit fonctionner sur toute distribution Linux sur laquelle tournent Zim, Firefox et Chromium.
  • Zim-clip devrait fonctionner sous OS X sans aucune certitude.
  • Zim-clip devrait fonctionner avec Chrome.
  • Zim-clip ne fonctionne plus sous Windows pour le moment (Voir Installation sur Windows).

Installation

Depuis sa version 1.0.0 (septembre 2017), Zim-clip nécessite 2 extensions pour fonctionner :

  • Un plugin Zim à installer dans Zim.
  • Une extension web pour le navigateur (Firefox ou Chromium)

Plugin Zim

  1. Télécharger le plugin (.tar.gz, 15 ko).
  2. Copier le contenu de l'archive dans ~/.local/share/zim/plugins/.
  3. Démarrer Zim et activer le plugin dans l'onglet des plugins de la fenêtre de préférences.
  4. Configurer le plugin.

Extension web

Installation dans Firefox 55+

  1. Installer l'extension depuis le site Mozilla.
  2. Configurer l'extension.

Les mises à jours seront mises en ligne sur le site Mozilla Addons mais je réflechis à mettre l'extension disponible ici car le process de validation sur Mozilla Addons est lent et pénible. Voir Chromium vs Firefox 2.

Installation dans Chromium 60+

  1. Télécharger l'extension (.crx, 31 ko).
  2. Ouvrer Chromium et aller à la page chrome://extensions/.
  3. Glisser-déposer l'extension depuis l'explorateur de fichier sur la page dans Chromium.
  4. Configurer l'extension.

La procédure devrait être la même sous Chrome. L'extension sera peut-être disponible sur le web store Chrome pour faciliter les mises à jour.

Permissions demandées

activeTab
Droits sur l'onglet courant (javascript pour copier le contenu sélectionné et le transformer en syntaxe wiki).
downloads
Télécharger les images lors de sélection de contenu.
nativeMessaging
Communiquer avec Zim.
Notifications
Envoyer des notifications à l'utilisateur.
storage
Stocker localement les préférences de l'extension (local storage).
tabs
Récupérer les données des pages (url, titre).

Installation sous Windows

Zim-clip ne fonctionne plus sous Windows. L'installation des manifestes permettant à une extension web de communiquer avec une extension native est très différente de celle des autres plateformes et nécessite l'écriture de clé dans le registre. Je n'ai ni temps ni moyens à consacrer à cette question. Si un utilisateur de Zim-clip sous Windows réussit à le faire à partir du plugin zim, j'intégrerais sa solution avec plaisir. (Exemple de Native Messaging sous Windows).

Configuration

Plugin Zim

Configuration plugin zim

Nom
marks page
default
:marks
Description
Définir la page d'un bloc-notes Zim dans laquelle stocker des liens à lire plus tard. Si une valeur vide est fournie, l'extension reviendra à la valeur par défaut.
Nom
clips namespace
default
:clips
Description
Définir l'espace de noms Zim où stocker les pages capturées. Si une valeur vide est fournie, l'extension reviendra à la valeur par défaut.

Extension web

Configuration extension web

linkPattern

Liste des metas données disponibles
name HTML Dublin Core Open Graph
title title dc.title og:title
type - - og:type
url href - og:url
image - - og:image
author author, creator dc.creator article:author
date - dc.created article:published_time
modified - dc.modified article:modified_time
publisher publisher dc.publisher -
description description dc.description og:description
keywords keywords - -

Les versions 1.0.x ne lisent que les propriétés « title » et « url ». Les versions 1.1.x lisent toutes les métas données listées.

[[${page.title}|${page.url}]]
Format par défaut.
${page.title} - ${page.author} - ${page.url} - ${page.date}
Exemple avec d'autres méta-données (1.1.x)
title: ${page.title}
url: ${page.url}
author: ${page.author}
pub: ${page.publisher}
date: ${page.date}
Exemple multiligne (1.1.x)

Format

Format de la syntaxe wiki lors de la capture de contenu (clip). Utiliser obligatoirement « zim » quand vous envoyez le contenu vers Zim. La syntaxe markdown est une syntaxe allégée qui ne gère pas toutes les conversions possibles.

Actions

Utilisation extension web

Attention: Documentation en cours de rédaction...

Depuis la version 1.0.0, les actions de l'extension peuvent être envoyé soit au logiciel Zim, soit au presse-papier.

Mark

A faire...

markAll

A faire...

Clip

A faire...

HTML vers wiki

Lorsque l'on capture une page avec la fonctionnalité clip, L'extension zim-clip convertit le code HTML en syntaxe wiki en suivant les règles supportées par Zim. Cette conversion est encore en cours d'affinage et possède une limite inhérente à Zim qui ne supporte pas certaines syntaxes imbriquées, comme des liens dans une emphase ou des images dans des liens.

Conversions de blocs

  • Les éléments de regroupement (« grouping content ») gérés (paragraphe, listes, figure) sont séparés par une ligne vide.
  • Tous les niveaux de titres (h1 à h6) sont supportés.
  • Chaque éléments (dt, dd) d'une liste de description (dl) sont rendus chacuns sur une nouvelle ligne.
    • Les termes (dt) sont rendus avec deux-points (« : ») en fin de ligne.
    • Les descriptions (dd) sont rendues avec une indentation de 4 espaces.
  • Les listes à puces ou ordonnées (ul, ol) sont rendues comme décrites dans la documentation Zim.
  • Les cellules d'un tableau sont séparées par un pipe (|). La syntaxe n'est pas supportée par Zim.
  • Les images sélectionnées sont copiées localement dans le bloc-notes où l'utilisateur enregistre la page web.
  • Les lignes des blocs de citation (blockquote) sont préfixés par « > ». La syntaxe n'est pas supportée par Zim.

Eléments en ligne

Règles de conversions des éléments en ligne.
HTML Wiki
<a href="url">text</a> [[url|text]]
<del>text</del> ~~text~~
<del datetime="time">text</del> ~~text (time)~~
<strong>text</strong> **text**
<b>text</b> **text**
<em>text</em> //text//
<i>text</i> //text//
<mark>text</mark> __text__
<code>text</code> ''text''

Conversions supplémentaires

Règles de conversions supplémentaires.
HTML Wiki
<abbr title="title">text</abbr> text (title)
<iframe src="url"></iframe> [[url]]
<q cite="url">text</q> "text" ([[cite]])
<time datetime="time">text</time> text (time)

Bugs et évolutions

Bugs et évolutions

Planning

1.1.0
  • 0021 : Lire les méta-données des pages.
  • 0023 : Mise à jour automatique.
  • 0024 : syntaxe wiki des tables.
  • 0025 : clean downloads
1.2.0
  • retour du click droit pour envoyer la sélection à Zim.

Historique

1.1.0 (A paraitre)
  • fix Mauvaise construction de l'objet de gestion de la syntaxe markdown.
  • fix 0024 — syntaxe des tableaux Zim.
1.0.3 (2017-09-17)
  • fix Mauvaise gestion du chargement des options (default enregistrées à la place du choix utilisateur).
1.0.2 (2017-09-17) (non diffusée)
  • upd version minimum de Firefox descendue à 52 pour pouvoir fonctionner sous Debian Stretch.
  • add Bouton de sauvegarde des options.
  • fix règles eslint locales
1.0.1 (2017-09-12) (non diffusée)
  • fix transformation du HTML en syntaxe wiki.
1.0.0 (2017-09-08) (non diffusée)
  • fix 0018 - Web Extension
  • add 0019 - linkPattern
  • add 0020 - Mark all tabs
  • add 0022 - Send to clipboard
0.7.1 (2015-10-04)
  • fix 0016 - liste des bloc-notes pour zim ≤ 0.60.
0.7.0 (2015-04-06)
  • upd 0014 - Mettre à jour l'interface graphique.
  • fix 0013 - Téléchargement des images.
  • add 0012 - Rendu des éléments b et i.
  • fix 0011 - Espaces blancs et sauts de ligne.
  • fix 0007 - processus Zim dupliqué sous Fedora.
  • upd Commentaires en anglais.
0.5.4.1 (2014-01-04)
  • fix 0010 : Zim-clip ne fonctionne pas avec IceWeasel.
0.6.0 (2013-12-21)
  • upd Mise à jour avec le sdk 1.15, compatible avec Firefox >= 21.
  • upd Suppression d'APIs obsolètes.
0.5.4 (2013-12-21)
  • fix 0008 - Encodage des caractères lors d'une copie sous Windows.
  • fix 0009 - Images non sauvegardées sous Windows.
  • fix 0010 - Zim-clip ne fonctionne pas avec IceWeasel.
0.5.3 (2013-04-08)
  • fix Correction dans la lecture de la liste des blocs-notes sous Windows.
0.5.2 (2013-04-05)
  • upd Abandon de la définition des sources pour la définition d'une installation alternative, ce qui facilite la détection de Zim sous Windows.
0.5.1 (2013-04-03)
  • add Support de la plateforme Windows.
  • upd Harmonistaion de la lecture des dossiers spéciaux.
  • fix La liste des bloc-notes (marks) peut être vide.
0.5.0 (2013-04-01)
  • add Panneau de marquage de la page courante (marks).
  • add Lecture de la liste des blocs-notes disponibles.
  • upd Conversion wiki: blockquote, table.
  • fix Saut de ligne en début de sélection.
  • fix Inconsistance du nom du dossier temporaire des images.
0.3.1 (2012-08-23)
  • upd Conversion wiki : br.
  • upd Changement de structure du module de conversion HTML vers wiki.
0.3 (2012-08-17)
  • add Possibilité de lancer Zim depuis les sources.
  • add Gestion des images (zim 0.57).
  • upd Conversions wiki : abbr, dl, mark, q, time.
  • upd Regroupement des méthodes utilitaires (xpcom) dans un module dédié.
0.2 (2012-07-23)
  • fix Suppresion du support Windows (le plugin « note rapide » ne fonctionne pas sous Windows).
0.1 (2012-07-21)
  • add Conversion de code HTML en syntaxe wiki.
  • add Utilisation du titre de la page.
0.0 (2012-07-09)
  • add Création de l'extension.

Licence

Zim-clip - Extension pour Firefox. 2012-2017 Rui Nibau

Ce programme est un logiciel libre : vous pouvez le redistribuer ou le modifier selon les termes de la GNU General Public License tels que publiés par la Free Software Foundation : à votre choix, soit la version 3 de la licence, soit une version ultérieure quelle qu'elle soit.

Ce programme est distribué dans l'espoir qu'il sera utile, mais SANS AUCUNE GARANTIE ; sans même la garantie implicite de QUALITÉ MARCHANDE ou D'ADÉQUATION À UNE UTILISATION PARTICULIÈRE. Pour plus de détails, reportez-vous à la GNU General Public License.

Vous devez avoir reçu une copie de la GNU General Public License avec ce programme. Si ce n'est pas le cas, consultez <http://www.gnu.org/licenses/>