Commit Graph

297 Commits

Author SHA1 Message Date
Simon Michael
b9b420290c ;site: fix generation of cookbook pages
[ci skip]
2019-08-25 06:20:14 -07:00
Simon Michael
ece3d67ebf site: drop references to the github wiki
[ci skip]
2019-08-24 04:34:17 -07:00
Simon Michael
cc9d7f8ae0 Shake changelogs: ignore commits beginning with ; 2019-08-19 11:44:00 +01:00
Simon Michael
11208222d4 shake: be more verbose when updating changelogs
[ci skip]
2019-07-25 08:48:01 +01:00
Caleb Maclennan
11d9e5eb6a code: Strip extraneous trailing whitespace from Haskell sources 2019-07-15 16:40:49 +01:00
Simon Michael
297a831387 ;site: symlink the main README.md, render it as part of the site
The top-level README.md is usually seen when browsing github or the
cloned source - not on the website - but now we render it as part of
the website to facilitate previewing it locally (with make
site-watch).

As a side effect of symlinking it into site/, it might override site/'s
README when browsing that directory on github.

[ci skip]
2019-05-29 22:33:25 -07:00
Simon Michael
a7ffa6108b ;site: download: reorganise with binaries at top, cleanup, add TOC
[ci skip]
2019-05-17 20:59:44 -07:00
Simon Michael
a8599d991e shake: show htmlmanuals target in help
[ci skip]
2019-05-09 12:23:11 -07:00
Simon Michael
688bdf86ec site: symlink CONTRIBUTING.md instead of copying, less confusing
[ci skip]
2019-04-25 08:10:06 -07:00
Simon Michael
93a7dc3461 site: don't render /README.md as part of site, not used & confusing
[ci skip]
2019-04-25 08:05:57 -07:00
Simon Michael
e8eee8e7c7 ; shake comment 2019-03-21 10:23:41 -07:00
Simon Michael
a34892f358 ;shake hledgerorg: tweak home page commit message 2019-03-08 19:59:45 -08:00
Simon Michael
7b94b0c9b2 make site: log to site.log again
[ci skip]
2019-03-06 09:30:54 -08:00
Simon Michael
e5f3dd1a75 shake site: also commit & push home page when wiki links change
[ci skip]
2019-03-06 09:30:54 -08:00
Simon Michael
7af5ee4863 tools: move site.sh into shake; stop running just-pushed shakefile
Running the just pushed Shake.hs was too insecure.

[ci skip]
2019-03-06 09:30:54 -08:00
Simon Michael
9333cfe28b shake: don't echo commands by default
[ci skip]
2019-03-06 08:48:48 -08:00
Simon Michael
247cb4e1ad shake: clean up docs 2019-03-05 19:21:45 -08:00
Simon Michael
f9aa71caf1 shake commandhelp: don't generate a txt for the README (#981)
[ci skip]
2019-03-04 11:38:11 -08:00
Simon Michael
0984a8cd41 shake: add 1.14 to web manual versions
[ci skip]
2019-03-01 18:17:35 -08:00
Simon Michael
ff7395bb32 Shake clean: don't remove version-controlled command help files
[ci skip]
2019-02-26 10:14:29 -08:00
Simon Michael
2364a53f49 site: add table of contents to all wiki pages with 2+ headings
[ci skip]
2019-02-11 14:12:48 -08:00
Simon Michael
3aad6696c9 shake: fix old manuals' deps; don't build them by default; refactor
[ci skip]
2019-02-11 13:07:06 -08:00
Simon Michael
d0996213cd site: wiki pages: get links from Home; prepend page name headings
[ci skip]
2019-02-09 19:28:53 -08:00
Simon Michael
aeb7d58c31 shake: cleanup 2019-02-09 19:28:53 -08:00
Simon Michael
d79bd77feb site: wiki integration - render wiki pages within main site
The github wiki pages are now rendered as part of the website's static
content, like the main site pages (and using the same pandoc markdown).
Building the site now requires that a copy of the wiki is checked out
under wiki/.

Github wiki links are converted to suitable relative links,
in all pages (not just wiki pages).

`make site/index.md-push`, which updated the wiki links on the website
home page and committed/pushed it, is now `./Shake site/index.md`, and
doesn't commit/push.

Shake.hs now also depends on the `regex` package.

[ci skip]
2019-02-09 19:28:53 -08:00
Simon Michael
ce2ef2497a shake: also generate static html from wiki pages
A copy of the github wiki is assumed to be checked out in ./wiki/

[ci skip]
2019-02-09 19:28:53 -08:00
Simon Michael
de69456b8f shake: fix the fix
[ci skip]
2019-02-05 11:56:51 -08:00
Simon Michael
2bd0d27976 shake: be GNU sed compatible, fixing defs.m4 updating
[ci skip]
2019-02-05 11:55:52 -08:00
Simon Michael
f4e237afd6 shake [PKG/]CHANGES.md-finalise : sets final changelog heading
Replaces an interim (commit hash) heading with a release heading based
on the .version file and today's date.

[ci skip]
2019-02-05 07:31:06 -08:00
Simon Michael
18ffa65168 tools: move setversion to shake, use PKG/.version, set upper bounds
./Shake setversion will now propagate the version number in each
package's .version file, to all the places in that package where it's
needed (ie the defs.m4 file and multiple places in the package.yaml
file. Also it now updates upper bounds on other hledger packages
to the next major version. (The new lower/upper bounds may not always
be what's desired, manual review required.)

[ci skip]
2019-02-04 18:47:27 -08:00
Simon Michael
bf6acf52ef doc: allow per-package m4 defs, to override things like version
[ci skip]
2019-02-04 15:18:51 -08:00
Simon Michael
3f4473639a doc: lib.m4 -> common.m4; restore required _FLAGS_ macro
[ci skip]
2019-02-04 14:44:35 -08:00
Simon Michael
384c555f99 make, shake: refer to each other's help
[ci skip]
2019-02-03 17:01:57 -08:00
Simon Michael
40d1572359 bump version to 1.13 2019-02-01 17:19:19 -08:00
Simon Michael
f1d4b39146 shake: update help, clean/Clean output
[ci skip]
2019-02-01 10:38:14 -08:00
Simon Michael
89bb4816c6 shake: move changelog scripts to Shake, enhance
New shake targets:
./Shake changelogs
./Shake CHANGES.md
./Shake CHANGES.md-dry
./Shake PKG/CHANGES.md
./Shake PKG/CHANGES.md-dry

Enhancements:
- removes the changelog's previous top heading
- ignores commits like "changelog", "doc: update changelogs"..
- does not write temporary files
- dry run mode

[ci skip]
2019-02-01 10:36:49 -08:00
Simon Michael
5435150d39 doc: don't use sed; fix accidental dedenting of some lists (#961)
The sed code was showing an error message, not too precise.
Pandoc's lua filters to the rescue!

[ci skip]
2019-01-31 08:34:49 -08:00
Simon Michael
c8246e7323 cli: command help: reduce width, line wrapping
cmdargs wraps any lines longer than 78 characters.  To (mostly) avoid
this, we now display verbatim blocks unindented, and some of
register's examples have been altered to make them fit.
2019-01-30 17:58:13 -08:00
Simon Michael
fa996828b1 shake: fix build's doc deps; cleanup
[ci skip]
2019-01-30 12:45:09 -08:00
Simon Michael
4c5ac4dd06 cli: fix command help, really render as plain text
pandoc thinks .txt is a markdown file apparently
2019-01-30 12:44:10 -08:00
Simon Michael
0628b648f3 shake: Shake PKG (or Shake build) builds packages plus their docs
"stack build hledger" will not notice changes in documentation source
files (like hledger/Hledger/Cli/Commands/Add.md or
hledger-lib/hledger_journal.m4.md), but "./Shake hledger" will.

"./Shake build" builds all the packages, like a doc-aware "stack build".
2019-01-30 10:41:39 -08:00
Simon Michael
5b6c441698 shake: manuals: also depend on new command doc files 2019-01-26 16:33:35 -08:00
Simon Michael
789e8be280 shake: update required tools list
[ci skip]
2019-01-25 07:04:16 -08:00
Simon Michael
eac15369f2 doc: stop pandoc typography conversions in html manuals (#954)
Eg: -- was being rendered as en-dash.

[ci skip]
2019-01-24 15:29:56 -08:00
Simon Michael
5c5e404df6 doc: contributing: add TOC 2019-01-19 17:31:03 -08:00
Simon Michael
d095e6a06b shake: also clean the copied README/CONTRIBUTING
[ci skip]
2019-01-19 15:47:39 -08:00
Simon Michael
5000c6ac6a site: forcing lower-case URIs is a hassle; add redirects for now
[ci skip]
2019-01-19 15:42:43 -08:00
Simon Michael
240406706a move the wiki dev docs into CONTRIBUTING.md. Markdown for now. #920
[ci skip]
2019-01-19 15:31:21 -08:00
Simon Michael
9f057731c3 shake: common pandoc opts
[ci skip]
2019-01-19 15:31:21 -08:00
Simon Michael
b7e64440b2 shake: cleanups, document
[ci skip]
2019-01-19 15:31:21 -08:00
Simon Michael
1077ccf70c shake: cleanups
[ci skip]
2019-01-19 15:31:21 -08:00
Simon Michael
ef0f4cd4d2 shake: disable pandoc's tex math extension to silence relnote warning
[ci skip]
2018-12-03 09:21:05 -08:00
Simon Michael
67d7c82e9f bump version to 1.12 2018-12-02 17:20:34 -08:00
Simon Michael
e6556e4760 site: shake: also generate the 1.11 web manual
[ci skip]
2018-10-06 09:48:03 -10:00
Simon Michael
7f1b34ea1d doc: fix generation of 1.10 manual html 2018-07-04 13:22:09 +01:00
Everett Hildenbrandt
615ca04813 Shake.hs: use system-wide install of pandoc instead of stack exec pandoc 2018-05-21 08:35:49 -07:00
Everett Hildenbrandt
16200908e8 Shake, tools/pandoc-site.{hs => lua}: switch to building site with Lua filter 2018-05-21 08:35:49 -07:00
Everett Hildenbrandt
946fa1d498 tools/pandoc-{site,drop-toc}, Shake, site/, doc/: switch from bulletlist to metainline toc marker
Files `site/doc/{1.0,1.1}/hledger-ui.md` had to be treated specially because
thay had some other elements inside the same `BulletList` that the `toc` lived
inside. Because only the first element of the `BulletList` is compared, these
extra HTML elements were either dropped or replaced with a TOC at compile time.
By switching to the meta-inline `\$toc\$`, they started to persist into the
resulting HTML. The fix was to drop them from the source markdown.
2018-05-21 08:35:49 -07:00
Everett Hildenbrandt
e8ac237752 Shake.hs, stack-ghc8.2.yaml: missing extra-dep for pandoc 2018-05-21 08:35:49 -07:00
Simon Michael
fe7157dfa4 tools: remove some more hakyll-std traces
[ci skip]
2018-05-09 10:20:21 -07:00
Everett Hildenbrandt
2618455ab9 Shake.hs: organize 2018-05-09 10:13:02 -07:00
Everett Hildenbrandt
1a909fe2a3 Shake.hs, site/hakyll-std: remove mentions/dependencies of hakyll-std 2018-05-09 10:13:02 -07:00
Everett Hildenbrandt
567a86b810 Shake.hs, site/site.tmpl: build website completely with pandoc, no hakyll-std 2018-05-09 10:13:02 -07:00
Everett Hildenbrandt
bac12543df tools/pandoc-site.hs, Shake.hs: pandoc filter version of hakyll-std website builder 2018-05-09 10:13:02 -07:00
Everett Hildenbrandt
0669111c71 Shake.hs, hakyll-std: build static parts of site directly with Shake target website-copy 2018-05-09 10:13:02 -07:00
Simon Michael
de56ee0b93 tools: use default resolver for Shake and hakyll-std again 2018-04-25 19:01:38 -07:00
Simon Michael
541e517221 tools: fix build hang in Shake
[ci skip]
2018-04-25 17:41:28 -07:00
Everett Hildenbrandt
39b20ffb3f Shake.hs: remove targets/comments about old pandoc filters 2018-04-25 17:25:09 -07:00
Everett Hildenbrandt
ddaea7cffc Shake.hs, tools/pandoc-drop-toc: switch to lua script filter 2018-04-25 17:25:09 -07:00
Everett Hildenbrandt
95c9af5664 Shake.hs, tools/pandoc-drop-notes: remove unused filter 2018-04-25 17:25:09 -07:00
Everett Hildenbrandt
fbc9c63c62 Shake.hs, tools/pandoc-drop-notes: switch to lua script filter 2018-04-25 17:25:09 -07:00
Everett Hildenbrandt
364d3dc756 Shake.hs, tools/pandoc-drop-links: switch to lua script filter 2018-04-25 17:25:09 -07:00
Everett Hildenbrandt
79e46bb0fb Shake.hs, tools/pandoc-drop-html-inlines: switch to lua script filter 2018-04-25 17:25:09 -07:00
Everett Hildenbrandt
b83240ab6d Shake.hs, tools/pandoc-drop-html-blocks: switch to lua script filter 2018-04-25 17:25:09 -07:00
Everett Hildenbrandt
33e08a7d86 Shake.hs, tools/pandoc-demote-headers: switch to lua script filter 2018-04-25 17:25:09 -07:00
Simon Michael
8ce5c84f35 tools: misc Shake, pandoc filter fixes 2018-03-31 02:43:28 +01:00
Simon Michael
7ffdcc509d doc: move most non-manual docs to the wiki 2018-03-07 23:48:08 -08:00
Simon Michael
9ab8c5c4da shake: don't generate pandoc fenced divs when transforming markdown (#692, #696)
[ci skip]
2018-01-24 18:35:19 -08:00
Simon Michael
ea1ddd86b3 shake: build with nightly resolver, remove pandoc workarounds
stackage nightly now has pandoc 2.0.5 which builds with GHC 8.2.
https://github.com/jgm/pandoc/issues/4130
2017-12-14 18:17:43 -08:00
Simon Michael
a078936c86 shake: "guidepages" also needs to build pandoc filters 2017-12-08 15:38:13 -08:00
Simon Michael
344fced409 shake: use GHC 8.0 again to avoid 8.2/pandoc error
https://github.com/jgm/pandoc/issues/4130
2017-12-08 02:52:09 -08:00
Simon Michael
316b6f344e shake: build only the needed, pandoc-2-compatible pandoc filters 2017-12-07 12:02:13 -08:00
Simon Michael
c082f2676b shake: switch to default resolver (nightly) & pandoc 2 2017-12-07 12:01:36 -08:00
Simon Michael
0f2b95041e doc: fix breakage in text manuals 2017-12-06 20:53:36 -08:00
Simon Michael
b425e50ad1 change paths in code, scripts, readme 2017-12-06 18:16:35 -08:00
Simon Michael
18d7c4b02c doc: rename Cookbook to Guide
Might need to be more specific or rename the developer/contributor guide
later. For users, for now, it's Introduction, Guide and Reference.
Still TBD where the basic getting started tutorial lives.

[ci skip]
2017-10-31 13:04:00 -07:00
Simon Michael
a3fa09b604 doc: rename/flesh out "argument files" doc, add to cookbook 2017-10-31 12:37:13 -07:00
Simon Michael
4104334eff tools: shake: requires GHC 8.0/lts-9 for now
[ci skip]
2017-09-08 10:47:35 -07:00
Simon Michael
f4e1d5aaec tools: shake: docs -> manuals 2017-07-31 15:53:34 -07:00
Christian G. Warden
659b9c9d32 Use pandoc From Stackage Snapshot (#558)
Use pandoc from stackage snapshot when building documentation to ensure
that pandoc and the pandoc filters are built against the same version of
pandoc-types; otherwise, the filters can fail with an obtuse error (see
https://github.com/jgm/pandoc/issues/3217).
2017-05-30 07:26:24 -07:00
Simon Michael
f7c7b70a70 tools: shake: note a warnings issue 2017-03-27 05:09:42 -07:00
Simon Michael
cdece768ae tools: shake: fix cleaning of pandoc filters 2017-03-27 04:39:00 -07:00
Simon Michael
39e0601446 tools: shake: don't remove old manuals when cleaning 2017-03-27 04:38:17 -07:00
Simon Michael
046b443da5 doc: cookbook: prices example 2017-02-02 11:46:25 -08:00
Simon Michael
761d912324 doc: docs page, cookbook tweaks 2017-02-01 16:24:37 -08:00
Simon Michael
7c5b97816e doc: cookbook: journal starting and version control recipes 2017-01-26 14:19:59 -08:00
Simon Michael
d4654d46af doc: cookbook tweaks, simpler titles
Also drop the main heading from the big manual again,
it disrupted the TOC style.

[ci skip]
2017-01-26 09:51:14 -08:00
Simon Michael
4d91013182 doc: add main heading to combined manual & cookbook
[ci skip]
2017-01-26 09:51:08 -08:00
Simon Michael
2afc955f45 doc: cookbook: fix combined order
[ci skip]
2017-01-26 09:22:57 -08:00
Simon Michael
98d8909bfa site: cookbook: start collecting journal entries
[ci skip]
2017-01-26 09:15:03 -08:00
Simon Michael
e7d459a368 site: begin organising a cookbook 2017-01-26 06:40:50 -08:00
Simon Michael
e881a29b0e tools: move pandoc filters out of docs/
[ci skip]
2017-01-10 08:49:05 -08:00
Simon Michael
99f52f719a site: new system for generating versioned docs 2017-01-04 17:02:22 -08:00
Simon Michael
04557613b1 fix Shake.hs 2016-12-30 15:43:47 -08:00
Simon Michael
3bfc5f7743 tools: build shake threaded for entr 2016-12-30 14:36:27 -08:00
Simon Michael
1930213407 tools: just run Shake.hs to compile it 2016-12-29 11:33:34 -08:00
Simon Michael
eaf8853a9f tools: hakyll isn't in lts 7, use nightly for hakyll-std
Also compile it when run interpreted.
2016-12-29 11:33:34 -08:00
Simon Michael
08244f0747 shake: workaround for a weird error running hakyll-std 2016-10-29 10:51:43 -07:00
Simon Michael
91686b400b shake: comments 2016-10-29 10:23:28 -07:00
Simon Michael
79dfa308fc shake: compile now installs required libs 2016-10-29 09:42:48 -07:00
Simon Michael
d4844b621e shake: don't Clean generated man files
It caused hpack to omit them from cabal files.
2016-10-29 09:41:50 -07:00
Simon Michael
7d4a1f2399 tools: make/shake cleanups 2016-10-28 11:15:10 -07:00
Simon Michael
1953f20136 shake: small comment fix 2016-10-17 08:53:38 -07:00
Simon Michael
5a58298ee3 shake: ensure hakyll-std's required libs are up to date 2016-08-09 18:28:25 -07:00
Simon Michael
1a29d9cc02 doc: better doc version indicator, on 0.27 manual too #385, #387 2016-08-07 08:44:06 -07:00
Simon Michael
68a1a8687a doc: generate really plain text manuals
Drop the nice ansi highlighting that won't work everywhere,
the unpredictable unicode hyphens, etc.
2016-06-11 21:34:20 -07:00
Simon Michael
2f130fe10b shake: rename site target to website
Fixes a new shake error, perhaps related to
https://github.com/ndmitchell/shake/issues/440
2016-05-28 12:10:51 -07:00
Simon Michael
3d129f6d31 shake: also generate info manuals 2016-04-18 17:54:55 -07:00
Simon Michael
4c291dc54e doc: use macros not divs to select web/man content
Use slightly clearer m4 macros instead of special divs to mark content
as web only/man only. The temporary doc/*.md files are no longer needed,
slightly more redundant work is done.
2016-04-16 10:09:51 -07:00
Simon Michael
6529daf20c site: ensure 0.27 manual is in place for links
Stripping hledger- from the link fragment with patsubst isn't working.
2016-04-16 05:55:16 -07:00
Simon Michael
778b78e0b9 site: consistent toc styling 2016-04-16 05:52:20 -07:00
Simon Michael
6a97a246dd doc: use m4 for all manuals, shake cleanup 2016-04-16 03:50:30 -07:00
Simon Michael
8a98e0af20 shake: comments 2016-04-15 16:08:02 -07:00
Simon Michael
c773a81447 shake: update txt man pages when man pages change 2016-04-13 22:47:19 -07:00
Simon Michael
bfa5e14373 doc: generate (and commit) text-rendred man pages
Intended for embedding in executables. Quick implementation,
hopefully these are fixed-width and compatible with all terminals.
2016-04-13 22:29:16 -07:00
Simon Michael
588f36d662 rename timelog format to timeclock 2016-04-12 21:13:19 -07:00
Simon Michael
bf4e6c314c shake: use default build dir 2016-04-12 20:32:01 -07:00
Simon Michael
5ef67e0d4d doc: remove old manual. No more duplication! #292 2016-04-12 20:29:29 -07:00
Simon Michael
db96d54ec0 doc: separate docs target that skips the site 2016-04-10 12:11:19 -07:00
Simon Michael
6a019eedc6 shake: also build/clean hakyll-std and website 2016-04-09 14:24:33 -07:00
Simon Michael
fa9105f658 doc: heading/combined manual tweaks 2016-04-09 14:02:37 -07:00
Simon Michael
e4aaa302ce doc: use m4 just to assemble main hledger man page
I was about to drop the m4 experiment, but.. not yet. I want to split up
the big man pages into chunks that are easier to deal with, so now using
m4 for that (only. Pandoc is taking care of selective content stripping
and other rendering adjustments.)

I've switched the suffix of m4-enabled files from .md.m4 to .m4.md -
less correct but activates more useful editor highlighting.
2016-04-09 13:30:21 -07:00
Simon Michael
88eb113f7b doc: generate atx-style headers in markdown 2016-04-09 12:06:45 -07:00
Simon Michael
775ab2fd4e site: simplify man page uris; shake cleanups 2016-04-08 07:01:40 -07:00
Simon Michael
33e2ca927f doc: improve new combined manual, cleanups 2016-04-07 21:58:42 -07:00
Simon Michael
443b870481 site: fix man page TOCs, add combined man page 2016-04-07 08:55:21 -07:00
Simon Michael
1aa1a92f96 doc: m4manpages should also depend on m4 includes 2016-04-06 08:51:14 -07:00
Simon Michael
f3a2690f7c doc: experimental m4-based man page build process
The new m4manpages, m4webmanpages targets generate nroff and markdown
man pages via an alternate, excitingly complicated process, involving
shake, hakyll, pandoc *and* m4. Currently just the hledger man page is
processed this way, and the output (hledger/doc/m4-hledger.1,
site/m4-hledger.1.md) is equivalent to that of the non-m4 process.

Pro: selecting and massaging web/man content may be smoother with m4
than with pandoc filters. File inclusion allows documentation to be
broken up into chunks, which may be easier to edit, reorganize and
reuse. Macros could reduce boilerplate and enable more featureful and
attractive docs.

Con: the non-m4 process was simpler, easier to for contributors to
understand and working well enough. YAGNI.
2016-04-06 08:44:59 -07:00
Simon Michael
f3fb1a89f2 doc: exclude web content from nroffs 2016-04-06 08:20:27 -07:00
Simon Michael
a5d5b05b66 tools: shake cleanup, webmanual target fixup 2016-04-05 16:17:08 -07:00
Simon Michael
a0e62a1d89 tools: shake cleanup, webmanual target fixup 2016-04-05 16:17:08 -07:00
Simon Michael
7163a730fd tools: shake cleanup, webmanual target fixup 2016-04-05 16:17:08 -07:00
Simon Michael
9b492325da tools: rename pandoc filters 2016-04-05 16:17:08 -07:00
Simon Michael
7e517a4cda tools: shake cleanup, webmanual target 2016-04-05 16:17:08 -07:00
Simon Michael
099870e96a tools: shake file requires pandoc, filters use current snapshot 2016-04-05 16:17:08 -07:00
Simon Michael
df3cb6d334 tools: use latest pandoc, avoiding SoftBreak error
Require a recent snapshot with the latest pandoc-types for the pandoc
filters (may be different from the snapshot used to build hledger).
2016-04-05 16:17:08 -07:00
Simon Michael
bded4b9221 tools: expand shake file, show help by default 2016-04-05 06:59:52 -07:00