hemplate

Simple XML template engine
git clone git://git.dimitrijedobrota.com/hemplate.git
Log | Files | Refs | README | LICENSE | HACKING | CONTRIBUTING | CODE_OF_CONDUCT | BUILDING

commit ee98b9c229f2c28adaa21872a0b72d1b4869b26b
parent 98d956c2a2f6c96dff5b0aa4f0c7934ed57c9bb6
author Dimitrije Dobrota <mail@dimitrijedobrota.com>
date Mon, 24 Jun 2024 18:50:29 +0200

Add RSS and Atom classes under namespace

Diffstat:
M .clang-tidy | + -
M include/hemplate/classes.hpp | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -
M test/source/hemplate_test.cpp | ++++++ ------

3 files changed, 76 insertions(+), 8 deletions(-)


diff --git a/ .clang-tidy b/ .clang-tidy

@@ -147,7 +147,7 @@ CheckOptions: - key: 'readability-identifier-naming.TemplateTemplateParameterCase' value: 'CamelCase' - key: 'readability-identifier-naming.TypeAliasCase'
value: 'lower_case'
value: 'camelBack'
- key: 'readability-identifier-naming.TypedefCase' value: 'lower_case' - key: 'readability-identifier-naming.TypeTemplateParameterCase'

diff --git a/ include/hemplate/classes.hpp b/ include/hemplate/classes.hpp

@@ -6,6 +6,8 @@ #include "hemplate/elementBoolean.hpp" #include "hemplate/hemplate_export.hpp"
namespace hemplate {
template<std::size_t N> struct string_literal {

@@ -27,7 +29,7 @@ struct tag static char const* get_name() { return Name.data(); } };
namespace hemplate {
namespace html {
using a = elementBoolean<tag<"a">>; using abbr = elementBoolean<tag<"abbr">>;

@@ -142,4 +144,70 @@ using var = elementBoolean<tag<"var">>; using video = elementBoolean<tag<"video">>; using wbr = elementAtomic<tag<"wbr">>;
} // namespace html
namespace rss {
using author = elementBoolean<tag<"author">>;
using category = elementBoolean<tag<"category">>;
using cloud = elementAtomic<tag<"cloud">>;
using comments = elementBoolean<tag<"comments">>;
using copyright = elementBoolean<tag<"copyright">>;
using description = elementBoolean<tag<"description">>;
using docs = elementBoolean<tag<"docs">>;
using enclosure = elementAtomic<tag<"enclosure">>;
using generator = elementBoolean<tag<"generator">>;
using guid = elementBoolean<tag<"guid">>;
using height = elementBoolean<tag<"height">>;
using image = elementBoolean<tag<"image">>;
using language = elementBoolean<tag<"language">>;
using lastBuildDate = elementBoolean<tag<"lastBuildDate">>;
using link = elementBoolean<tag<"link">>;
using managingEditor = elementBoolean<tag<"managingEditor">>;
using name = elementBoolean<tag<"name">>;
using pubDate = elementBoolean<tag<"pubDate">>;
using rating = elementBoolean<tag<"rating">>;
using skipDays = elementBoolean<tag<"skipDays">>;
using skipHours = elementBoolean<tag<"skipHours">>;
using source = elementBoolean<tag<"source">>;
using textinput = elementBoolean<tag<"textinput">>;
using title = elementBoolean<tag<"title">>;
using ttl = elementBoolean<tag<"ttl">>;
using url = elementBoolean<tag<"url">>;
using webMaster = elementBoolean<tag<"webMaster">>;
using width = elementBoolean<tag<"width">>;
using atomLink = elementAtomic<tag<"atom:link">>;
} // namespace rss
namespace atom {
using author = elementBoolean<tag<"author">>;
using category = elementBoolean<tag<"category">>;
using content = elementBoolean<tag<"content">>;
using contributor = elementBoolean<tag<"contributor">>;
using div = elementBoolean<tag<"div">>;
using entry = elementBoolean<tag<"entry">>;
using feed = elementBoolean<tag<"feed">>;
using generator = elementBoolean<tag<"generator">>;
using icon = elementBoolean<tag<"icon">>;
using id = elementBoolean<tag<"id">>;
using intervalBlock = elementBoolean<tag<"intervalBlock">>;
using link = elementBoolean<tag<"link">>;
using logo = elementBoolean<tag<"logo">>;
using meterReading = elementBoolean<tag<"meterReading">>;
using name = elementBoolean<tag<"name">>;
using published = elementBoolean<tag<"published">>;
using readingType = elementBoolean<tag<"readingType">>;
using rights = elementBoolean<tag<"rights">>;
using source = elementBoolean<tag<"source">>;
using subtitle = elementBoolean<tag<"subtitle">>;
using summary = elementBoolean<tag<"summary">>;
using title = elementBoolean<tag<"title">>;
using update = elementBoolean<tag<"update">>;
using updated = elementBoolean<tag<"updated">>;
using usagePoint = elementBoolean<tag<"usagePoint">>;
} // namespace atom
} // namespace hemplate

diff --git a/ test/source/hemplate_test.cpp b/ test/source/hemplate_test.cpp

@@ -11,15 +11,15 @@ int main() {"class", "home_ul"}, {"style", "margin-bottom: 1em"}});
std::cout << html() << std::endl;
std::cout << ul("Won't see", ul_attrs)
std::cout << html::html() << std::endl;
std::cout << html::ul("Won't see", ul_attrs)
.set("style", "margin-top: 1em") .set("class", "center")
.add(li("Item 1", li_attrs).set("class", "item1"))
.add(li("Item 2", li_attrs).set("class", "item2"))
.add(html::li("Item 1", li_attrs).set("class", "item1"))
.add(html::li("Item 2", li_attrs).set("class", "item2"))
<< std::endl;
std::cout << meta() << std::endl;
std::cout << html() << std::endl;
std::cout << html::meta() << std::endl;
std::cout << html::html() << std::endl;
return 0; }