aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Tom Willemsen2012-12-29 16:54:16 +0100
committerGravatar Tom Willemsen2012-12-29 16:54:16 +0100
commitb46793938598358a9ab5249bd97e8999d5ac67e6 (patch)
tree3461b18599341fd3be19b0c094d6a62775478b88
parentf379783d28e73b4613852fca58e0af3f8ea6ab87 (diff)
downloadmarkam-b46793938598358a9ab5249bd97e8999d5ac67e6.tar.gz
markam-b46793938598358a9ab5249bd97e8999d5ac67e6.zip
Rename linkwave to markam
-rw-r--r--Makefile9
-rw-r--r--README.org10
-rw-r--r--conkeror/markam.js (renamed from conkeror/linkwave.js)46
-rw-r--r--doc/Makefile4
-rw-r--r--doc/markam.texi (renamed from doc/linkwave.texi)28
-rw-r--r--src/.gitignore2
-rw-r--r--src/Makefile4
-rw-r--r--src/common.scm6
-rw-r--r--src/convert.scm20
-rw-r--r--src/markam.scm (renamed from src/linkwave.scm)10
-rw-r--r--src/paths.scm23
11 files changed, 78 insertions, 84 deletions
diff --git a/Makefile b/Makefile
index 6bcd90a..e796ed8 100644
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,7 @@
-.PHONY: all
+dirs = src doc
-all:
- $(MAKE) -C src/
+.PHONY: all $(dirs)
+
+all: $(dirs)
+$(dirs):
+ $(MAKE) -C $@
diff --git a/README.org b/README.org
index 6b71e45..24bf6c7 100644
--- a/README.org
+++ b/README.org
@@ -1,9 +1,3 @@
-* nlinkwave
+* Markam
- I'm working on replacing [[http://code.ryuslash.org/cgit.cgi/linkwave/][linkwave]] with this project soon, with the
- hope of making development on/for Windows easier and becaus scheme
- is fun!
-
- *Note:* Once I determine that ~nlinkwave~ is capable of everything
- linkwave is I will change the name of this repository, keep this in
- mind when you are having trouble pulling changes in the future.
+ Collects bookmarks.
diff --git a/conkeror/linkwave.js b/conkeror/markam.js
index 75e3735..2151b17 100644
--- a/conkeror/linkwave.js
+++ b/conkeror/markam.js
@@ -1,4 +1,4 @@
-/* linkwave -- Store/retrieve/manage bookmarks
+/* markam -- Store/retrieve/manage bookmarks
Copyright (C) 2012 Tom Willemsen <tom at ryuslash dot org>
This program is free software: you can redistribute it and/or modify
@@ -17,16 +17,16 @@
/// Commentary:
// A wrapper script that should allow conkeror to interface with
-// linkwave. Does not yet allow searching through collected
-// bookmarks, only adding new ones.
+// markam. Does not yet allow searching through collected bookmarks,
+// only adding new ones.
/// Code:
-define_variable("linkwave_program", "linkwave",
- "The location of the linkwave executable.");
+define_variable("markam_program", "markam",
+ "The location of the markam executable.");
-function linkwave_add_url(I, url, title)
-{ // Add URL to linkwave, ask for a title (provide TITLE as a
+function markam_add_url(I, url, title)
+{ // Add URL to markam, ask for a title (provide TITLE as a
// default), description and any number of tags.
let url_string = load_spec_uri_string(load_spec(url));
let title = yield I.minibuffer.read($prompt="name (required): ",
@@ -37,7 +37,7 @@ function linkwave_add_url(I, url, title)
let tags = yield I.minibuffer.read(
$prompt="tags (comma delimited): "
);
- let command = linkwave_program + ' "' + url_string + '" "' + title
+ let command = markam_program + ' "' + url_string + '" "' + title
+ '" "' + description + '" \''
+ tags.split(',').map(function (str)
{ return str.trim(); }).join("' '")
@@ -45,33 +45,33 @@ function linkwave_add_url(I, url, title)
yield shell_command(command);
}
-function linkwave_add(I) {
+function markam_add(I) {
check_buffer(I.buffer, content_buffer);
- let result = yield linkwave_add_url(I, I.buffer.top_frame,
+ let result = yield markam_add_url(I, I.buffer.top_frame,
I.buffer.title);
if (!result)
- I.window.minibuffer.message('Added to linkwave');
+ I.window.minibuffer.message('Added to markam');
else
- I.window.minibuffer.message('Couldn\'t add to linkwave');
+ I.window.minibuffer.message('Couldn\'t add to markam');
}
-interactive("linkwave-add",
- "Bookmark the current page in linkwave",
- linkwave_add);
+interactive("markam-add",
+ "Bookmark the current page in markam",
+ markam_add);
-function linkwave_add_link(I) {
+function markam_add_link(I) {
check_buffer(I.buffer, content_buffer);
bo = yield read_browser_object(I);
- let result = yield linkwave_add_url(I, encodeURIComponent(bo),
+ let result = yield markam_add_url(I, encodeURIComponent(bo),
bo.textContent);
if (!result)
- I.window.minibuffer.message('Added to linkwave');
+ I.window.minibuffer.message('Added to markam');
else
- I.window.minibuffer.message('Couldn\'t add to linkwave');
+ I.window.minibuffer.message('Couldn\'t add to markam');
}
-interactive("linkwave-add-link",
- "Select and bookmark a link in linkwave",
- linkwave_add_link);
+interactive("markam-add-link",
+ "Select and bookmark a link in markam",
+ markam_add_link);
-provide("linkwave");
+provide("markam");
diff --git a/doc/Makefile b/doc/Makefile
index 07079e8..29d7269 100644
--- a/doc/Makefile
+++ b/doc/Makefile
@@ -1,4 +1,4 @@
.PHONY: all
-all: linkwave.info
-linkwave.info: linkwave.texi
+all: markam.info
+markam.info: markam.texi
diff --git a/doc/linkwave.texi b/doc/markam.texi
index 348dbd5..3093f8d 100644
--- a/doc/linkwave.texi
+++ b/doc/markam.texi
@@ -1,10 +1,10 @@
\input texinfo @c -*-texinfo-*-
@c %**start of header
-@setfilename linkwave.info
-@settitle linkwave User Manual
+@setfilename markam.info
+@settitle markam User Manual
@c %**end of header
@copying
-The user manual for linkwave.
+The user manual for markam.
Copyright @copyright{} 2012 Tom Willemsen
@@ -27,8 +27,8 @@ The document was typeset with
@end copying
@titlepage
-@title linkwave User Manual
-@subtitle The user manual for linkwave
+@title markam User Manual
+@subtitle The user manual for markam
@author Tom Willemsen <tom@ryuslash.org>
@page
@vskip 0pt plus 1filll
@@ -40,14 +40,14 @@ The document was typeset with
@ifnottex
@node Top, Usage, (dir), (dir)
-@top linkwave User Manual
+@top markam User Manual
@insertcopying
@end ifnottex
@c Generate the nodes for this menu with `C-c C-u C-m'.
@menu
-* Usage:: How to use linkwave
+* Usage:: How to use markam
* Copying This Manual::
* Index::
@end menu
@@ -57,11 +57,11 @@ The document was typeset with
@node Usage, Copying This Manual, Top, Top
@chapter How to use
-For the moment linkwave is a simple program, it has 2 functions. In
+For the moment markam is a simple program, it has 2 functions. In
order to view a list of all your bookmarks you can use:
@example
-linkwave
+markam
@end example
This will show the list of all stored bookmarks, showing the URL, name
@@ -70,9 +70,9 @@ and description. This list is unsorted and unpaged.
The other function is to add a new bookmark, which can be done with:
@example
-linkwave http://example.org Example \
- "Some description about Example" \
- example some more tags
+markam http://example.org Example \
+ "Some description about Example" \
+ example some more tags
@end example
This will store the bookmark with the URL of ``http://example.org'',
@@ -80,7 +80,7 @@ name ``Example'', description ``Some description about Example'' and
the tags ``example'', ``some'', ``more'' and ``tags''. Any arguments
following the description will be considered tags.
-For the moment linkwave is rather stupid, assuming that all URLs start
+For the moment markam is rather stupid, assuming that all URLs start
with @code{http://} or @code{https://}, so other bookmarks can't be
added (yet).
@@ -103,4 +103,4 @@ added (yet).
@bye
-@c linkwave.texi ends here
+@c markam.texi ends here
diff --git a/src/.gitignore b/src/.gitignore
index 36833f1..83dc013 100644
--- a/src/.gitignore
+++ b/src/.gitignore
@@ -1,3 +1,3 @@
convert
-linkwave
+markam
*.o
diff --git a/src/Makefile b/src/Makefile
index f64fb7f..95baea2 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -2,8 +2,8 @@ objects = paths.o common.o
.PHONY: all
-all: linkwave convert
-linkwave: linkwave.scm $(objects)
+all: markam convert
+markam: markam.scm $(objects)
csc $^ -o $@
convert: convert.scm $(objects)
diff --git a/src/common.scm b/src/common.scm
index 7d4fec2..20baece 100644
--- a/src/common.scm
+++ b/src/common.scm
@@ -1,4 +1,4 @@
-;;; linkwave -- Store/retrieve/manage bookmarks
+;;; markam -- Store/retrieve/manage bookmarks
;; Copyright (C) 2012 Tom Willemsen <tom at ryuslash dot org>
;; This program is free software: you can redistribute it and/or modify
@@ -26,5 +26,5 @@
(define version "0.1.0")
(define (display-version)
- ;; Display linkwave's version number.
- (format #t "linkwave v~a~%" version))
+ ;; Display markam's version number.
+ (format #t "markam version ~a~%" version))
diff --git a/src/convert.scm b/src/convert.scm
index 45e3101..199a2a5 100644
--- a/src/convert.scm
+++ b/src/convert.scm
@@ -1,4 +1,4 @@
-;;; linkwave -- Store/retrieve/manage bookmarks
+;;; markam -- Store/retrieve/manage bookmarks
;; Copyright (C) 2012 Tom Willemsen <tom at ryuslash dot org>
;; This program is free software: you can redistribute it and/or modify
@@ -17,7 +17,7 @@
;;; Commentary:
;; Convert any old database file to one usable with this version of
-;; linkwave. If you're just starting to use linkwave there should be
+;; markam. If you're just starting to use markam there should be
;; no need to use this.
;;; Code:
@@ -31,7 +31,7 @@
(define (blob->seconds blob)
;; Convert BLOB to an integer representing the seconds since
;; 01-01-1970 (standard unix timstamp). This has to be done because
- ;; in the previous version of linkwave I stored the timestamp as a
+ ;; in the previous version of markam I stored the timestamp as a
;; blob and CHICKEN doesn't seem to like blobs much.
(if (u32vector? blob)
(u32vector-ref (blob->u32vector blob) 0)
@@ -53,8 +53,8 @@
(define (convert)
;; Convert an old database into a new one and then replace the old
;; with the new.
- (let ((old-db (open-database (data-file "linkwave.db")))
- (new-db (open-database (data-file "nlinkwave.db"))))
+ (let ((old-db (open-database (data-file "linkwave.db" "linkwave")))
+ (new-db (open-database (data-file "markam.db"))))
(execute new-db "CREATE TABLE bookmark (url VARCHAR(255) UNIQUE, date INTEGER, name VARCHAR(255), description TEXT)")
(execute new-db "CREATE TABLE tag (name VARCHAR(255) UNIQUE)")
(execute new-db "CREATE TABLE bookmark_tag (bookmark_id INTEGER REFERENCES bookmark(rowid), tag_id INTEGER REFERENCES tag(rowid), PRIMARY KEY (bookmark_id, tag_id))")
@@ -75,12 +75,10 @@
(first-result new-db "SELECT rowid FROM tag WHERE name = ?" tag)))
"SELECT url, name FROM bookmark_tag JOIN tag ON (tag_id = tag.rowid)")
- (rename-file (data-file "linkwave.db") (data-file "old-linkwave.db"))
- (rename-file (data-file "nlinkwave.db") (data-file "linkwave.db"))
(format #t "Database converted.~%")))
(define (display-help)
- ;; Display linkwave's help message.
+ ;; Display markam's help message.
(format #t (string-append
"Usage: convert [options]...~%"
"~%"
@@ -93,9 +91,9 @@
;; Convert an old database file unless a conversion database already
;; exists.
(if (null? args)
- (if (file-exists? (data-file "nlinkwave.db"))
- (format #t (string-append "Conversion database already exists. "
- "Something may have gone wrong during the last run~%"))
+ (if (file-exists? (data-file "markam.db"))
+ (format #t (string-append "Converted database already exists, or something may have gone "
+ "wrong during the last run~%"))
(convert))
(do ((arg (car args) (and (not (null? args))
(car args))))
diff --git a/src/linkwave.scm b/src/markam.scm
index a84e3ee..38bfc42 100644
--- a/src/linkwave.scm
+++ b/src/markam.scm
@@ -1,4 +1,4 @@
-;;; linkwave -- Store/retrieve/manage bookmarks
+;;; markam -- Store/retrieve/manage bookmarks
;; Copyright (C) 2012 Tom Willemsen <tom at ryuslash dot org>
;; This program is free software: you can redistribute it and/or modify
@@ -78,10 +78,10 @@
(string= (substring str 0 8) "https://"))))
(define (display-help)
- ;; Display linkwave's help message.
+ ;; Display markam's help message.
(format #t (string-append
- "Usage: linkwave [options]...~%"
- " linkwave <url> <name> <description> [<tag>...]~%"
+ "Usage: markam [options]...~%"
+ " markam <url> <name> <description> [<tag>...]~%"
"~%"
"Possible options:~%"
"~%"
@@ -91,7 +91,7 @@
(define (main args)
;; Open a database connection, do what the user asked and close it
;; again.
- (let ((db (open-database (data-file "linkwave.db"))))
+ (let ((db (open-database (data-file "markam.db"))))
(if (null? args)
(for-each-row print-row db "select * from bookmark")
(if (url-string? (car args))
diff --git a/src/paths.scm b/src/paths.scm
index 5f4f2d2..cfd8838 100644
--- a/src/paths.scm
+++ b/src/paths.scm
@@ -1,4 +1,4 @@
-;;; linkwave -- Store/retrieve/manage bookmarks
+;;; markam -- Store/retrieve/manage bookmarks
;; Copyright (C) 2012 Tom Willemsen <tom at ryuslash dot org>
;; This program is free software: you can redistribute it and/or modify
@@ -22,25 +22,24 @@
(declare (unit paths))
-(define (stored-file xdg-env file)
- ;; Get FILE either from `XDG-ENV/linkwave/' or from
- ;; `$HOME/.linkwave/'. Prefer any existing file over any other, but
- ;; prefer files using XDG-ENV over `$HOME'.
- (let ((xdg (get-environment-variable xdg-env))
- (stored-file (string-append (get-environment-variable "HOME") "/.linkwave/" file)))
+(define (stored-file xdg-env file #!optional dir)
+ ;; Get FILE either from `XDG-ENV/markam/' or from `$HOME/.markam/'.
+ ;; Prefer any existing file over any other, but prefer files using
+ ;; XDG-ENV over `$HOME'.
+ (let* ((xdg (get-environment-variable xdg-env))
+ (dir (or dir "markam"))
+ (stored-file (string-append (get-environment-variable "HOME") "/." dir "/" file)))
(unless (or (file-exists? stored-file) (not xdg))
- (set! stored-file (string-append xdg "/linkwave/" file)))
+ (set! stored-file (string-append xdg "/" dir "/" file)))
stored-file))
-(: config-file (string -> string))
(define (config-file file)
;; Use `stored-file' to get configuration file FILE. Configuration
;; files are stored under `$XDG_CONFIG_HOME' if the XDG standard is
;; used.
(stored-file "XDG_CONFIG_HOME" file))
-(: data-file (string -> string))
-(define (data-file file)
+(define (data-file file #!optional dir)
;; Use `stored-file' to get data file FILE. Data files are stored
;; under `$XDG_DATA_HOME' if the XDG standard is used.
- (stored-file "XDG_DATA_HOME" file))
+ (stored-file "XDG_DATA_HOME" file dir))