[bugfix] Remove unescaped '$' character from cli/edit.ml
Signed-off-by: Izuru Yakumo <yakumo.izuru@chaotic.ninja> git-svn-id: file:///srv/svn/repo/kosuzu/trunk@56 eb64cd80-c68d-6f47-b6a3-0ada418499da
This commit is contained in:
parent
6b8f73db4c
commit
5e2e7a71f5
8
Makefile
8
Makefile
@ -9,28 +9,20 @@ LD=cc
|
||||
|
||||
all:
|
||||
dune build
|
||||
|
||||
deps:
|
||||
opam install dune ocurl cmdliner=1.0.4 msgpck
|
||||
|
||||
cli:
|
||||
dune build cli/txt.exe
|
||||
|
||||
clean:
|
||||
dune clean
|
||||
|
||||
dist:
|
||||
dune build
|
||||
cp _build/default/cli/txt.exe txt.exe
|
||||
strip txt.exe
|
||||
tar czvf "logarion-${OS}-${MACHINE}-${DATE}-${COMMIT}" txt.exe readme.txt
|
||||
rm txt.exe
|
||||
docs:
|
||||
${MAKE} -C txt
|
||||
install:
|
||||
dune install --prefix ${PREFIX}
|
||||
uninstall:
|
||||
dune uninstall --prefix ${PREFIX}
|
||||
|
||||
|
||||
.PHONY: cli
|
||||
|
@ -12,5 +12,5 @@ let term =
|
||||
~docv:"comma-separated topics" ~doc:"texts with topics") in
|
||||
Term.(const (Logarion.Archive.apply_sys_util "EDITOR" "nano") $ recurse $ time $ reverse $ number $ authed $ topics $ id),
|
||||
Term.info "edit" ~doc: "edit a text" ~man:[ `S "DESCRIPTION";
|
||||
`P "Launches $EDITOR with text path as parameter. If -R is used, the ID search space
|
||||
includes texts found in subdirectories too" ]
|
||||
`P "Launches EDITOR (nano if environment variable is unset) with text path as parameter.
|
||||
If -R is used, the ID search space includes texts found in subdirectories too" ]
|
||||
|
@ -1,10 +0,0 @@
|
||||
ID: 3sqd84
|
||||
Date: 2022-11-06T13:01:19Z
|
||||
Title: Exploring & pulling texts from Logarion repositories
|
||||
Authors: orbifx
|
||||
|
||||
Logarion repositories are collections of text files, accompanied by a special index file. These collections can exist on any server and accessed by any transport protocol. Logarion's client currently supports a plethora of protocols, HTTP, FTP, Gopher to name a few examples.
|
||||
|
||||
A remote repository can be registered and texts copied locally. To add a new remote run: `txt pull <url>`, where <url> is the address of the remote repository. The program will connect to the server, copy the `index.pck` file and use it to download each text file. It will not redownload previous texts, unless their Date or Date-Edited dates are newer than the previous ones.
|
||||
|
||||
The text files are by default downloaded to `.local/share/texts/peers/`. A new directory is created for each peer's unique id and the index & texts are stored in it. Running `txt pull` with no URL, will refetch indices from all previously pulled repositories, and new text files will be downloaded automatically.
|
@ -1,14 +0,0 @@
|
||||
ID: 9egbae
|
||||
Date: 2023-06-17T23:27:44Z
|
||||
Title: Building from source
|
||||
Authors: yakumo_izuru
|
||||
|
||||
Requirements:
|
||||
* git
|
||||
* ocaml (>=4.13)
|
||||
|
||||
1. git clone https://git.chaotic.ninja/yakumo.izuru/logarion.git
|
||||
2. cd logarion
|
||||
3. git submodule update --init
|
||||
4. make deps
|
||||
5. make tgz
|
23
txt/Makefile
23
txt/Makefile
@ -1,23 +0,0 @@
|
||||
all: clean build
|
||||
|
||||
build: index generate
|
||||
|
||||
clean:
|
||||
find htm -type f -name "*.html" -print -delete
|
||||
find htm -type f -name "*.htm" -print -delete
|
||||
find . -type f -name "*.atom" -print -delete
|
||||
copy-index: index
|
||||
cp index.pck htm
|
||||
generate: relink copy-index
|
||||
txt convert --type=htm htm
|
||||
index:
|
||||
txt index .
|
||||
link:
|
||||
txt file *.txt htm
|
||||
delink:
|
||||
rm htm/*.txt
|
||||
serve:
|
||||
darkhttpd htm
|
||||
upload:
|
||||
rsync -acv --del htm/ webdev@chaotic.ninja:/var/www/logarion
|
||||
relink: delink link
|
@ -1,26 +0,0 @@
|
||||
ID: d41e68
|
||||
Date: 2023-10-18T18:45:33+00:00
|
||||
Title: Header format
|
||||
Authors: orbifx <fox@orbitalfox.eu>
|
||||
|
||||
|
||||
ID: Unique identifier
|
||||
Date: ISO8601 date of creation
|
||||
Topics: Comma seperated list of topic names & phrases
|
||||
Title: A title for the text, ideally less than 70 characters
|
||||
Authors: List of name with optional set of <address>
|
||||
Date-edited: ISO8601, use only when text edited
|
||||
References: list of text ID links
|
||||
|
||||
A blank line must follow the last header field.
|
||||
|
||||
|
||||
Example
|
||||
|
||||
ID: 11bcd
|
||||
Title: A Logarion exemplar header
|
||||
Authors: John Doe <http://example.com> <jd@example.com>
|
||||
Date: 1970-11-06T12:29:50-00:00
|
||||
Topic: Logarion, examples
|
||||
|
||||
Hello world!
|
@ -1,4 +0,0 @@
|
||||
<hr>
|
||||
<p>
|
||||
<a href="https://git.chaotic.ninja/yakumo.izuru/logarion">Source code</a>
|
||||
</p>
|
@ -1,16 +0,0 @@
|
||||
ID: h1a9tg
|
||||
Date: 2022-11-20T13:28:57Z
|
||||
Authors: orbifx <orbifx@orbifx.indy>
|
||||
Title: Txt uniform resource names
|
||||
|
||||
Logarion texts are transport agnostic. URIs should therefore avoid using URLs and use URNs instead. Some definitions of Uniform Resource:
|
||||
- Locator (URL) <http://en.wikipedia.org/wiki/Url>
|
||||
- Identifier (URI) <http://en.wikipedia.org/wiki/Uniform_Resource_Identifier>
|
||||
- Name (URN) <http://en.wikipedia.org/wiki/Uniform_Resource_Name>
|
||||
|
||||
|
||||
Links enclosed in angled brackets <> of the format:
|
||||
|
||||
urn:txtid:abcdef
|
||||
|
||||
where `abcdef` is the id of the text are understood by `txt` and handled accordingly. For example when converting to HTML or Gemini, the URNs are converted to relative URLs which browsers can understand.
|
@ -1,2 +0,0 @@
|
||||
<h1>Logarion</h1>
|
||||
<p>discover, collect & exchange plain text files</p>
|
@ -1,10 +0,0 @@
|
||||
ID: 3sqd84
|
||||
Date: 2022-11-06T13:01:19Z
|
||||
Title: Exploring & pulling texts from Logarion repositories
|
||||
Authors: orbifx
|
||||
|
||||
Logarion repositories are collections of text files, accompanied by a special index file. These collections can exist on any server and accessed by any transport protocol. Logarion's client currently supports a plethora of protocols, HTTP, FTP, Gopher to name a few examples.
|
||||
|
||||
A remote repository can be registered and texts copied locally. To add a new remote run: `txt pull <url>`, where <url> is the address of the remote repository. The program will connect to the server, copy the `index.pck` file and use it to download each text file. It will not redownload previous texts, unless their Date or Date-Edited dates are newer than the previous ones.
|
||||
|
||||
The text files are by default downloaded to `.local/share/texts/peers/`. A new directory is created for each peer's unique id and the index & texts are stored in it. Running `txt pull` with no URL, will refetch indices from all previously pulled repositories, and new text files will be downloaded automatically.
|
@ -1,14 +0,0 @@
|
||||
ID: 9egbae
|
||||
Date: 2023-06-17T23:27:44Z
|
||||
Title: Building from source
|
||||
Authors: yakumo_izuru
|
||||
|
||||
Requirements:
|
||||
* git
|
||||
* ocaml (>=4.13)
|
||||
|
||||
1. git clone https://git.chaotic.ninja/yakumo.izuru/logarion.git
|
||||
2. cd logarion
|
||||
3. git submodule update --init
|
||||
4. make deps
|
||||
5. make tgz
|
@ -1,26 +0,0 @@
|
||||
ID: d41e68
|
||||
Date: 2023-10-18T18:45:33+00:00
|
||||
Title: Header format
|
||||
Authors: orbifx <fox@orbitalfox.eu>
|
||||
|
||||
|
||||
ID: Unique identifier
|
||||
Date: ISO8601 date of creation
|
||||
Topics: Comma seperated list of topic names & phrases
|
||||
Title: A title for the text, ideally less than 70 characters
|
||||
Authors: List of name with optional set of <address>
|
||||
Date-edited: ISO8601, use only when text edited
|
||||
References: list of text ID links
|
||||
|
||||
A blank line must follow the last header field.
|
||||
|
||||
|
||||
Example
|
||||
|
||||
ID: 11bcd
|
||||
Title: A Logarion exemplar header
|
||||
Authors: John Doe <http://example.com> <jd@example.com>
|
||||
Date: 1970-11-06T12:29:50-00:00
|
||||
Topic: Logarion, examples
|
||||
|
||||
Hello world!
|
@ -1,16 +0,0 @@
|
||||
ID: h1a9tg
|
||||
Date: 2022-11-20T13:28:57Z
|
||||
Authors: orbifx <orbifx@orbifx.indy>
|
||||
Title: Txt uniform resource names
|
||||
|
||||
Logarion texts are transport agnostic. URIs should therefore avoid using URLs and use URNs instead. Some definitions of Uniform Resource:
|
||||
- Locator (URL) <http://en.wikipedia.org/wiki/Url>
|
||||
- Identifier (URI) <http://en.wikipedia.org/wiki/Uniform_Resource_Identifier>
|
||||
- Name (URN) <http://en.wikipedia.org/wiki/Uniform_Resource_Name>
|
||||
|
||||
|
||||
Links enclosed in angled brackets <> of the format:
|
||||
|
||||
urn:txtid:abcdef
|
||||
|
||||
where `abcdef` is the id of the text are understood by `txt` and handled accordingly. For example when converting to HTML or Gemini, the URNs are converted to relative URLs which browsers can understand.
|
@ -1,76 +0,0 @@
|
||||
ID: hvhhwf
|
||||
Date: 2022-11-06T13:19:57Z
|
||||
Title: Creating texts & publishing on the net
|
||||
Authors: orbifx
|
||||
|
||||
# New
|
||||
|
||||
To create new text files, use "txt new". For example:
|
||||
txt new "Hello world"
|
||||
It's important to enclose the title with quotation marks if it contains spaces. The command will return the filename of the new text. The filename starts with a part of the ID and the title of the text. Use the file name to open it with your text editor.
|
||||
|
||||
Alternatively add the -i flag to have the text editor launched to edit the newly created file:
|
||||
txt new -i "Some title"
|
||||
|
||||
Text files will be stored in either:
|
||||
1. The directory pointed at by txtdir if defined
|
||||
2. $HOME/.local/share/texts, if directory exists
|
||||
3. The current working directory, if all else fails
|
||||
|
||||
The simplest approach is to put all texts in the local-share directory and override that on occasion with
|
||||
$txtdir. For example:
|
||||
txtdir=. txt new "Hello world"
|
||||
|
||||
|
||||
# Publish
|
||||
|
||||
Texts created with "new" are treated as personal until published. To publish a text, use `txt publish [id]` where [id] is the text of the text to publish. Publication requires a `txt.conf` file which must exist in either:
|
||||
1. The current working directory
|
||||
2. $HOME/.config/txt/txt.conf
|
||||
|
||||
With the above in place, `txt publish [id]` will add the text file with [id] in the publication-directory and reproduce the `index.pck` in that directory. If Pubdir is not defined in `txt.conf` then the environmental variable `txtpubdir` is used. If that is also undefined, the current working directory is used as a publication directory.
|
||||
|
||||
Logarion is protocol agnostic, so publish looks for the existence of directories to copy the files, ready for publication. At the time of writing the three directories are `public_html`, `public_gemini` and `public_gopher`. For each of these directories, `txt publish [id]` will copy the text file, revise the `index.pck` and also convert produce converted files, such .htm for public_html.
|
||||
|
||||
## txt.conf keys
|
||||
|
||||
Id:
|
||||
A random, unique, alphanumeric string for distinguishing the repository (atleast 6 characters of Crockford's Base32 recommended)
|
||||
|
||||
Title:
|
||||
a human-friendly title
|
||||
|
||||
Authors:
|
||||
comma seperated list of names and, optionally, addresses
|
||||
|
||||
Topics:
|
||||
topics the repository aims to cover
|
||||
|
||||
Locations:
|
||||
list of URIs the repositories can be accessed
|
||||
|
||||
Peers:
|
||||
list of peer URIs
|
||||
|
||||
Pubdir:
|
||||
(optional) the directory that contains publication subdirectories
|
||||
|
||||
|
||||
## HTML
|
||||
|
||||
There are some special settings for HTML publication:
|
||||
|
||||
HTM-style:
|
||||
path to a CSS style. It will be inserted in every .htm file. To link to a single CSS consider using `@import`
|
||||
|
||||
HTM-header:
|
||||
path to a file, inserted in every .htm file, right after the body tag
|
||||
|
||||
HTM-footer:
|
||||
path to a file, inserted in every .htm file, right before the body tag
|
||||
|
||||
HTM-index:
|
||||
if defined, determines the filename for the index files. Left undefined, defaults to `index.html`
|
||||
|
||||
HTM-feed:
|
||||
if defined, this will overrite the feed URI used in HTML files. If left undefined the default `feed.atom` is used
|
Binary file not shown.
@ -1,8 +0,0 @@
|
||||
body{color:#111;background:#faeed6;margin:auto;padding:1ch;max-width:80ch}
|
||||
@media(min-resolution:130dpi){body{font-size:1.5em}}
|
||||
article>header{margin:auto;padding:1ch}
|
||||
dt{float:left;text-align:right;padding-right:1ch;min-width:8ch;opacity:0.4;clear:left}
|
||||
:target::before{content:"☞"}
|
||||
body>h1{font-family:cursive}
|
||||
h1,h2{color:#ff6600}
|
||||
h3,h4{color:#333}
|
@ -1,19 +0,0 @@
|
||||
ID: pw3tvt
|
||||
Date: 2023-10-23T02:44:10Z
|
||||
Title: txt.conf
|
||||
Authors: Izuru Yakumo <yakumo.izuru@chaotic.ninja>, orbifx <fox@orbifalfox.eu>
|
||||
Topics: Logarion
|
||||
|
||||
These are the current fields you can use for setting up your archive.
|
||||
|
||||
* Authors (required)
|
||||
* Gemini-index (optional)
|
||||
* HTM-footer (optional)
|
||||
* HTM-header (optional)
|
||||
* HTM-index (optional)
|
||||
* HTM-style (required)
|
||||
* Id (required)
|
||||
* Locations (required)
|
||||
* Peers (optional)
|
||||
* Title (required)
|
||||
* Topics (required)
|
@ -1,76 +0,0 @@
|
||||
ID: hvhhwf
|
||||
Date: 2022-11-06T13:19:57Z
|
||||
Title: Creating texts & publishing on the net
|
||||
Authors: orbifx
|
||||
|
||||
# New
|
||||
|
||||
To create new text files, use "txt new". For example:
|
||||
txt new "Hello world"
|
||||
It's important to enclose the title with quotation marks if it contains spaces. The command will return the filename of the new text. The filename starts with a part of the ID and the title of the text. Use the file name to open it with your text editor.
|
||||
|
||||
Alternatively add the -i flag to have the text editor launched to edit the newly created file:
|
||||
txt new -i "Some title"
|
||||
|
||||
Text files will be stored in either:
|
||||
1. The directory pointed at by txtdir if defined
|
||||
2. $HOME/.local/share/texts, if directory exists
|
||||
3. The current working directory, if all else fails
|
||||
|
||||
The simplest approach is to put all texts in the local-share directory and override that on occasion with
|
||||
$txtdir. For example:
|
||||
txtdir=. txt new "Hello world"
|
||||
|
||||
|
||||
# Publish
|
||||
|
||||
Texts created with "new" are treated as personal until published. To publish a text, use `txt publish [id]` where [id] is the text of the text to publish. Publication requires a `txt.conf` file which must exist in either:
|
||||
1. The current working directory
|
||||
2. $HOME/.config/txt/txt.conf
|
||||
|
||||
With the above in place, `txt publish [id]` will add the text file with [id] in the publication-directory and reproduce the `index.pck` in that directory. If Pubdir is not defined in `txt.conf` then the environmental variable `txtpubdir` is used. If that is also undefined, the current working directory is used as a publication directory.
|
||||
|
||||
Logarion is protocol agnostic, so publish looks for the existence of directories to copy the files, ready for publication. At the time of writing the three directories are `public_html`, `public_gemini` and `public_gopher`. For each of these directories, `txt publish [id]` will copy the text file, revise the `index.pck` and also convert produce converted files, such .htm for public_html.
|
||||
|
||||
## txt.conf keys
|
||||
|
||||
Id:
|
||||
A random, unique, alphanumeric string for distinguishing the repository (atleast 6 characters of Crockford's Base32 recommended)
|
||||
|
||||
Title:
|
||||
a human-friendly title
|
||||
|
||||
Authors:
|
||||
comma seperated list of names and, optionally, addresses
|
||||
|
||||
Topics:
|
||||
topics the repository aims to cover
|
||||
|
||||
Locations:
|
||||
list of URIs the repositories can be accessed
|
||||
|
||||
Peers:
|
||||
list of peer URIs
|
||||
|
||||
Pubdir:
|
||||
(optional) the directory that contains publication subdirectories
|
||||
|
||||
|
||||
## HTML
|
||||
|
||||
There are some special settings for HTML publication:
|
||||
|
||||
HTM-style:
|
||||
path to a CSS style. It will be inserted in every .htm file. To link to a single CSS consider using `@import`
|
||||
|
||||
HTM-header:
|
||||
path to a file, inserted in every .htm file, right after the body tag
|
||||
|
||||
HTM-footer:
|
||||
path to a file, inserted in every .htm file, right before the body tag
|
||||
|
||||
HTM-index:
|
||||
if defined, determines the filename for the index files. Left undefined, defaults to `index.html`
|
||||
|
||||
HTM-feed:
|
||||
if defined, this will overrite the feed URI used in HTML files. If left undefined the default `feed.atom` is used
|
BIN
txt/index.pck
BIN
txt/index.pck
Binary file not shown.
@ -1,8 +0,0 @@
|
||||
body{color:#111;background:#faeed6;margin:auto;padding:1ch;max-width:80ch}
|
||||
@media(min-resolution:130dpi){body{font-size:1.5em}}
|
||||
article>header{margin:auto;padding:1ch}
|
||||
dt{float:left;text-align:right;padding-right:1ch;min-width:8ch;opacity:0.4;clear:left}
|
||||
:target::before{content:"☞"}
|
||||
body>h1{font-family:cursive}
|
||||
h1,h2{color:#ff6600}
|
||||
h3,h4{color:#333}
|
@ -1,19 +0,0 @@
|
||||
ID: pw3tvt
|
||||
Date: 2023-10-23T02:44:10Z
|
||||
Title: txt.conf
|
||||
Authors: Izuru Yakumo <yakumo.izuru@chaotic.ninja>, orbifx <fox@orbifalfox.eu>
|
||||
Topics: Logarion
|
||||
|
||||
These are the current fields you can use for setting up your archive.
|
||||
|
||||
* Authors (required)
|
||||
* Gemini-index (optional)
|
||||
* HTM-footer (optional)
|
||||
* HTM-header (optional)
|
||||
* HTM-index (optional)
|
||||
* HTM-style (required)
|
||||
* Id (required)
|
||||
* Locations (required)
|
||||
* Peers (optional)
|
||||
* Title (required)
|
||||
* Topics (required)
|
@ -1,6 +0,0 @@
|
||||
Id: 17f4e3
|
||||
Title: Logarion
|
||||
Authors: orbifx <fox@orbifalfox.eu>, Izuru Yakumo <yakumo.izuru@chaotic.ninja>
|
||||
HTM-style: main.css
|
||||
HTM-header: header.html
|
||||
HTM-footer: footer.html
|
Loading…
x
Reference in New Issue
Block a user