make html <title></title> configurable
This commit is contained in:
父節點
7fc9c090ed
當前提交
1c646fa165
11
config.cpp
11
config.cpp
@ -18,10 +18,12 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
*/
|
||||
#include "config.h"
|
||||
#include "permissions.h"
|
||||
|
||||
#include <exception>
|
||||
#include <iostream>
|
||||
#include "config.h"
|
||||
#include "permissions.h"
|
||||
#include "varreplacer.h"
|
||||
std::string Config::required(const std::string &key)
|
||||
{
|
||||
auto it = this->configmap.find(key);
|
||||
@ -99,6 +101,7 @@ Config::Config(const std::map<std::string, std::string> &map)
|
||||
this->handlersConfig.max_pagename_length = optional("max_pagename_length", 256);
|
||||
this->session_max_lifetime = optional("session_max_lifetime", 3600);
|
||||
this->handlersConfig.query_limit = optional("query_limit", 200);
|
||||
this->handlersConfig.page_title_template = optional("page_title_template", "{title} - {wikiname}");
|
||||
this->threadscount = optional("threadscount", 1);
|
||||
|
||||
this->handlersConfig.anon_permissions = Permissions(required("anon_permissions"));
|
||||
@ -109,6 +112,10 @@ Config::Config(const std::map<std::string, std::string> &map)
|
||||
|
||||
ConfigVariableResolver resolver{this->configmap};
|
||||
this->configVarResolver = resolver;
|
||||
|
||||
Varreplacer replacer("{");
|
||||
replacer.addKeyValue("wikiname", this->handlersConfig.wikiname);
|
||||
this->handlersConfig.page_title_template = replacer.parse(this->handlersConfig.page_title_template);
|
||||
}
|
||||
|
||||
ConfigReader::ConfigReader(const std::string &file)
|
||||
|
1
config.h
1
config.h
@ -13,6 +13,7 @@ struct HandlerConfig
|
||||
Permissions anon_permissions;
|
||||
std::string wikiname;
|
||||
std::string anon_username;
|
||||
std::string page_title_template;
|
||||
int max_pagename_length;
|
||||
int query_limit;
|
||||
};
|
||||
|
@ -43,9 +43,11 @@ Response Handler::errorResponse(std::string errortitle, std::string errormessage
|
||||
return {status, error.render()};
|
||||
}
|
||||
|
||||
std::string Handler::createPageTitle(std::string append)
|
||||
std::string Handler::createPageTitle(std::string title)
|
||||
{
|
||||
return this->handlersConfig->wikiname + " - " + append; // TODO: we might wanna make the format configurable
|
||||
Varreplacer replacer("{");
|
||||
replacer.addKeyValue("title", title);
|
||||
return replacer.parse(this->handlersConfig->page_title_template);
|
||||
}
|
||||
|
||||
QueryOption Handler::queryOption(const Request &r) const
|
||||
|
載入中…
新增問題並參考
Block a user