summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShulhan <ms@kilabit.info>2023-05-14 18:21:59 +0700
committerShulhan <ms@kilabit.info>2023-05-14 18:21:59 +0700
commit9ae666534e1c269d83d3378136d8827fe14af90c (patch)
tree593ba01f04cab1a856fa70cf75b21f24757c6fa3
parentd6553f938300943c37d576da81ea7531139f3311 (diff)
downloadciigo-9ae666534e1c269d83d3378136d8827fe14af90c.tar.xz
all: convert the README back to Markdown
This is to make it the repository page at git.sr.ht/~shulhan/ciigo and pkg.go.dev readable.
l---------README.adoc1
-rw-r--r--README.md (renamed from README)89
l---------_doc/README.adoc1
l---------_doc/README.md1
4 files changed, 43 insertions, 49 deletions
diff --git a/README.adoc b/README.adoc
deleted file mode 120000
index 100b938..0000000
--- a/README.adoc
+++ /dev/null
@@ -1 +0,0 @@
-README \ No newline at end of file
diff --git a/README b/README.md
index ed39a3c..6c5ab50 100644
--- a/README
+++ b/README.md
@@ -1,51 +1,47 @@
-= Welcome to ciigo
-:toc:
-:sectanchors:
-:sectlinks:
-:repo_url:https://git.sr.ht/~shulhan/ciigo
-:repo_doc_url:https://pkg.go.dev/git.sr.ht/~shulhan/ciigo
+# Welcome to ciigo
`ciigo` is a library and a program to write static web server with embedded
files using
-https://asciidoctor.org/docs/what-is-asciidoc/[AsciiDoc^]
-https://www.markdownguide.org/[Markdown^]
+[AsciiDoc](https://asciidoctor.org/docs/what-is-asciidoc/)
+and
+[Markdown](https://www.markdownguide.org/)
markup format.
-== ciigo as CLI
+## ciigo as CLI
ciigo as CLI can convert, generate, and/or serve a directory that contains
markup files, as HTML files.
-=== Usage
+### Usage
-----
+```
$ ciigo [-template <file>] [-exclude <regex>] convert <dir>
-----
+```
Scan the "dir" recursively to find markup files (.adoc) and convert them into
HTML files.
The template "file" is optional, default to embedded HTML template.
-----
+```
$ ciigo [-template <file>] [-exclude <regex>] [-out <file>] generate <dir>
-----
+```
Convert all markup files inside directory "dir" recursively and then
embed them into ".go" source file.
The output file is optional, default to "ciigo_static.go" in current
directory.
-----
+```
$ ciigo [-template <file>] [-exclude <regex>] [-address <ip:port>] serve <dir>
-----
+```
Serve all files inside directory "dir" using HTTP server, watch
changes on markup files and convert them to HTML files automatically.
If the address is not set, its default to ":8080".
-== ciigo as library
+## ciigo as library
This section describe step by step instructions on how to build and create
pages to be viewed for local development using `ciigo`.
@@ -58,34 +54,34 @@ Create new Go repository for building a website.
For example, in directory `$HOME/go/src/remote.tld/user/mysite`.
Replace "remote.tld/user/mysite" with your private or public repository.
-----
+```
$ mkdir -p $HOME/go/src/remote.tld/user/mysite
$ cd $HOME/go/src/remote.tld/user/mysite
-----
+```
Initialize the Go module,
-----
+```
$ go mod init remote.tld/user/mysite
-----
+```
Create directories for storing our content and a package binary.
-----
+```
$ mkdir -p cmd/mysite
$ mkdir -p _contents
-----
+```
Copy the example of stylesheet and HTML template from `ciigo` repository,
-----
+```
$ cp $HOME/go/src/git.sr.ht/~shulhan/ciigo/_example/index.css ./_contents/
$ cp $HOME/go/src/git.sr.ht/~shulhan/ciigo/_example/html.tmpl ./_contents/
-----
+```
Create the main Go code inside `cmd/mysite`,
-----
+```
package main
import (
@@ -109,23 +105,23 @@ func main() {
log.Fatal(err)
}
}
-----
+```
Create a new markup file `index.adoc` inside the "_contents" directory.
Each directory, or sub directory, should have `index.adoc` to be able to
accessed by browser,
-----
+```
= Test
Hello, world!
-----
+```
Now run the `./cmd/mysite` with `DEBUG` environment variable set to non-zero,
-----
+```
$ DEBUG=1 go run ./cmd/mysite
-----
+```
Any non zero value on `DEBUG` environment signal the running program to watch
changes in ".adoc" files inside "_contents" directory and serve the generated
@@ -141,7 +137,7 @@ program will automatically generated the HTML file.
Refresh the web browser to load the new generated file.
-=== Deployment
+### Deployment
First, we need to make sure that all markup files inside "_contents" are
converted to HTML and embed it into the static Go code.
@@ -149,7 +145,7 @@ converted to HTML and embed it into the static Go code.
Create another Go source code, lets save it in `internal/generate.go` with the
following content,
-----
+```
package main
import (
@@ -175,29 +171,29 @@ func main() {
log.Fatal(err)
}
}
-----
+```
And then run,
-----
+```
$ go run ./internal
-----
+```
The above command will generate Go source code `cmd/mysite/static.go` that
embed all files inside the "_contents" directory.
Second, build the web server that serve static contents in `static.go`,
-----
+```
$ go build cmd/mysite
-----
+```
Third, test the web server by running the program and opening `localhost:8080`
on web browser,
-----
+```
$ ./mysite
-----
+```
Finally, deploy the program to your server.
@@ -207,24 +203,24 @@ If you need to use another port, you can change it at `cmd/mysite/main.go`.
That's it!
-== Limitations and known bugs
+## Limitations and known bugs
Using symlink on ".adoc" file inside Root directory that reference file
outside of Root is not supported, yet.
-== Links
+## Links
-{repo_url}[Ciigo repository^].
+[Ciigo repository](https://git.sr.ht/shulhan/ciigo).
-{repo_doc_url}[Go module documentation^].
+[Go module
+documentation](https://pkg.go.dev/git.sr.ht/https://git.sr.ht/shulhan/ciigoshulhan/ciigo).
-== License
+## License
This software is licensed under GPL 3.0 or later.
-----
Copyright 2022 Shulhan <ms@kilabit.info>
This program is free software: you can redistribute it and/or modify it under
@@ -240,4 +236,3 @@ 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/>.
-----
diff --git a/_doc/README.adoc b/_doc/README.adoc
deleted file mode 120000
index a7ab0b1..0000000
--- a/_doc/README.adoc
+++ /dev/null
@@ -1 +0,0 @@
-../README.adoc \ No newline at end of file
diff --git a/_doc/README.md b/_doc/README.md
new file mode 120000
index 0000000..32d46ee
--- /dev/null
+++ b/_doc/README.md
@@ -0,0 +1 @@
+../README.md \ No newline at end of file