/eww-history-ext

Persist EWW histories into SQLite.

Primary LanguageEmacs LispGNU General Public License v3.0GPL-3.0

EWW History Extension

https://github.com/1History/eww-history-ext/actions/workflows/lisp-ci.yml/badge.svg https://github.com/1History/eww-history-ext/actions/workflows/rust-ci.yml/badge.svg

Persist EWW histories into SQLite.

Besides EWW, packages below are also supported:

Welcome to open an issue if you have any issues or suggestions.

Usage

  1. Download eww-history-ext.el
  2. Download required shared object, and rename it to eww-history-ext-dyn.so or dll suffix if you are on Windows
    • From release page according to your operating system
    • Or you can build it yourself by make release. Be sure cargo is preinstalled.
  3. Put el and so files under load-path

Here is a use-package config demo:

;; 1. git clone https://github.com/1History/eww-history-ext.git
;; 2. wget *.so file, and rename to correct filename
;; 3. (add-to-list 'load-path "/path/to/eww-history-ext")

;; This is config demo for use-package
(use-package eww-history-ext
  :load-path "~/eww-history-ext"
  :custom ((eww-history-ext-elfeed-integration t))
  :config
  (eww-history-ext-enable))

After enable eww-history-ext, histories of eww (and elfeed) will be saved into SQLite, you can use M-x eww-history-ext-list to browse saved histories.

In *eww-history-ext* buffer,

  • Only latest 1000 histories are displayed by default, users can customize this via eww-history-ext-default-query-limit.
  • Press s to filter histories with specific keyword.
  • Press RET to visit history at point
  • Press column name to sort.

Screenshots

screenshots/list.png

Development

;;; 加载热启动模块
(module-load "/tmp/emacs-module-rs/target/debug/libemacs_rs_module.dylib")
(require 'rs-module)

;;; 重启加载 so 文件
(rs-module/load "/tmp/eww-history-ext/eww-history-ext-dyn.so")

;;; 查询最新历史数据
(setq eww-history-ext-db nil)
(eww-history-ext-query-latest)

LICENSE

Copyright (c) 2022 Jiacai Liu <jiacai2050+ewwhistory@gmail.com>

eww-history-ext is distributed under GPL-3.0 license.