diff options
-rw-r--r-- | .gitignore | 4 | ||||
-rw-r--r-- | Makefile.am | 47 | ||||
-rw-r--r-- | configure.ac | 20 | ||||
-rw-r--r-- | man/blogc-source.7.ronn | 18 | ||||
-rw-r--r-- | man/blogc-template.7.ronn | 18 | ||||
-rw-r--r-- | man/blogc.1.ronn | 88 | ||||
-rw-r--r-- | man/index.txt | 8 |
7 files changed, 202 insertions, 1 deletions
@@ -37,6 +37,10 @@ Makefile.in /m4/*.m4 !/m4/pkg.m4 +# man pages +/man/blogc*.[17] +/man/blogc*.html + # blogc /blogc diff --git a/Makefile.am b/Makefile.am index 9302a7e..9d56ca3 100644 --- a/Makefile.am +++ b/Makefile.am @@ -4,7 +4,9 @@ ACLOCAL_AMFLAGS = -I m4 AM_DISTCHECK_CONFIGURE_FLAGS = \ --enable-tests \ - --disable-valgrind + --disable-ronn \ + --disable-valgrind \ + $(NULL) ## File listings @@ -18,6 +20,9 @@ EXTRA_DIST = \ CLEANFILES = \ $(NULL) +MAINTAINERCLEANFILES = \ + $(NULL) + noinst_HEADERS = \ src/content-parser.h \ src/file.h \ @@ -81,6 +86,46 @@ blogc_LDADD = \ $(NULL) +## Build rules: man pages + +if USE_RONN + +EXTRA_DIST += \ + man/blogc.1.ronn \ + man/blogc-source.7.ronn \ + man/blogc-template.7.ronn \ + man/index.txt \ + $(NULL) + +dist_man_MANS = \ + man/blogc.1 \ + man/blogc-source.7 \ + man/blogc-template.7 \ + $(NULL) + +MAINTAINERCLEANFILES += \ + $(dist_man_MANS) \ + $(NULL) + +man/blogc.1: man/blogc.1.ronn + $(AM_V_GEN)$(RONN) \ + --roff \ + --pipe \ + --organization "Rafael G. Martins" \ + --manual "$(PACKAGE_NAME) Manual" \ + $< > $@ + +man/blogc%.7: man/blogc%.7.ronn + $(AM_V_GEN)$(RONN) \ + --roff \ + --pipe \ + --organization "Rafael G. Martins" \ + --manual "$(PACKAGE_NAME) Manual" \ + $< > $@ + +endif + + ## Build rules: tests if USE_CMOCKA diff --git a/configure.ac b/configure.ac index a2cace4..d79fc47 100644 --- a/configure.ac +++ b/configure.ac @@ -18,6 +18,25 @@ AS_IF([test "x$ac_cv_prog_cc_c99" = "xno"], [ AC_MSG_ERROR([no C99 compiler found, blogc requires a C99 compiler.]) ]) +AC_ARG_ENABLE([ronn], AS_HELP_STRING([--disable-ronn], + [ignore presence of ronn and disable man pages generation])) +AS_IF([test "x$enable_ronn" != "xno"], [ + AC_PATH_PROG([ronn], [ronn]) + AS_IF([test "x$ac_cv_path_ronn" = "x"], [ + have_ronn=no + ], [ + have_ronn=yes + ]) +]) +AS_IF([test "x$have_ronn" = "xyes"], , [ + AS_IF([test "x$enable_ronn" = "xyes"], [ + AC_MSG_ERROR([ronn requested but not found]) + ]) +]) +AM_CONDITIONAL([USE_RONN], [test "x$have_ronn" = "xyes"]) +RONN="$ac_cv_path_ronn" +AC_SUBST(RONN) + AC_ARG_ENABLE([valgrind], AS_HELP_STRING([--disable-valgrind], [ignore presence of valgrind])) AS_IF([test "x$enable_valgrind" != "xno"], [ @@ -93,5 +112,6 @@ AS_ECHO(" tests: ${TESTS} + ronn: ${RONN} valgrind: ${VALGRIND} ") diff --git a/man/blogc-source.7.ronn b/man/blogc-source.7.ronn new file mode 100644 index 0000000..71be994 --- /dev/null +++ b/man/blogc-source.7.ronn @@ -0,0 +1,18 @@ +blogc-source(7) -- blogc's source file format +============================================= + +## SYNOPSIS + +TODO + +## DESCRIPTION + +TODO + +## AUTHOR + +Rafael G. Martins <<rafael@rafaelmartins.eng.br>> + +## SEE ALSO + +blogc(1), strptime(3) diff --git a/man/blogc-template.7.ronn b/man/blogc-template.7.ronn new file mode 100644 index 0000000..5883d09 --- /dev/null +++ b/man/blogc-template.7.ronn @@ -0,0 +1,18 @@ +blogc-template(7) -- blogc's template format +============================================ + +## SYNOPSIS + +TODO + +## DESCRIPTION + +TODO + +## AUTHOR + +Rafael G. Martins <<rafael@rafaelmartins.eng.br>> + +## SEE ALSO + +blogc(1) diff --git a/man/blogc.1.ronn b/man/blogc.1.ronn new file mode 100644 index 0000000..ddf33ca --- /dev/null +++ b/man/blogc.1.ronn @@ -0,0 +1,88 @@ +blogc(1) -- a blog compiler +=========================== + +## SYNOPSIS + +`blogc` [`-D` <KEY>=<VALUE> ...] `-t` <TEMPLATE> [`-o` <OUTPUT>] <SOURCE><br> +`blogc` `-l` [`-D` <KEY>=<VALUE> ...] `-t` <TEMPLATE> [`-o` <OUTPUT>] <SOURCE> [<SOURCE> ...]<br> +`blogc` [`-h`|`-v`] + +## DESCRIPTION + +**blogc** converts source files and templates into blog/website resources. It +gets one (or more) source files and a template, and generates an output file, +based on the template and the content read from the source file(s). It was +designed to be used with make(1). + +`blogc` works on two modes: + + * `entry`: + Default mode, first example in [SYNOPSIS][]. Accepts only one source + file, and process it as a single entry of the blog/website, like a static + page or a post. + + * `listing`: + Listing mode, second example in [SYNOPSIS][], activated when + calling `blogc` with `-l` option. Accepts multiple source files, and allow + users to iterate over the content of all the source files to produce listing + pages, like indexes and feeds. + +## OPTIONS + + * `-l`: + Activates listing mode, allowing user to provide multiple source files. See + blogc-source(7) for details. + + * `-D` <KEY>=<VALUE>: + Set global configuration parameter. <KEY> must be an ascii uppercase string, + with only letters, numbers (after the first letter) and underscores (after + the first letter). These parameters are available anywhere in templates, + but may be overridden by local configuration parameters set in source files. + See blogc-template(7) for details. + + * `-t` <TEMPLATE>: + Template file. It is a required option. See blogc-template(7) for details. + + * `-o` <OUTPUT>: + Output file. If provided this option, save the compiled output to the given + file. Otherwise, the compiled output is sent to `stdout`. + + * `-v`: + Show program name, version and exit. + + * `-h`: + Show help message and exit. + +## FILES + +The `blogc` command expects a template file blogc-template(7), one (or more) +source files blogc-source(7) and an output file, if wanted. + +## ENVIRONMENT + +No environment variables are required by `blogc`, but global timezone will +be used by locale-dependant datetime input field descriptors (like `%c`, and +can be overridden using environment variables. See strptime(3). + +## EXAMPLES + +Build index from source files: + + $ blogc -l -t template.tmpl -o index.html source1.txt source2.txt source3.txt + +Build entry page from source file: + + $ blogc -t template.tmpl -o entry.html entry.txt + +## BUGS + +**blogc** is based in handwritten parsers, that even being well tested, may be +subject of parsing bugs. + +## AUTHOR + +Rafael G. Martins <<rafael@rafaelmartins.eng.br>> + +## SEE ALSO + +blogc-source(7), blogc-template(7), make(1), strptime(3) diff --git a/man/index.txt b/man/index.txt new file mode 100644 index 0000000..4ff99f5 --- /dev/null +++ b/man/index.txt @@ -0,0 +1,8 @@ +# manuals +blogc(1) blogc.1.ronn +blogc-source(7) blogc-source.7.ronn +blogc-template(7) blogc-template.7.ronn + +# external manuals +make(1) http://man.cx/make(1) +strptime(3) http://man.cx/strptime(3) |