Add a firefox bookmarks plugin

This commit is contained in:
Alexis Métaireau 2017-07-04 00:56:07 +02:00
parent d2a1abb5ab
commit 8440e22c57
3 changed files with 55 additions and 9 deletions

46
firefox_bookmarks.py Normal file
View file

@ -0,0 +1,46 @@
from pelican import signals
"""
Author : Jay Rambhia
email : jayrambhia777@gmail.com
Git : https://github.com/jayrambhia
gist : https://gist.github.com/jayrambhia
=============================================
Name : bookmarkFirefox
Repo : Bookmark-Manager
Git : https://github.com/jayrambhia/Bookmark-Manager
version : 0.2
"""
import os
import json
import lz4
def fetch_bookmarks(path):
'''
Decodes browser bookmark backup files using json
Returns a dictionary with bookmark url as key and (title, tag, add_date) tuple as value
'''
files = os.listdir(path)
files.sort()
filename = os.path.join(path, files[-1])
with open(filename) as f:
if f.read(8) != b"mozLz40\0":
print("unable to uncompress bookmarks")
database = json.loads(lz4.block.decompress(f.read()))
# Get Bookmarks Menu / Bookmarks toolbar / Tags / Unsorted Bookmarks
for category in database['children']:
if 'root' in category and category['root'] == 'unfiledBookmarksFolder':
bookmarks = category['children']
return bookmarks
def fetch_firefox_bookmarks(gen, metadata):
if 'FIREFOX_BOOKMARKS_PATH' in gen.settings:
gen.context['bookmarks'] = fetch_bookmarks(gen.settings['FIREFOX_BOOKMARKS_PATH'])
def register():
signals.article_generator_context.connect(fetch_firefox_bookmarks)

View file

@ -1,8 +1,4 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
#import sys
#sys.path.append('plugins')
#PLUGINS = ['touch', ]
PATH = "content" PATH = "content"
AUTHOR = u'Alexis Métaireau' AUTHOR = u'Alexis Métaireau'
@ -14,7 +10,6 @@ DISQUS_SITENAME = 'notmyidea'
STATIC_PATHS = ['static'] STATIC_PATHS = ['static']
SITEURL = '' SITEURL = ''
#SITEURL = 'http://blog.notmyidea.org'
RELATIVE_URLS = True RELATIVE_URLS = True
TIMEZONE = "Europe/Paris" TIMEZONE = "Europe/Paris"
@ -29,4 +24,7 @@ LINKS = [
] ]
PIWIK_SERVER_URL = "//tracker.notmyidea.org/" PIWIK_SERVER_URL = "//tracker.notmyidea.org/"
FIREFOX_BOOKMARKS_PATH = '/home/alexis/.mozilla/firefox/fymmscw3.default/bookmarkbackups/'
PIWIK_SITE_ID = 3 PIWIK_SITE_ID = 3
PLUGIN_PATHS = ['.']
PLUGINS = ['firefox_bookmarks', ]

View file

@ -1,10 +1,12 @@
{% extends "base.html" %} {% extends "base.html" %}
{% block title %}{{ SITENAME }} - Tags{% endblock %} {% block title %}{{ SITENAME }} - Marques pages{% endblock %}
{% block content %} {% block content %}
<h1>Tags for {{ SITENAME }}</h1> <h1>Quelques marque pages</h1>
{%- for tag, articles in tags|sort %} <ul>
<li><a href="{{ SITEURL }}/{{ tag.url }}">{{ tag }}</a> ({{ articles|count }})</li> {% for bookmark in bookmarks %}
<li><a href="{{ bookmark['uri'] }}">{{ bookmark['title']}} {% if 'tags' in bookmark %}{% for tag in bookmark['tags'].split(',') %}#{{tag}} {% endfor %}{% endif %}</a></li>
{% endfor %} {% endfor %}
</ul>
{% endblock %} {% endblock %}