|  | ac793c6d39 | handlers: HandlerPageView: Add '[dynamic:postlist]' tag by callback | 2022-03-27 08:37:55 +02:00 |  | 
			
				
					|  | a524674149 | Begin dynamic content generators | 2022-03-27 08:36:25 +02:00 |  | 
			
				
					|  | a4a45d9add | Parser: Add callback support for unknown "tags" | 2022-03-27 08:31:59 +02:00 |  | 
			
				
					|  | 44c27ed8b4 | Template: Make loadResolvedPart() public | 2022-03-27 08:30:51 +02:00 |  | 
			
				
					|  | 433b5da2bb | template: Adjust after renaming: Use utils::toISODateTime() | 2022-03-27 08:30:20 +02:00 |  | 
			
				
					|  | c5435c52f4 | utils: Rename/Add date functions | 2022-03-27 08:29:13 +02:00 |  | 
			
				
					|  | b2a7ea4031 | Parser: Take 'content' by const reference. | 2022-01-23 10:12:37 +01:00 |  | 
			
				
					|  | 1d5bf80710 | HandlerPageView: Add [cmd:pagetitle] to set custom per-page titles | 2022-01-23 10:02:46 +01:00 |  | 
			
				
					|  | ca0c8a94fb | sandbox: Use exile.h vow promises | 2021-12-29 11:13:47 +01:00 |  | 
			
				
					|  | 5870102aa9 | submodules: cpp-httplib: Update to v0.10.1 | 2021-12-29 11:13:05 +01:00 |  | 
			
				
					|  | 32544c8f68 | submodules: cpp-httplib: Update module | 2021-12-02 10:15:36 +01:00 |  | 
			
				
					|  | d0e7ff0a8c | sandbox: Switch to exile.h (former qssb.h) | 2021-12-02 10:15:11 +01:00 |  | 
			
				
					|  | 696ff9b7e7 | sandbox: Allow TIME group | 2021-12-02 10:06:21 +01:00 |  | 
			
				
					|  | 5570154113 | fscache: Fix starts_with() broken by b41a5f4e5b | 2021-11-30 19:14:59 +01:00 |  | 
			
				
					|  | 4f6bcd27b4 | sandbox: Sync iwth qssb.h upstream: Use whitelisting and groups | 2021-11-14 21:54:08 +01:00 |  | 
			
				
					|  | bbe74a2c50 | handlers: HandlerSearch: Add missing call to setGeneralVars() | 2021-11-14 21:54:08 +01:00 |  | 
			
				
					|  | 5db9305408 | template: display headers inline (backport from production) | 2021-11-14 21:54:08 +01:00 |  | 
			
				
					|  | c90e26a374 | template: Remove space between header links | 2021-10-26 23:22:05 +02:00 |  | 
			
				
					|  | b297498ca9 | template: Don't render searchbar in portrait. Show link instead Issue: #18 | 2021-10-26 23:07:37 +02:00 |  | 
			
				
					|  | fdcef18861 | HandlerSearch: Render a form when no q= given | 2021-10-26 23:07:37 +02:00 |  | 
			
				
					|  | 75268e0073 | sandbox: Disable Landlock due to qssb.h issue #19 | 2021-10-26 23:07:37 +02:00 |  | 
			
				
					|  | cc4506b918 | submodules: sync with latest upstream | 2021-10-26 10:47:02 +02:00 |  | 
			
				
					|  | 017932e673 | Fix -wreturn-type warnings | 2021-10-25 18:13:25 +02:00 |  | 
			
				
					|  | ed61003636 | C++20: Avoid implicit capture | 2021-10-25 18:09:46 +02:00 |  | 
			
				
					|  | ad42c0f046 | handlers: HandlerPageEdit: canAccess(): Check with effectivePermisisons() | 2021-10-25 18:07:23 +02:00 |  | 
			
				
					|  | 6304554358 | Add [[maybe_unused]] to silence unhelpful warnings | 2021-10-25 17:56:37 +02:00 |  | 
			
				
					|  | 0aa4bca6cc | Fix gcc-11 etc. compilation errors | 2021-10-25 13:31:40 +02:00 |  | 
			
				
					|  | b41a5f4e5b | fscache: removePrefix(): use starts_with() | 2021-10-19 15:07:10 +02:00 |  | 
			
				
					|  | 873401694e | Remove utils::hasKey(), as we now have .contains() | 2021-10-19 12:48:45 +02:00 |  | 
			
				
					|  | d035579da7 | Makefile: Switch to C++20 | 2021-10-19 12:47:57 +02:00 |  | 
			
				
					|  | eb292a7d79 | CategoryDaoSqlite: deleteCategory(): Fix broken query | 2021-10-12 20:10:35 +02:00 |  | 
			
				
					|  | 420e541e75 | CLI: Implement category delete,show,list | 2021-10-12 20:02:43 +02:00 |  | 
			
				
					|  | c18178a50f | SqliteQueryOption: build(): Handle includeInvisible = true properly | 2021-10-12 20:02:03 +02:00 |  | 
			
				
					|  | 7a2f15cabe | handlers: Introduce HandlerVersion to return the verison string | 2021-10-10 22:39:35 +02:00 |  | 
			
				
					|  | c9dc3416d7 | TemplatePage: Change 'content' to shared_ptr | 2021-10-10 22:32:13 +02:00 |  | 
			
				
					|  | 92be470545 | Makefile: Remove LDFLAGS from .o compilation | 2021-10-10 20:17:38 +02:00 |  | 
			
				
					|  | d5485a833f | CLIConsole: On 'exit', ask whether to quit attached instance | 2021-10-10 20:15:28 +02:00 |  | 
			
				
					|  | 0bdb22c170 | gateway: HttpGateway: convertRequest(): Don't convert param to std::string | 2021-10-10 20:15:28 +02:00 |  | 
			
				
					|  | eb49b013a7 | Makefile: Add profile target | 2021-10-10 20:15:28 +02:00 |  | 
			
				
					|  | 9593429f95 | utils: trim(): Take string_view | 2021-10-10 20:15:28 +02:00 |  | 
			
				
					|  | 86ac86b83f | Response: addHeader(): Pass by value, not reference | 2021-10-10 20:15:28 +02:00 |  | 
			
				
					|  | 92e7390056 | utils: Pass by value where it makes sense | 2021-10-10 20:15:28 +02:00 |  | 
			
				
					|  | b1a8572eb6 | utils: hasKey(), getKeyOrEmpty(), getAll(): Take params as references Somehow, the fact that multimap was being copyied slipped through. | 2021-10-10 20:15:28 +02:00 |  | 
			
				
					|  | 44ade88cae | Template: createPage(): Take std::string_view | 2021-10-10 20:15:28 +02:00 |  | 
			
				
					|  | aadb623bf7 | UserDaoSqlite: Remove redundant std::move | 2021-10-08 23:38:22 +02:00 |  | 
			
				
					|  | 828d827c3d | Adjust to new Template::getPage() returning value, not reference | 2021-10-08 00:11:58 +02:00 |  | 
			
				
					|  | 8ffa64beea | Template: Use MapCache, getPage(): Return value, not reference | 2021-10-08 00:11:30 +02:00 |  | 
			
				
					|  | e970ba1682 | cache: MapCache: Introduce MapCache, thread-safe cache (key/value store) | 2021-10-08 00:08:00 +02:00 |  | 
			
				
					|  | b59e81a41d | CLI: Begin 'page' and 'pageperms' commands | 2021-10-05 21:57:20 +02:00 |  | 
			
				
					|  | f002969cc1 | PermissionsDao: Add save() | 2021-10-05 21:51:31 +02:00 |  |