Commit Graph

24 Commits

Author SHA1 Message Date
Soren I. Bjornstad 04272c3973 also privatize JSON tiddlers
This seems slightly dangerous because we're just applying the same
replacement logic and JSON has a much fussier syntax. However, if any
tiddlers end up invalid we should just get a build failure, so this
doesn't seem highly consequential.
2022-08-19 17:14:06 -05:00
Soren I. Bjornstad 1f56f68448 stop using <<privateperson>> macro
Since we have to do raw links anyway in many cases, it doesn't really
make sense to use two different formats. This also gets around an edge
case where replacement produces invalid syntax if the person to be
replaced is linked within a macro, since the >> of privateperson then
terminates the outside macro -- given my increasing use of footnotes,
this isn't all that uncommon.
2022-08-19 17:09:20 -05:00
Jacob Kiers dcac80c5ac Replace link text of private person
It is possible that a private person is linked to in a tiddler with the
syntax `[[Jane|MsJaneDoe]]`.

Up to now, the text of the link was not redacted, which could lead to
unintentional privacy leaks.

Therefore, a new parameter `replace_link_text` is introduced for the
`replace_private_people` builder.

When that is set to True, then the link text is also replaced with the
initials.

Signed-off-by: Jacob Kiers <code@kiers.eu>
2022-03-22 23:34:32 +01:00
Soren I. Bjornstad 4875f7c1f5 avoid incrementing iterator when not appropriate
By chance, this hasn't caused any problems yet.
2022-03-16 12:33:20 -05:00
Soren I. Bjornstad f0bd41f65a implement more robust private-person replacer
The previous method occasionally gave incorrect results because it
performed replacements on an entire line, rather than on individual
instances of the text to replace. This usually worked fine, but in rare
cases could create wrong/ugly output, and with future improvements to
what can be replaced could end up causing leaks.

This was a royal PITA to get working, but I'm fairly sure it's correct
now due to all the doctests. Please add more if you find any regressions
or think of cases that aren't covered.
2022-03-16 09:19:49 -05:00
Soren I. Bjornstad 4acff2731a remove debug print mistakenly left in 2022-03-11 20:14:30 -06:00
Soren I. Bjornstad 0705c55e77 fix only one PrivatePerson replacement working per line
Because the 'line' variable was already bound in the outer loop, changes
to the line in the inner loop were lost in subsequent inner-loop
iterations, if required. Change to always indexing the array (which is
defined outside the scope of the loops) directly on every reference.

(This is why it's usually best not to modify things while looping over
them. Maybe a refactor could be in order.)
2021-11-29 21:47:21 -06:00
Soren I. Bjornstad ec83de9978 fix 'compile_html_file' to use dirs_exist_ok
5065efd3 incorrectly changed to doing an rmtree of the entire target
since that was what editionify needed. Editionify should clean the
target directory, but the single HTML file build should not (it ended up
wiping my git repository from my hard drive). We might wish to revisit
this particular fix in the future since it still fails to delete removed
extimages, but this doesn't seem like a big deal.
2021-09-21 21:13:30 -05:00
Soren I. Bjornstad 86441e9618 don't carry FileSystemPaths into emptified edition
Better for people to set up their own scheme if they want one, and it
avoids tiddlers potentially being in two different places (since
FileSystemPaths isn't honored during an init/savewikifolder).
2021-09-21 20:44:12 -05:00
Soren I. Bjornstad c79644e179 minor doc fixes 2021-09-21 12:24:59 -05:00
Soren I. Bjornstad 87438e5858 make _set_text_field work properly when 1 line long
OBO error resulted in the new text getting appended rather than
replacing the existing text in this case.
2021-09-21 10:24:28 -05:00
Soren I. Bjornstad c91e507a89 copy all plugins across tiddlywiki.info when creating edition
Don't know why it doesn't do this itself. Also opened a forum thread:
https://talk.tiddlywiki.org/t/tiddlywiki-init-removing-plugins-from-the-edition/819
2021-09-21 10:21:41 -05:00
Soren I. Bjornstad 2d33b53be6 fix unhandled exception if publish target doesn't exist
It wasn't actually that we didn't create it, but that we tried to clean
first and the folder to be cleaned didn't exist!
2021-09-21 09:36:27 -05:00
Soren I. Bjornstad cf69aa54dd don't use walrus operator
Forgot I was trying to support 3.6+.
2021-09-20 12:27:40 -05:00
Soren I. Bjornstad 465c1c0665 style 'tzk' as lowercase 2021-09-20 12:16:38 -05:00
Soren I. Bjornstad 197ec6c8b2 allow setting fields other than 'text' in tiddlers
The interface isn't the cleanest (it'd probably be better to map from
tiddlers to a set of fields, rather than having a different set of
mappings for each field), but it will do for now. Needing more
than a few of these is a Zettelkasten-design smell anyway.
2021-09-20 12:12:18 -05:00
Soren I. Bjornstad 5065efd37e add clean prior to copytree in editionify/compile_html_file 2021-09-20 11:30:35 -05:00
Soren I. Bjornstad cf42b060eb add delete_tiddlers builder
It deletes tiddlers. Yep.
2021-09-10 11:31:42 -05:00
Soren I. Bjornstad ea02c1bd5a fix set_tiddler_values to work with missing files and meta files 2021-09-10 11:18:03 -05:00
Soren I. Bjornstad f4e8888101 various tweaks
Bad Soren let these sit around for a while, so I don't know what they
are or what they were for anymore!
2021-09-10 10:59:41 -05:00
Soren I. Bjornstad 90ea549c36 fix half-written builder doc message 2021-08-27 13:08:49 -05:00
Soren I. Bjornstad 29cd61d8d8 doc tweaks 2021-08-27 12:59:24 -05:00
Soren I. Bjornstad 5b836b3cff fully document builders 2021-08-27 12:52:58 -05:00
Soren I. Bjornstad 0321b7d7b1 initialize Sphinx and document builders 2021-08-27 09:53:18 -05:00