aboutsummaryrefslogtreecommitdiff
path: root/mod/page
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2017-04-29 23:55:46 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2017-04-30 23:57:17 +0300
commit8f3d3956b1e837c726859eb8bbe19dad79c54a42 (patch)
tree81ded52db212b12c7f685165702cce90aa0233cf /mod/page
parentea60a6df471706a0eeb5ff1f774d69abe89e4bc9 (diff)
Add hxx extension for headers and lib prefix for library dirs
Diffstat (limited to 'mod/page')
-rw-r--r--mod/page428
1 files changed, 0 insertions, 428 deletions
diff --git a/mod/page b/mod/page
deleted file mode 100644
index a7aaf1b..0000000
--- a/mod/page
+++ /dev/null
@@ -1,428 +0,0 @@
-// file : mod/page -*- C++ -*-
-// copyright : Copyright (c) 2014-2017 Code Synthesis Ltd
-// license : MIT; see accompanying LICENSE file
-
-#ifndef MOD_PAGE
-#define MOD_PAGE
-
-#include <xml/forward>
-
-#include <web/xhtml-fragment>
-
-#include <brep/types>
-#include <brep/utility>
-
-#include <brep/package>
-
-#include <mod/options-types> // page_menu
-
-namespace brep
-{
- // Page common building blocks.
- //
-
- // Generates CSS link elements.
- //
- class CSS_LINKS
- {
- public:
- CSS_LINKS (const path& p, const dir_path& r): path_ (p), root_ (r) {}
-
- void
- operator() (xml::serializer&) const;
-
- private:
- const path& path_;
- const dir_path& root_;
- };
-
- // Generates page header element.
- //
- class DIV_HEADER
- {
- public:
- DIV_HEADER (const dir_path& root,
- const web::xhtml::fragment& logo,
- const vector<page_menu>& menu):
- root_ (root), logo_ (logo), menu_ (menu) {}
-
- void
- operator() (xml::serializer&) const;
-
- private:
- const dir_path& root_;
- const web::xhtml::fragment& logo_;
- const vector<page_menu>& menu_;
- };
-
- // Generates package search form element.
- //
- class FORM_SEARCH
- {
- public:
- FORM_SEARCH (const string& q): query_ (q) {}
-
- void
- operator() (xml::serializer&) const;
-
- private:
- const string& query_;
- };
-
- // Generates counter element.
- //
- // It could be redunant to distinguish between singular and plural word forms
- // if it wouldn't be so cheap in English, and phrase '1 Packages' wouldn't
- // look that ugly.
- //
- class DIV_COUNTER
- {
- public:
- DIV_COUNTER (size_t c, const char* s, const char* p)
- : count_ (c), singular_ (s), plural_ (p) {}
-
- void
- operator() (xml::serializer&) const;
-
- private:
- size_t count_;
- const char* singular_;
- const char* plural_;
- };
-
- // Generates package name element.
- //
- class TR_NAME
- {
- public:
- TR_NAME (const string& n, const string& q, const dir_path& r)
- : name_ (n), query_param_ (q), root_ (r) {}
-
- void
- operator() (xml::serializer&) const;
-
- private:
- const string& name_;
- const string& query_param_;
- const dir_path& root_;
- };
-
- // Generates package version element.
- //
- class TR_VERSION
- {
- public:
- // Display the version as a link to the package version details page.
- //
- TR_VERSION (const string& p, const version& v, const dir_path& r)
- : package_ (&p),
- version_ (v.string ()),
- stub_ (v.compare (wildcard_version, true) == 0),
- root_ (&r)
- {
- }
-
- // Display the version as a regular text.
- //
- TR_VERSION (const version& v)
- : package_ (nullptr),
- version_ (v.string ()),
- stub_ (v.compare (wildcard_version, true) == 0),
- root_ (nullptr)
- {
- }
-
- void
- operator() (xml::serializer&) const;
-
- private:
- const string* package_;
- string version_;
- bool stub_;
- const dir_path* root_;
- };
-
- // Generates package summary element.
- //
- class TR_SUMMARY
- {
- public:
- TR_SUMMARY (const string& s): summary_ (s) {}
-
- void
- operator() (xml::serializer&) const;
-
- private:
- const string& summary_;
- };
-
- // Generates package license alternatives element.
- //
- class TR_LICENSE
- {
- public:
- TR_LICENSE (const license_alternatives& l): licenses_ (l) {}
-
- void
- operator() (xml::serializer&) const;
-
- private:
- const license_alternatives& licenses_;
- };
-
- // Generates package license alternatives elements. Differs from TR_LICENSE
- // by producing multiple rows instead of a single one.
- //
- class TR_LICENSES
- {
- public:
- TR_LICENSES (const license_alternatives& l): licenses_ (l) {}
-
- void
- operator() (xml::serializer&) const;
-
- private:
- const license_alternatives& licenses_;
- };
-
- // Generates package tags element.
- //
- class TR_TAGS
- {
- public:
- TR_TAGS (const strings& ts, const dir_path& r): tags_ (ts), root_ (r) {}
-
- void
- operator() (xml::serializer&) const;
-
- private:
- const strings& tags_;
- const dir_path& root_;
- };
-
- // Generates package dependencies element.
- //
- class TR_DEPENDS
- {
- public:
- TR_DEPENDS (const dependencies& d, const dir_path& r)
- : dependencies_ (d), root_ (r) {}
-
- void
- operator() (xml::serializer&) const;
-
- private:
- const dependencies& dependencies_;
- const dir_path& root_;
- };
-
- // Generates package requirements element.
- //
- class TR_REQUIRES
- {
- public:
- TR_REQUIRES (const requirements& r): requirements_ (r) {}
-
- void
- operator() (xml::serializer&) const;
-
- private:
- const requirements& requirements_;
- };
-
- // Generates url element.
- //
- class TR_URL
- {
- public:
- TR_URL (const url& u, const char* l = "url"): url_ (u), label_ (l) {}
-
- void
- operator() (xml::serializer&) const;
-
- private:
- const url& url_;
- const char* label_;
- };
-
- // Generates email element.
- //
- class TR_EMAIL
- {
- public:
- TR_EMAIL (const email& e, const char* l = "email")
- : email_ (e), label_ (l) {}
-
- void
- operator() (xml::serializer&) const;
-
- private:
- const email& email_;
- const char* label_;
- };
-
- // Generates package version priority element.
- //
- class TR_PRIORITY
- {
- public:
- TR_PRIORITY (const priority& p): priority_ (p) {}
-
- void
- operator() (xml::serializer&) const;
-
- private:
- const priority& priority_;
- };
-
- // Generates repository name element.
- //
- class TR_REPOSITORY
- {
- public:
- TR_REPOSITORY (const string& n, const dir_path& r)
- : name_ (n), root_ (r) {}
-
- void
- operator() (xml::serializer&) const;
-
- private:
- const string& name_;
- const dir_path& root_;
- };
-
- // Generates repository location element.
- //
- class TR_LOCATION
- {
- public:
- TR_LOCATION (const repository_location& l): location_ (l) {}
-
- void
- operator() (xml::serializer&) const;
-
- private:
- const repository_location& location_;
- };
-
- // Generates package download URL element.
- //
- class TR_DOWNLOAD
- {
- public:
- TR_DOWNLOAD (const string& u): url_ (u) {}
-
- void
- operator() (xml::serializer&) const;
-
- private:
- const string& url_;
- };
-
- // Generates sha256sum element.
- //
- class TR_SHA256SUM
- {
- public:
- TR_SHA256SUM (const string& s): sha256sum_ (s) {}
-
- void
- operator() (xml::serializer&) const;
-
- private:
- const string& sha256sum_;
- };
-
- // Generates comment element.
- //
- class SPAN_COMMENT
- {
- public:
- SPAN_COMMENT (const string& c): comment_ (c) {}
-
- void
- operator() (xml::serializer&) const;
-
- private:
- const string& comment_;
- };
-
- // Generates package description element.
- //
- class P_DESCRIPTION
- {
- public:
- // Genereate full description.
- //
- P_DESCRIPTION (const string& d, const string& id = "")
- : description_ (d), length_ (d.size ()), url_ (nullptr), id_ (id) {}
-
- // Genereate brief description.
- //
- P_DESCRIPTION (const string& d, size_t l, const string& u)
- : description_ (d), length_ (l), url_ (&u) {}
-
- void
- operator() (xml::serializer&) const;
-
- private:
- const string& description_;
- size_t length_;
- const string* url_; // Full page url.
- string id_;
- };
-
- // Generates package description element.
- //
- class PRE_CHANGES
- {
- public:
- // Genereate full changes info.
- //
- PRE_CHANGES (const string& c)
- : changes_ (c), length_ (c.size ()), url_ (nullptr) {}
-
- // Genereate brief changes info.
- //
- PRE_CHANGES (const string& c, size_t l, const string& u)
- : changes_ (c), length_ (l), url_ (&u) {}
-
- void
- operator() (xml::serializer&) const;
-
- private:
- const string& changes_;
- size_t length_;
- const string* url_; // Full page url.
- };
-
- // Generates paging element.
- //
- class DIV_PAGER
- {
- public:
- DIV_PAGER (size_t current_page,
- size_t item_count,
- size_t item_per_page,
- size_t page_number_count,
- const string& url);
-
- void
- operator() (xml::serializer&) const;
-
- private:
- size_t current_page_;
- size_t item_count_;
- size_t item_per_page_;
- size_t page_number_count_;
- const string& url_;
- };
-
- // Convert the argument to a string representing the valid HTML 5 'id'
- // attribute value.
- //
- string
- html_id (const string&);
-}
-
-#endif // MOD_PAGE