1
0
Fork 0
mirror of https://github.com/sbrl/Pepperminty-Wiki.git synced 2024-11-14 13:53:01 +00:00
Commit graph

888 commits

Author SHA1 Message Date
fa81f0df25
Implement basic Pepperminty Wiki CLI & shell :D
The BkTree tester gave me the idea.

No longer will you have to hope that search indexing will complete in 
time and adjust the maximum execution time for larger wikis..... when 
that's implemented.
2020-03-10 01:47:40 +00:00
83c9d527cb
Bugfix: Squash empty tags when saving an edit to a page 2020-02-04 01:45:14 +00:00
83bf9acd86
Add tag input autocomplete when editing pages.
Thanks to Awesomplete by @LeaVerou :D
2020-01-26 21:04:39 +00:00
e2e9301043
Credits URL correction 2020-01-10 17:47:23 +00:00
6ad61f6be4
Add credits for #179 2020-01-10 17:11:25 +00:00
0f04a927c4
Tiny formatting tweak 2020-01-10 17:07:09 +00:00
Kevin Otte
3396c25002
Fix compromise detection
Compromise detection has inverted logic handling response_code and did not honor the settingsFilename variable.
2020-01-08 20:25:46 -05:00
5fdd91ce4c
Update changelog; change name of new setting to email_verify_addresses setting 2020-01-05 23:10:19 +00:00
344b7daa70
Make email address verification email sending more intelligent and update changelog 2020-01-05 21:16:51 +00:00
3c47bf0539
Bugfix: Correctly display whether the user's email address is verified 2020-01-05 21:10:35 +00:00
b4c0782e58
bool -> boolean 2020-01-05 20:59:21 +00:00
d47395e005
feature-user-preferences: bump version 2020-01-05 20:52:56 +00:00
9d75134afe
Add clarification about email verification status 2020-01-05 20:52:35 +00:00
322f956a9f
Add url_stem() & email address verification system 2020-01-05 20:49:20 +00:00
e6fd579bf1
Bugfix watchlist: Fix variable name 2020-01-05 20:48:55 +00:00
05615b4c81
feature-watchlist: bump version 2019-12-24 12:14:02 +00:00
95e06c5b8b
Bugfix: Don't send an email to users to edit pages on their watchlists 2019-12-24 12:13:35 +00:00
f06c37c561
Add title to remove cross on watchlist page 2019-12-23 22:53:16 +00:00
ab179e4e83
Bugfix: Check to make sure that a user's watchlist exists before checking to see if it's an array 2019-12-23 22:51:59 +00:00
f6d183a11e
Add conditional link to user preferences page to watchlist 2019-12-23 22:31:44 +00:00
1abcd96699
Remove stray debug statement 2019-12-23 22:02:41 +00:00
456f749ffe
Bugfix: Squash bug in new array_simple search optimisation 2019-12-23 21:58:23 +00:00
52fcd6a44a
Bugfix: Update Parsedown to squash bugs in PHP 7.4 2019-12-23 21:53:22 +00:00
543fcc171f
Bugfix: Fix watchlist page-edit module check 2019-12-23 20:53:08 +00:00
9cb4ecae1b
Implement watchlist emailing, but it's not tested yet.
We're getting there, hooray! :D
2019-12-23 18:57:52 +00:00
1602fab2c3
Correctly handle utf-8 in email_user() 2019-12-23 17:39:18 +00:00
8914bff594
Add watch item to nav more menu, and tweak messages. 2019-12-23 16:17:33 +00:00
53c6533a4c
Bugfix integration between watchlist and watchlist-edit 2019-12-23 16:09:39 +00:00
890c27be02
Bugfix new watchlist-edit action.
(Almost) next up: Actually sending the notifications!
2019-12-23 16:03:38 +00:00
85fb5cd6c1
Finish implementing the watchlist backend. Now to test it! 2019-12-23 15:39:28 +00:00
f7ee581709
Start working on the backend to the watchlist system, but it's not finished yet 2019-12-23 01:27:26 +00:00
167259623d
Start implementing watchlists :D
TODO: update the changelog
2019-12-22 14:37:20 +00:00
e4eee4e281
Fix comment typo 2019-12-15 22:38:44 +00:00
6d675fc783
Bugfix: Add missing apostrophes in stop words 2019-12-15 20:21:05 +00:00
6f4b1a62e9
Fix + weighted word support on stas-parse action 2019-12-15 20:03:04 +00:00
c80f26962e
Refactor stas_split to be more fasterererer
Informal testing shows that it's gone from taking ~18% of the total time 
to ~4% of the total time :D
2019-12-15 17:56:56 +00:00
843f0f7ee9
Update comment 2019-12-10 01:13:51 +00:00
d53f0ed85a
Remove search::transliterate, as it has a hgue performance overhead.
Use search::$literator->transliterate() directly instead.
2019-12-08 21:04:59 +00:00
34fb821804
Don't load the stats index if it's not needed 2019-12-08 20:45:20 +00:00
d3e83a0aea
page_renderer: Don't generate the page list for the datalist if it's not displayed 2019-12-08 20:27:20 +00:00
8156055b5c
Improve search index write & lookup performance by implementing new arr_simple system
By serialising and deserialising lists of numbers with implode & 
explode, we can further cut down on the json_* calls which are 
reeeeeally slow.
2019-12-06 23:40:28 +00:00
60cca5a5e2
Add say hi button to firstrun wizard :D - closes #175 2019-11-24 11:50:49 +00:00
803677ba69
Add id to tags input box on page editor 2019-11-10 15:44:21 +00:00
41dc73036d
Bugfix: Include the new inverted index in wiki size calculations 2019-11-10 15:43:24 +00:00
729af8205d
Add documentation on external renderers 2019-10-26 15:19:05 +01:00
34a86dbaec
Fix insert 2019-10-26 12:27:09 +01:00
5b89e6549e
Add note to parsedown help 2019-10-26 12:24:56 +01:00
f044d25f7e
Add output_classes property to external renderer, and new .invert-when-dark class in theme
ABC Notation & Server-Side Latex look good naow! :D
2019-10-25 12:12:57 +01:00
657213c11c
Bugfix: Nest external rendered images inside a <p> to make them block-level 2019-10-25 00:16:08 +01:00
bba614df2f
Add setting to disallow anonymous users from invoking the external renderer on new input 2019-10-24 21:08:18 +01:00
b75ad067eb
Add file & substitution_pipe support.
Also use nomnoml in SVG mode instead of nomnoml-cli, because the latter 
is a pain to build.
2019-10-24 20:13:03 +01:00
0744498570
Bugfix: Clean up correctly if the external renderer burps
This is especialyl important for the exteernal renderer cache directory, 
which is assumed to contain exclusively valid rendered outputs.
2019-10-21 00:41:14 +01:00
b7cb9741de
Implement backend. That went better than expected!
We should test it thoroughly to make sure it functions as expected.
2019-10-21 00:31:18 +01:00
fe4071fe05
Add setting to disable external renderer support 2019-10-20 22:00:52 +01:00
9d2be94f64
Start writing backend ext_renderer, but it's not finished yet. 2019-10-20 21:54:00 +01:00
6d19af2e1b
Refactor errorimage into core & greatly improve it 2019-10-20 21:42:13 +01:00
ca6546677b
Add initial external diagram renderer support, but we are missing the backend. 2019-10-20 20:54:50 +01:00
209122fabd
Style code blocks (todo: test them in light mode) 2019-10-20 18:05:57 +01:00
30cbca1b13
Remove debug statement 2019-10-20 17:53:21 +01:00
bdd2449ab5
Add automatic heading id if you don't specify one 2019-10-20 16:44:32 +01:00
a0d28c280f
Bump version of modules 2019-10-20 16:01:13 +01:00
ab033c7fd3
Bugfix: Fix internal theme reset button 2019-10-20 01:25:02 +01:00
cc5f7561b0
Add reset to internal default theme button, but there's some weirdness going on. 2019-10-20 01:19:35 +01:00
6213a6e715
Refactor login code a bit to reduce nesting 2019-10-07 18:19:48 +01:00
d6d89e3d9f
Implement initial theme update UI logic.
Looks like we have Unicode issues though :-/
2019-10-07 17:14:28 +01:00
4f5a81f65b
Add confirmation before gallery HTTP requests 2019-10-07 16:43:35 +01:00
6696e90d9c
[theme gallery] Finish implementing theme_update(), but it's untested 2019-09-29 16:18:03 +01:00
a239f5c044
Add alteration warning to theme gallery above change theme button 2019-09-29 15:43:03 +01:00
988038f599
Add link to theme gallery in master settings 2019-09-29 15:42:48 +01:00
6f4d47b2bb
Update credits again 2019-09-21 21:20:22 +01:00
9b1f441898
Add @SeamFromIT to the credits 2019-09-21 21:19:55 +01:00
aea1255f10
Bugfix: Return correct type in StorageBox::delete() 2019-09-21 21:05:14 +01:00
8d9491cb55
Bugfix: Fix footnote rendering (thanks again, @SeanFromIT!) 2019-09-21 11:35:50 +01:00
c8aa3b8692
Bugfix: Revision counters for new pages didn't tick upwards 2019-09-19 08:59:29 +01:00
f7943365d5
Squash warnings from file_get_contents in the peppermint.json access check 2019-09-18 11:28:47 +01:00
2198755af8
Add secret GET param to debug action 2019-09-11 20:21:21 +01:00
157c6dabdd
If it's a list of strings, then it should be sorted correctly. 2019-09-03 18:16:01 +01:00
29c62c4bbf
Bugfix: Support uncode when sorting all tags 2019-09-03 13:16:52 +01:00
80cdb40fb2
Sort page lists in list-tags action 2019-09-03 13:14:22 +01:00
e570427469
Document new theme_update() function 2019-09-01 21:20:10 +01:00
e708220bc6
Implement some theme update logic, but it's unfinished. 2019-09-01 21:18:14 +01:00
f4275373d9
Update parsedown 2019-08-30 13:29:15 +01:00
0427f8818f
Mess with adding parsedown extreme, but it's not finished yet 2019-08-29 00:15:19 +01:00
eb551708b5
Fix theme gallery submission system 2019-08-26 21:00:38 +01:00
a606dbdc2d
Style the new theme gallery 2019-08-26 16:31:30 +01:00
e85f480e63
Sort themes before display 2019-08-26 15:48:37 +01:00
c96e3108aa
Set user agent string when making requests 2019-08-26 15:27:24 +01:00
26c3a4d0a2
Wire the theme index into the gallery ui, but it's still untested.
Part of #5.
2019-08-26 13:16:13 +01:00
98c94a2b59
Start working on theme index, but screenshotting isn't finished yet 2019-08-25 18:12:08 +01:00
2fa867e6ef
Bump page-help version 2019-08-24 21:56:02 +01:00
f160a82063
Add note to search page linking to query syntax on help page 2019-08-24 20:47:41 +01:00
dc63d98925
Add table of contents to help page 2019-08-24 20:05:06 +01:00
da5b3a5df8
Do some documentation work, and add missing help sections 2019-08-24 19:56:14 +01:00
e773e36de5
Tweak stas-parse action output 2019-08-23 01:29:11 +01:00
632375417d
Add apiDoc comment 2019-08-23 01:27:35 +01:00
e6ba31df23
Add debug stas-parse action 2019-08-23 01:24:17 +01:00
276b4c808f
Add STAS parsing to query-searchindex output 2019-08-23 00:51:39 +01:00
4d51ae924e
Fix intitle: & intags: syntax - game, set, match. 2019-08-22 22:23:30 +01:00
9505e0653e
Fix some mroe odd bugs in the new search system 2019-08-22 22:11:09 +01:00
edf1be5801
Fix a *huge* number of bugs in the new search system, but it's not ready just yet 2019-08-22 21:38:17 +01:00
e08e775d98
Finish refactoring invindex_query 2019-08-22 17:43:14 +01:00
b93dd3d9cc
Start refactoring query_invindex & rename it to invindex_query
....but of course it's not finished yet. We're doing well, but there are 
a few thorny issues to go.

Mainly: We need to seriously optimise ids::getpagename(), 'cause we'll 
need it a *lot* when we get to implementing the size, before, and after 
colon : directives.
2019-08-18 21:25:48 +01:00
ce6df06817
Start refactoring the search system to use a new key-value store backend
....but it's not finished yet.

It should improve performance significantly when it's done & optimised, 
as we won't have to load the entire search index into memory & decode it 
just to perform a single query.
2019-08-18 18:52:29 +01:00
38badd3c1f
[search] Add StorageBox.php as an extra data file
It's time to refactor the search system to use an SQLite-backed 
key-value data store. It's just a shame that something designed for this 
like LevelDB / RocksDB doesn't have a PHP package that we can use :-/

We can always switch later, I suppose.
2019-08-17 20:47:51 +01:00
7088990027
Minor code formatting 2019-08-17 01:19:04 +01:00
5609506def
minor formatting 2019-08-16 01:14:38 +01:00
127270ff89
Bugfix: Correct search query performance metrics 2019-08-15 23:46:23 +01:00
ddc36bf48e
Remove commented code 2019-08-15 23:17:33 +01:00
0a5ba3ff59
Improve search invindex alteration performance
This will be especially noticable when using invindex-rebuild
2019-08-15 23:06:06 +01:00
a67b67817f
[upload] Make comments serenata-compatible 2019-08-15 22:55:50 +01:00
bc0c5de9e7
Merge branch 'master' of github.com:sbrl/Pepperminty-Wiki 2019-08-14 01:19:11 +01:00
425203e0ec
Smal comment update.
Be the first to check out the new STA system in development! 
https://repl.it/@sbrl/Peppermint-STAS

STAS: Search Term Analysis System

It's currently being tested externally, before being folded into 
Pepperminty Wiki itself. Want a feature that's currently missing? Get in 
touch!
2019-08-14 01:18:53 +01:00
411d03da27
[apidoc] Bugfix @apiVersion directives 2019-08-09 12:44:22 +01:00
a12e00ef73
typo in comment 2019-08-08 18:36:51 +01:00
b6a986a075
[apidoc] @since -> @apiVersion 2019-08-08 18:32:24 +01:00
2c474b3ec5
[apidoc] Bugfix: correct typo 2019-08-08 18:29:49 +01:00
7df4c51834
Add download button for unsupported file types 2019-06-01 21:37:35 +01:00
02bc1ea7a2
Implement initial pdf preview 2019-06-01 20:25:44 +01:00
a5572bcbd4
Squash a warning when uploading a file 2019-06-01 19:57:03 +01:00
712e95474c
Minify the pageindex by default, but also add a setting to control this 2019-06-01 15:55:48 +01:00
fb25845d8c
file upload: fix help text 2019-05-24 21:50:27 +01:00
f14fd23da5
Add force-redirect to firstrun action, and option to disable access check (NOT RECOMMENDED) 2019-05-11 22:52:55 +01:00
a49ccccbcc
Handle pre-existing wikis 2019-05-11 15:39:55 +01:00
0333c1a4d4
Check if peppermint.json is accessible from the web 2019-05-11 13:06:19 +01:00
cc82adf23d
firstrun: Fix filter_var call 2019-05-11 12:54:09 +01:00
215c0d41ef
Require the site secret to use the first-run installer 2019-05-11 12:51:22 +01:00
1dc0438a18
Work more on the first-run installer, but it's not finished yet 2019-05-11 12:45:02 +01:00
e37541d606
Add a more obvious link to the user table at the top of the master settings page 2019-05-11 12:44:28 +01:00
1367641b58
Bugfix: Fix crash when trying to access the user table when not logged in as an admin.
Thanks, @Gert-dev for php-ide-serenata!
2019-05-11 12:41:43 +01:00
0e8a27e7f7
Improve comments 2019-05-11 12:13:06 +01:00
a25767432a
Add todo 2019-05-11 00:35:47 +01:00
1d6409128d
Start work on a simpler first-run wizard, but it's not finished yet.
Hopefully this one will be more successful than the last attempt :P
2019-05-11 00:35:17 +01:00
50efd4bb49
Bump versions 2019-05-06 23:48:34 +01:00
4e801c4692
Bugfix: Consolidate user->email & user->emailAddress.
Also add an auto-migrator on login.

Fixes #167
2019-05-06 23:44:38 +01:00
f3d797695e
Bugfix: Don't crash when updating stats if no pages have any tags yet 2019-05-06 20:31:08 +01:00
c177b66b42
Bugfix: Don't throw a warning if the search index doesn't exist yet 2019-05-06 20:22:36 +01:00
017281375d
Bugfix: Return templates as rawHtml instead of text to avoid double-escaping rendered html 2019-03-02 22:07:58 +00:00
3dcb8b5b1e
Update parser engine to handle comments as untrusted 2019-03-02 21:59:50 +00:00
4f9f1a6cf9
Add support for core sharding to build script 2019-03-02 21:13:41 +00:00
4de995761d
Fix a bunch of serenata errors 2019-03-02 13:49:12 +00:00
d6c56feb1d
Download extra files in the pseudo-module_register(), and then pack 'em in the packer 2019-03-02 13:32:12 +00:00
501d6a1c9c
Assume that the extra data directory exists in modules.
We can get the module registration system to automatically prepare the 
requested files
2019-03-02 13:04:30 +00:00
7cd57c894f
Use a clever hack to get the file descriptor of the ZipArchive and peel the data out.
Not sure if it'll work yet though, as we've run into a bit of a snag 
with the module loading.....
2019-03-02 12:24:11 +00:00
e93417f171
Start working on a new extra_data system, but it's not finished yet.
Warning: Everything's broken! If you want to use the latest master, please use the commit before this one.
2019-02-26 23:01:09 +00:00
a3330829cb
Bump module versions & go over documentation comments 2019-02-10 23:18:34 +00:00
0f79a8ec13
Bugfix new cache id system 2019-02-10 23:08:16 +00:00
a5563bb458
Add title to internal links, and refactor page cache id generation 2019-02-10 23:01:01 +00:00
97c9fdbda9
Bugfix: Link to user pages correctly in the recent changes feed 2019-02-03 16:35:38 +00:00
d51c3f163f
Bugfix: Include uploaded files when exporting 2019-01-31 21:41:13 +00:00
dc860acfd3
Tidy up page-view module code 2019-01-30 21:34:24 +00:00
1cb30b28ca
Bugfix & put page_renderer::add_header_html to use 2019-01-27 23:12:39 +00:00
5b670f5981
Refactor method names in page renderer 2019-01-27 22:56:51 +00:00
1765f410e6
[recent-changes] Add new page size & size difference 2019-01-24 23:54:27 +00:00
91a9c44b8f
Bugfix: Don't throw warnings if interwiki links aren't configured 2019-01-24 23:47:43 +00:00
14a7040646
Advertise recent changes alternate formats 2019-01-24 21:15:23 +00:00
524efcc43d
Add helpful comment for the future 2019-01-24 20:56:25 +00:00
33153094b1
Bugfix find_revisionid_timestamp 2019-01-24 20:51:23 +00:00
5da517fbe1
Bugfix recent changes atom feed 2019-01-24 20:47:16 +00:00
96b632ff56
Recent changes: Implement atom feed. Untested! 2019-01-24 20:30:20 +00:00
242f197ccf
Add offset & count to recent-changes action 2019-01-24 18:25:10 +00:00
e715c2049f
Add CSV support to the recent-changes action 2019-01-24 18:18:20 +00:00
a541a0cac0
Add more to interwiki links help section 2019-01-05 22:13:42 +00:00
79ee2455e9
Fill out interwiki help section 2019-01-05 22:11:28 +00:00
08a0cf2c2e
Formatting 2019-01-05 21:44:24 +00:00
3592a132e9
Fix a bunch of bugs with the new interwiki module 2019-01-05 21:28:47 +00:00
fafd5f6f03
Bugfix: Insert missing $ sign 2019-01-05 17:55:59 +00:00
4cb1abb231
Change {{{@}}} to output a message instead of not parsing at all 2019-01-05 17:51:51 +00:00
ba324ed814
Document the internal link syntax.
Next up: Testing it all I think!
2019-01-05 17:48:27 +00:00
76263f770c
Make interwiki_* functions not crash if the interwiki index hasn't been configured yet 2019-01-05 17:10:46 +00:00
4bf7881e5c
[parser] Simplify code by removing if statement 2019-01-05 16:23:12 +00:00
08ff3772b3
Add is_interwiki_link method 2019-01-05 13:04:52 +00:00
075b2e0966
Create initial interwiki link API.
New functions:
 - interwiki_pagename_parse
 - interwiki_pagename_resolve
 - interwiki_get_pagename_url
2019-01-03 22:34:55 +00:00
8a07cee077
Fix build error 2019-01-03 20:46:31 +00:00
9f7d044bf4
Throw not implemented exception 2019-01-02 23:58:13 +00:00
f9995072e1
Start writing interwiki module, but it's not finished yet 2019-01-01 18:53:30 +00:00
77112ec7d3
Bump version & update changelog 2018-10-31 16:38:56 +00:00
3a2d74227d
Bugfix: Set the history revision number 0 if no previous revisions exist
(Thanks again, @tspivey!)
2018-10-31 16:36:37 +00:00
e0278bb5fd
Add credit to @tspivey for more bug reports 2018-10-31 15:10:13 +00:00
f69c74fcd0
It's time for v0.17! 😺 🎆 2018-10-20 17:25:12 +01:00
197d065266
Restrict new hidden hash-cost-test action to moderators or better 2018-09-30 14:50:35 +01:00
57ec8b82b5
Bugfix: Fix inadvertent cost-climbing when recalculating the password hashing cost 2018-09-30 14:47:54 +01:00
a235a99ff3
Bugfix: Pressing enter in the tag box now previews again 2018-09-30 11:35:41 +01:00
c7d7de3d7e
Don't include semicolons in greedy internal links 2018-09-29 23:40:23 +01:00
39098ac0fb
Display an ellipsis at the beginning of a search context if it doesn't start at the beginning of a page 2018-09-29 13:32:17 +01:00
24775724d1
Bugfix: Correctly calculate the end offset of search context snippets 2018-09-29 13:27:17 +01:00
284b404946
Typos in comments 2018-09-12 21:27:51 +01:00
b613d2b2dc
Add moar icons to nav & more menus 2018-07-03 12:54:57 +01:00
3581cc1437
Handle reversions in recent changes - for #78 2018-07-03 12:28:01 +01:00
b31301be38
Implement history_max_revisions setting 2018-07-03 12:15:16 +01:00
819489a7fb
Bugfix: Correct is logged in check when restoring page revisions 2018-07-03 11:57:53 +01:00
6e7698b4a9
Bugfix: Display all revisions on page history page 2018-07-03 11:54:54 +01:00
fffadb829a
Add history-revert action, but it isn't tested yet. 2018-07-02 23:44:10 +01:00
2853cf4da5
Add link to user table on credits page
Also fix a typo in the API status module description
2018-07-02 12:23:11 +01:00
10b374871f
Improve image caption help text 2018-07-01 20:56:08 +01:00
0e3104415a
Add random_page_exclude_redirects setting - fixes #159 2018-07-01 13:33:42 +01:00
31d555f482
Bump version of search module 2018-07-01 12:14:06 +01:00
1f6f780177
Restyle matching tags in search results 2018-06-30 11:46:07 +01:00
8955d6d131
Save the character offset, not the token offset in the inverted index 2018-06-30 11:19:38 +01:00
cdee30c286
Add $capture_offsets option to tokenize().
TODO: Utilise this in the indexer & update the changelog mentioning that
_all_ inverted indexes will need to be rebuilt
2018-06-30 00:08:57 +01:00
8403ffd5c3
Bugfix: Increment $i when we hit a stop word when indexing.
There's also another bug here - in that the offsets generated contain
are the index in the array of tokens, when we need it to be the index in
the source text!
2018-06-29 23:51:10 +01:00