Table of Contents generated with DocToc
Life-Index is a personal search engine based on Norch and Search-index, making my digital life searchable. Proof of concept.
Life-Index is a forked version of Norch-bootstrap. It uses iftt-norch-tools for document processing and Life-Indexer for indexing.
The data comes from several IFTTT IF-recipes, storing it in several Google Drive Spreadsheets. Life-Indexer pulls this information from Google Drive and index it.
$ cd node_modules
$ git clone git@github.com:eklem/life-index.git
$ git clone git@github.com:eklem/life-indexer.git
$ git clone git@github.com:eklem/iftt-norch-tools.git
... todo
Activate the recipes you want to make searchable
The IFTTT IF recipes stores content in spreadshees on Google Drive. Each recipe gets it's own spreadsheet, and you need to manually add a row with column headers. These will be the key in our key/value pair when we use the Life-indexer to pull JSON from those spreadsheets.
date | title | text | file | fileurlprivate | fileurlpublic | |
---|---|---|---|---|---|---|
[date] | [email address] | [email title] | [body text] | [Filename on first attachment] | [URL to private file] | [URL to public file] |
date | user | text | link |
---|---|---|---|
[date] | [username] | [tweet text] | [link to tweet] |
date | dateuploaded | title | text | url | image | urlimage | tags |
---|---|---|---|---|---|---|---|
[date] | [date uploaded] | [photo title] | [photo text] | [URL to photo page] | [resizeable image URL] | [full size image URL] | [tags list, comma separated] |
date | repository | title | text | issue-type | url | user | user-img |
---|---|---|---|---|---|---|---|
[date] | [repository name] | [issue title] | [issue text] | [issue type] | [url to issue page] | [username] | [user photo] |
Life-index is based on Norch. Norch has a generic frontend called Norch-bootstrap. You'll have to switch the frontend from Norch-bootstrap to Life-index. It's done by changing one line of code in node_modules/norch/lib/norch.js
from:
this.app.use(this.express.static(this.path.join(__dirname,
'../node_modules/norch-bootstrap')));
to:
this.app.use(this.express.static(this.path.join(__dirname,
'../../life-index')));
... todo
$ node node_modules/.bin/norch
A quick screenshot on how the search will look:
norch
and search-index