- README.md:
- Add note about linking/using templates (html and latex) with pandoc.
- Add references to argmap specs?
- Give test controls class and unique IDs:
src/pandoc-argmap.lua
pandoc-templates/mapjs/mapjs-testcontrols.html
.vscode/launch.json
: Add url debug profile, with flag for opening local files included.- Rename these uses of argmaps to argmap for consistency:
scripts/argmap_init_script.sh
- env variable
CONDA_ENV_ARGMAP
- Fix html output URLs - use relative URLs:
- Restore
mapjs.env
files e.g.mapjs-example/scripts/mapjs.env
. - Various config files: Update environment variables for html resource paths to be relative.
src/pandoc-argmap.lua
:- Add variable for JSON resource path (relative), contrasting with output folder (absolute).
- Fix path for mapjs controls template.
- Restore
- Rationalise env variables:
- Standardise env variable naming convention.
- Create env variable:
DIR_HTML_OUTPUT
and add where needed. - Fix some incorrect paths missed from output folder changed in v4.2.1
- Simplified logic in
src/pandoc-argmap.lua
scripts/git_hooks/pre-commit
: Add webpack rebuild before testing.scripts/bash_aliases_argmap.sh: md2pdf()
: Make link to pdf template absolute so function works from any folder location.- README.md:
- Update mapjs sections with instructions for v4.2.0 onwards.
- Minor updates.
Supports multiple mapjs on page:
mapjs-example/src/start.js
:- Loops through all containers.
- ISSUE #22: Each control panel affects both maps.
- Fix logic for identifying script for mapjs container:
src/pandoc-argmap.lua
: Make JSON script child of relevant container.mapjs-example/src/start.js
:- Identify script relative to container rather than using ID.
- Remove script ID since no longer necessary.
- Create all html, JSON and png output in
test/output/
.mapjs-example/src/start.js
: Above, plus rename functions more logically.scripts/install.sh
: Remove symbolic link totest/output
folder.- Update env variables in script files.
- Delete mapjs.env files.
- Rename
MAPJS_JSON_INPUT_DIR
toMAPJS_JSON_DIR
.
- Add alias
argth
to run html output tests only. - Remove
pandoc-templates/pandoc_html5_template.html
since unnecessary (was added for reference).
- Generate argmap mapjs without webpack rebuild:
mapjs-example/src/start.js
:- Load mapjs JSON file asynchronously using fetch().
- Tidy comments.
src/pandoc-argmap.lua
: Reference JSON file withapplication/json
script.scripts/bash_aliases_argmap.sh
:__open-mapjs()
:- Rename
__chrome-mini()
to__open-mapjs()
. - Add
--allow-file-access-from-files
to chrome call to avoid CORS origin error from Chrome accessing JSON file locally.- README.md: Document above workaround.
- Rename
__build_mapjs
: Only call when code changes, rather than for each new argmap:- Rename
__pack_mapjs
to__build_mapjs
. - Add it to
scripts/install.sh
, remove it from other functions. - Deprecate
a2jo()
, do not export it anda2mo
so they are not available to other scripts.scripts/tests.sh
: Remove test #5 (obsolete, uses a2jo).test/bash_aliases_argmap_test.sh
: Remove aliasargmj
.
- Rename
src/pandoc-argmap.lua
:- Set default
to:
in .md metadata usingargmap: to: X
.- See
test/input/Example1_ClearlyFalse_WhiteSwan_simplified_meta_mapjs.md
for example.
- See
- Re-factor.
- Set default
- Update README.md.
- Change block directive from
convertTo="mapjs"
toto="js"
for consistency with pandoc. BREAKING- Update:
src/pandoc-argmap.lua
, example files.
- Update:
- Write all mapjs .json input files to
MAPJS_JSON_INPUT_DIR
: BREAKING- Initialise in init_script as
output/mapjs-json-input
. - Read in
config_argmap.lua
- Update
src/pandoc-argmap.lua
to output json code to this folder. - Update
scripts/install.sh
and symbolic link: link tomapjs-example/
.
- Initialise in init_script as
tests/tests.sh
:- Fix duplicate argmap IDs in some test files.
- Add 2
md2hf()
tests for new input files with 0, 2 argmap > mapjs code blocks. - Add
md2hf()
test for new input file with argmap > mapjs metadata. scripts/bash_aliases_argmap.sh
:md2hf()
:- Fix browser blocking test progression with
&disown
. - Write html output to different files, avoiding shared test state while waiting for browser.
- Update
__clean_repo
.
- Fix browser blocking test progression with
- Update scripts to use
test/input
andtest/output
instead ofInput
andOutput
.- Move
Input
test files to above folders.
- Move
bash_aliases_argmap.sh
: Updatemd2htm()
to output only html doc fragment.test/
:- Add folders: input, output, issues
- Move any test files to these folders from
Input/
andOutput/
which won't break scripts.
- Move any test files to these folders from
- Add folders: input, output, issues
- README.md:
- Update mapjs link in introduction to refer to internal section instead of github.
- Improve clarity of some sections.
test/
:- Add folder to use for tests related scripts.
- Move 'tests.sh' from
scripts/
to here. - Create
test/bash_aliases_argmap_test.sh
.
scripts/
:bash_aliases_argmap.sh
: Move all aliases totest/bash_aliases_argmap_test.sh
since they are all tests.scripts/argmaps_init_script.sh
: Sourcetest/bash_aliases_argmap_test.sh
- Docs, scripts, rockspec:
- Update references to both above scripts.
- Add mentions that test files are not public api.
.vscode/launch.json
: Fix broken path to example file due to 3.8.3 bug.
Input
:- Duplicate and rename
Example1_ClearlyFalse_WhiteSwan_simplified.md
to have variants with 0,1,2 mapjs references, and add them to repo.
- Duplicate and rename
scripts/
:argmaps_init_script.sh
: Add above to INPUT_FILE aliases.scripts/bash_aliases_argmap.sh
: Add above to argm aliases.
mapjs-example/src/start.js
: Only generates mapjs if mapjs snippets found.Input/example-updated.md
: Add copy ofexamples/example.md
modified to work with mapjs.
BUG:
.vscode/launch.json
: Broke path to example file.
scripts
bash_aliases_argmap.sh
:__pack_mapjs()
: Remove env variable argument since specific .json files no longer requested during webpack build process.
mapjs-example/webpack.config.js
: Remove env variable functionality.
scripts
:- Rename 'private' functions to start with __
- Move
git_hooks
folder intoscripts
.- Update
install.sh
- Update
- Re-organise some functions.
- Update docs to explain private functions may change during patch updates.
src/pandoc-argmap.lua
: Update to convert argmap code blocks with attributeconvertTo="mapjs"
to mapjs format.mapjs-example/src/start.js
:- Now requires map.json dynamically.
init()
now takes map.json path as second argument or can read it from containersrc
attribute.
- README.md:
- Add info about generating html containing mapjs format in section 'Embedding Maps in Markdown'.
- Add
docs/mapjs-in-html-example.png
. - Explain
convertTo="mapjs"
functionality.
- Add
- Fix code formatting for latex code block examples.
- Fix argmap code block examples to display relevant attributes.
- Add info about generating html containing mapjs format in section 'Embedding Maps in Markdown'.
- Add references in various places to mapjs .json Data Format on the mapjs wiki.
scripts/
:bash_aliases_argmap.sh
:- Add new functions:
md2hf()
:- Generates index.html from pandoc template and generates mup.json with webpack.
- Fix bug with template parameter using relative path.
- BUG #21: Hanging when calling
argmh
when browser already open. Not sure when introduced.
chrome-mini
: Utility function.
- Update md2htm() to use custom mapjs html5 template now available in pandoc data folder.
- Remove unnecessary calls to webpack from some functions now
pandoc-argmap.lua
creates output files.
- Add new functions:
tests.sh
:- Use init file variables instead of own.
- Fix test #6 to use newer html function.
Input/
:Example1_ClearlyFalse_WhiteSwan_simplified.md
:- Use two code snippets, one for png output and one for mapjs.
- Add meta-data for use in template.
.vscode/launch.json
:- Add
cat X | argmap2mup
profile. - Fix html output profile.
- Update pandoc test to use my own example files.
- Add
- Add
pandoc-templates
folder containing:- Two html5 templates: pandoc default, and custom mapjs:
-
custom-mapjs.html5
template based on default combined with mapjsindex.html
file. -
mapjs-map.html
: Move script and style tomapjs-main-html5.html
since they only need to appear once regardless of number of containers. - pandoc partials (sub-templates) for parts of custom template.
-
pandoc-templates/mapjs/mapjs-map.html
: - Add temporary
src
attribute to container.
-
-
- Two html5 templates: pandoc default, and custom mapjs:
- mapjs folders:
- Add
scripts/mapjs.config
tomapjs
andmapjs-example
folders and source these from argmap init script so that correct files are referenced for each. - Move to
mapjs-example/
:-
scripts/
:-
scripts/argmaps_init_script.sh
:- Fix bugs when terminal opens outside of WORKSPACE.
- Clean up variable references and delete GIT_PROJECT_DIR.
- Remove GIT_PROJECT_DIR definition from
environment.yml
.
- Remove GIT_PROJECT_DIR definition from
- Add input file variables for each file type.
-
install.sh
: Add symbolic link from pandoc data folder topandoc-templates
.
-
-
pandoc-templates/mapjs/mapjs-map.html
: Add metadata variable:$mapjs-output-js$ - Update scripts to use variable MJS_WP_HOME properly.
-
- Add
mapjs-example/src/argmap_output/
for maps data:- Symbolic links to
Output/
folder. - Update paths used in
src/start.js
.
- Symbolic links to
- Select containers based on .container not #container.
mapjs-example/src/start.js
mapjs/mapjs-inline-styles.css
-
package.json
: Add"type": "commonjs"
.
- Add
-
src/
:-
argmap2mup.lua
: Stop public flag forcing upload to ensure uploads deliberate. -
config_argmap.lua
: Move logging functionality here for centralisation.
-
-
Develop argmapjs prototype:
- Merge with local custom branch of repo
s6mike/mapjs-webpack-example at custom
. See README.md for more details.-
mapjs project files are in
mapjs
folder. -
scripts
:scripts/bash_aliases_argmap.sh
:- Add
a2jo
function andargmj
alias to generate .json file and open with mapjs. - Rename
mappack
function topack_mapjs
and add argument to pass onto webpack build. - Fix bug from calling chrome alias instead of chrome-browser directly, blocking command line parameters.
- Remove output redirect from webpack calls, set webpack.config.js to report build errors only.
- Add
scripts/install.sh
: Add npm install command.scripts/argmaps_init_script.sh
:- Update 2 MJS_WP_X variables to match new mapjs folder location and to reference new
examples/example.json
. - Fix bugs when terminal opens outside of WORKSPACE.
- Clean up variable references and delete GIT_PROJECT_DIR.
- Remove GIT_PROJECT_DIR definition from
environment.yml
.
- Remove GIT_PROJECT_DIR definition from
- Add input file variables for each file type.
- Update 2 MJS_WP_X variables to match new mapjs folder location and to reference new
tests.sh
: run test fora2jo
instead ofa2mo
.install.sh
: Add symbolic link from pandoc data folder topandoc-templates
.
-
Add
examples/example.json
(generated from example.yml) to repo as an example for mapjs. -
Remove commands to delete MJS_WP_MAP which is now
examples/example.json
-
See CHANGELOG-mapjs.md for more details.
-
- Add mapjs and troubleshooting sections.
- Add
docs/mapjs-example.png
to repo for use in README.md.
-
git hook
hooks/pre-commit
:- Add to repo, in
hooks
folder (symlinking to it from .git/hooks/pre-commit), to keep it in sync with rest of repo.- Add symlink command to
scripts/install.sh
.
- Add symlink command to
- Update MJS variables to reflect new mapjs folder and example file.
- Source init_script rather than defining variables independently.
- Add to repo, in
-
- Other minor documentation updates.
- Merge with local custom branch of repo
- Update to pandoc 2.9.2.1-0:
- Update
environment.yml
- Update README.md
- Add comments re available pandoc variable to
src/pandoc-argmap.lua
- Update
scripts/install.sh
to link to new pandoc data directory location ($HOME/.local/share/pandoc
). - Update rockspec for release.
- Update
.vscode
:launch.json
: Update argmap2mup gdrive upload debug profile to use correct lua install.settings.json
: Update lua extension settings.
scripts/install.sh
:- Add symbolic link so vscode-pandoc extension can find
config_argmap.lua
. - Move
chmod src/*
into section 2 since it will be needed by all users.
- Add symbolic link so vscode-pandoc extension can find
- Update rockspec for release.
scripts/luarocks_clean.sh
: Find rockspec filename before trying to delete it.- README.md: Remove reference to rockspec version number to simplify maintenance.
scripts/
:qa_rockspec.sh
: Use environment variable in rockspec install command.install.sh
: Callqa_rockspec.sh
to install Lua dependencies.
.vscode/settings.json
:- Fix incorrect pandoc data folder path for MPE extension.
- Remove some duplicates in lua path variables.
- README.md: Manage expectations regarding use of semantic versioning.
- Add
scripts/qa_rockspec
: lints and makes rockspec to ensure validity. - Update rockspec for release, and to include external yaml dependency.
- New script function: check_repo: Checks
src/
for lua files with leftover test/debug code.
- New conda env argmap:
- Clean up
LUA_PATH
andLUA_CPATH
, which both had invalid paths. - Remove extra dependencies so only deliberate installs included. Should be more platform independent.
- Rename relevant variables in vscode settings etc.
- Update
scripts/install.sh
to use$CONDA_PREFIX
. -
.vscode/settings.json
:- Add missing $ to variables, must have been wrong for a while.
- Added variable to MPE extension setting.
- Clean up
- Use more variables to reduce duplicate paths etc:
.vscode/launch.json
.vscode/settings.json
- Add
src/config_argmap.lua
to ensure LUA_PATH etc available to VSCode extensions. - Update scripts:
- Including symbolic link in
scripts/install.sh
to ensuresrc/config_argmap.lua
available in~/.local/share
.
- Including symbolic link in
- Fix missing image issue: relates to #20:
- Update bash aliases to move image file for
tests.sh
- Add Input/12ff...png to repo for VSCode extension html output tests.
- Update bash aliases to move image file for
src/pandoc-argmap
:
- Fix crash on 2 README md to pdf examples, close #19.
- Add first one to test file to ensure no regressions.
- Add second to aliases.
src/argmap2tikz.lua
:
- Fix lint errors: close #6, #7, #8.
- README.md: Update sections: fork details and installation.
- Update
.vscode/launch.json
to use more settings variables for portability. - Add workspace settings.json to repo to track these settings.
- Add failing md to pdf test to argmap aliases script.
- Add
.mup
Input file to repo for tests. .gitignore
: Add examples and Input to keep stable. Plus archive folder for reference files.- Minor formatting updates.
- Lua Code:
- Move to src folder.
- Restore line 1 #! shebang directive to lua scripts (Local Lua Debugger - Visual Studio Marketplace works with them).
- README.md: update examples to correctly call lua files.
- Add src folder to LUA_PATH in conda environment.yml.
- Fix pandoc-argmap so it works.
- Updated rockspec and
scripts/install.sh
to reflect new rockspec dependency.
- Pandoc:
- Downgrade pandoc to v2.6:
- README.md: update to reference this version.
environment.yml
: Downgrade pandoc to v2.6, which was hopefully version used to develop pandoc-argmap.lua
src/pandoc-argmap.lua
:- Fix references to local .lua commands (argmap2mup etc).
- Fix 'need check nil' and undefined globals lint warnings, relates to #7, #8.
- Make formatting consistent.
- Add debug logging.
- Fix launch.json debug configurations.
- Downgrade pandoc to v2.6:
- Scripts:
- Add
md2h
command to convert markdown with embedded argmaps to html, using filtersrc/pandoc-argmap.lua
. - And
a2t
command to convert argmap yml into tex, using argmap2tikz.- Add aliases to run both of them.
- Add them both to tests script.
- Make scripts more portable with env variables: can change folder locations and conda env.
- Move environment variable definitions from bash aliases, to conda env, init_script and conda.env
- Add
scripts/install.sh
for symbolic links to lua files, to help reproduce install config consistently and avoid recent path issues. - No longer use lua or .lua in calls due to above lua code changes plus use of symbolic links.
- Add
conda.env
to set conda env name variable so it's easy for pre-commit hook to access. - Add pandoc bash completions to init script.
- Add
- Add some additional Input and Output examples.
- Add Input and example folders to .gitignore now sufficient examples in repo.
- CONTRIBUTIONS.md: Update for clarity.
- CONTRIBUTIONS.md: Update for clarity.
- Update tests.sh to work when called from pre-commit hook:
- Exit code set to fail when a test fails.
- Don't use ANSI colour escape code when dumb terminal.
- Docs:
- Add Tables of Contents.
- Refine collapsible section formatting, default to open so ToC links work.
- Improve formatting using markdown linter suggestions.
- Update for clarity.
- Shell scripts:
- Fix lint issues using shellcheck and shell-format suggestions.
- Make tests.sh output command success cleanly.
- Update environment.yml to include more dependencies.
- Change Log: Improve formatting using markdown linter suggestions.
- README.md:
- Make collapsible sections more obvious.
- Fix broken code example.
- CONTRIBUTING.md: Improve formatting, layout and wording.
- README.md:
- Fix headline map link to link to published version (should be available until Jan 2023).
- Make some sections collapsible: Installation, Syntax Rules and pandoc-argmap.lua
- Add reference to issue 11: generated .mup files don't always work on mindmup, but can be used with legacy mindmup.
- example/example.yml: Update to match documentation.
- launch.json:
- Update filenames to include .lua extension.
- Comment out sourcemap references, since unnecessary.
- CONTRIBUTING.md: Fix broken links and typos.
- Update test.sh script to delete output files directly before test.
- Update clean function:
- Rename as clean_repo.
- Update to revert Output folder to match remote branch.
- Docs:
- Add docs folder.
- Rename change log from NEWS.md to docs/CHANGELOG.md.
- Add CONTRIBUTING.md.
- Fix readme examples: now commands have .lua file extension.
- Fix rockspec to use correct version number.
- Add luarocks library clean-up file to simplify install testing.
- Add rockspec file.
- Replace dependency json.lua with rxi-json-lua.lua for simpler install.
- Update conda env with values from luarocks path.
- Update readme install instructions.
- Rename to README.md: simplifies rockspec generation.
- Add tests.sh file to do minimal testing.
- Update bash aliases:
- Add bash function for uploading to gdrive.
- Upload to GDrive folder 'argmap_uploads'.
- Use input filename as upload filename.
- BREAKING: Add .lua file extension to lua app files to ensure correct syntax highlighting. Readme examples still need updating.
- Add argmap_init_script.sh and bash_aliases_argmap.sh to keep bash config and convenience functions in sync with code.
- Install lualogging to help with debugging.
- Add debug logging to mup2argmap.
- Add launch.json to repo to track debugging tests.
- Fix mup2argmap:
- Fix global variable which could be local, relates to #5, #6.
- Fix need check nil, relates to #7.
- Fix argmap2mup:
- Close #3 Static analyser errors.
- Comment out line 1 #! directive, so actboy168's lua debug extension can handle breakpoints: (see actboy168/lua-debug#153).
- Call explicitly with lua instead.
- Fix formatting based on sumneko's vscode lua extension.
- Add my own reference examples, in Input and Output folders.
- Readme: add github compatible syntax highlighting directives.
- Fork of https://github.com/dsanson/argmap
- argmap2mup fix (potentially caused by different lua version):
- Close #1 output file start with 'nil'.
- Close #2 gdrive upload fails.
- Update license and readme.
- Add .gitignore, conda export: environment.yml
Original https://github.com/dsanson/argmap
Uses Semantic Versioning 2.0.0 and Conventional Commits 1.0.0.
Note that test files, and bash script functions beginning with __ are not considered part of a public API, and therefore updates may change them without warning.
Though documentation is not yet precise and comprehensive! Lua code is well documented, but my scripts still need to be properly documented.