Permalink
Browse files

Rebased code to clean out all of hmasons bookmarks in the git tree hi…

…story. It was taking a lot of space.

Improved and simplified README
  • Loading branch information...
0 parents commit 54daa5cb7aecc1fbc6238771def96fbd4c7f0722 @FarMcKon committed Mar 26, 2011
Showing with 3,402 additions and 0 deletions.
  1. +41 −0 OVERVIEW
  2. +113 −0 README
  3. +2,180 −0 bottle.py
  4. +234 −0 config.py
  5. +168 −0 delicious_import.py
  6. +566 −0 gitmark.py
  7. +14 −0 gitmark_keys.py
  8. +10 −0 gitmark_status.py
  9. +46 −0 gitmark_web.py
  10. 0 gitmarks_keys.py
  11. +30 −0 settings.py
@@ -0,0 +1,41 @@
+
+Goals:
+To build a distributed bookmark service, which is easy to bookmark, tag, and share web-based information in a robust way, where data is controlled and owned by users.
+
+Seconday Goal:
+To build infrasructure for other distributed p2p data sharing systems.
+
+Seconday Goal:
+To build a 'friends bookmarks' search system, whereby it is easy to search friends bookmarks for best search results.
+
+Secret Goal:
+To build infrastructure for a 'Moglen Box'
+
+
+Technology Overview:
+Overview is broken down into procelin (UI/user stuff) and brass(plumbing/tools)
+
+Porcelin:
+ A simple web portal that can be run locally
+ A firefox plugin that can use keyboard shortcuts to save/fetch.
+ A firefox search plugin/tool
+
+Brass:
+ git directory with code/tools for repository
+ git directory of public (world + dog viewable) tags listings and metadata
+ git directory of private(encrypted, pw protected maybe?) tags, status, notifications
+ git directory of local search data (optional) for processing
+ git based service on the web to sync public/private data to/from when offfline
+ json files for each bookmark
+ cache of recent searches, requests, etc for search data or user data
+
+Brass Filesystem Overview
+ - /tools - directory containing code for duing gitmarks actions (link to other git repo type A)
+
+ - /public - directory containing gitmark files for each bookarm (links to other git repo type B, world+dog can read)
+ - /private - directory containing encrypted gitmark files to/from other users. (links to other git repo type C, many can read)
+ /tags - stats and tags in private
+ /posted - encrypted or plaintext bookmarks 'sent' from friends
+
+ - /content - (optional) local content (scraped pages, stats, info, tags info, etc) (can be synced to git repo type C)
+
@@ -0,0 +1,113 @@
+========
+Gitmarks
+========
+Gitmarks is:
+
+* A peer to peer web bookmark manager. This tool is a way to privately share bookmarks to your friends, without using a centralized server.
+
+* A local webpage cache system, so you can track websites over time, and keep copies of old content, along with a md5 hash and other metadata to verify that the page is what you expect/know.
+
+* A tool to pull bookmarks from a system like Delicious, and save them into gitmarks, so you do not lose existing bookmarks you may have saved in other systems.
+
+=======
+Quickstart:
+=======
+
+1) Download gitmarks:
+The best way is to get it via git. Browse to a diretory to install it in, and run:
+ 'git clone git://github.com/FarMcKon/gitmarks_2.git'
+
+2) Run setup:
+To setup what repository system you want to use for storing your gitmarks, you will need to run the setup program. You can do that at the command line (in your gitmarks code directory) by running.
+ 'python config.py'
+You will be promoted to create a github account and directories if you use defaults.
+
+3) Start adding bookmarks!
+You can import your delicious bookmarks via
+ 'python delicious_imports.py'
+Or you can add bookmarks directly at the command line by running
+ 'gitmark.py [options] uri'
+
+====
+Details
+====
+Gitmarks uses 2 git repositories for your bookmarks. One stores public bookmarks (called 'public' ) and the second stores private bookmarks ( called 'private') a 3rd optional repositroy 'cache' can be used to store a local cache of all of your bookmark files. The cache will be update <TBD>
+
+Each time you bookmark a URL gitmarks will:
+ - Create a bookmark file from the bookmark and tags
+ - Generate a bit of bookmark metadata (you can tweak how much) in the 'tags' directory.
+ - Cache a local file of that page (if you have cache enabled)
+ - If you have more than 20 un-committed changes, gitmarks will commit those changes to the local repository.
+ - If you bookmark something to a person, it will send your bookmark (unencrypted for now) to that
+ person.
+
+ You can use git as usual to see who committed what and when, or you can grep your way to bookmark happiness on the command line.
+
+It's great for groups to collaboratively collect bookmarks in one spot (thanks to git itself!)
+
+
+=====
+Usage
+=====
+
+python gitmark.py [url]
+
+options:
+ -p = do not push to origin (store bookmark locally only)
+ -m = description of the bookmark
+ -t = a comma-delimited list of tags
+
+Example:
+
+python gitmark.py -m 'my site' -t me,hilary_mason,code,bookmarks http://www.hilarymason.com
+
+
+
+
+
+
+===============
+OMG Delicious?!
+===============
+
+Yes, you can import your delicious bookmarks!
+
+Usage:
+
+python delicious_import.py [username] [password]
+
+(be patient if you have a lot of them.)
+
+
+=============================
+Using the Browser Bookmarklet
+=============================
+
+First, run the gitmark_web server:
+
+python gitmark_web.py
+
+Then, go to the following URL and drag the bookmarklet into your browser's toolbar:
+
+http://localhost:44865/
+
+(where 44865 is the port you set in settings.py)
+
+
+=======
+License
+=======
+Copyright 2011 Far McKon. Based on code that is Copyright 2010 Hilary Mason.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
Oops, something went wrong.

0 comments on commit 54daa5c

Please sign in to comment.