Cutelee 6.1.0
defaultfilters.h
1/*
2 This file is part of the Cutelee template system.
3
4 Copyright (c) 2009,2010 Stephen Kelly <steveire@gmail.com>
5
6 This library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Lesser General Public
8 License as published by the Free Software Foundation; either version
9 2.1 of the Licence, or (at your option) any later version.
10
11 This library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Lesser General Public License for more details.
15
16 You should have received a copy of the GNU Lesser General Public
17 License along with this library. If not, see <http://www.gnu.org/licenses/>.
18
19*/
20
21#ifndef DEFAULTFILTERS_H
22#define DEFAULTFILTERS_H
23
24#include "datetime.h"
25#include "integers.h"
26#include "lists.h"
27#include "logic.h"
28#include "misc.h"
29#include "stringfilters.h"
30
31#include "taglibraryinterface.h"
32
33namespace Cutelee
34{
35class Parser;
36}
37
38using namespace Cutelee;
39
40class DefaultFiltersLibrary : public QObject, public TagLibraryInterface
41{
42 Q_OBJECT
44 Q_PLUGIN_METADATA(IID "org.cutelee.TagLibraryInterface")
45public:
46 DefaultFiltersLibrary(QObject *parent = {}) : QObject(parent) {}
47
48 QHash<QString, Filter *> filters(const QString &name = {}) override
49 {
50 Q_UNUSED(name);
51
52 QHash<QString, Filter *> filters;
53
54 filters.insert(QStringLiteral("add"), new AddFilter());
55 filters.insert(QStringLiteral("addslashes"), new AddSlashesFilter());
56 filters.insert(QStringLiteral("capfirst"), new CapFirstFilter());
57 filters.insert(QStringLiteral("center"), new CenterFilter());
58 filters.insert(QStringLiteral("cut"), new CutFilter());
59 filters.insert(QStringLiteral("date"), new DateFilter());
60 filters.insert(QStringLiteral("default"), new DefaultFilter());
61 filters.insert(QStringLiteral("default_if_none"),
63 filters.insert(QStringLiteral("dictsort"), new DictSortFilter());
64 filters.insert(QStringLiteral("divisibleby"), new DivisibleByFilter());
65 filters.insert(QStringLiteral("escape"), new EscapeFilter());
66 filters.insert(QStringLiteral("escapejs"), new EscapeJsFilter());
67 filters.insert(QStringLiteral("first"), new FirstFilter());
68 filters.insert(QStringLiteral("fix_ampersands"), new FixAmpersandsFilter());
69 filters.insert(QStringLiteral("floatformat"), new FloatFormatFilter());
70 filters.insert(QStringLiteral("filesizeformat"), new FileSizeFormatFilter());
71 filters.insert(QStringLiteral("force_escape"), new ForceEscapeFilter());
72 filters.insert(QStringLiteral("get_digit"), new GetDigitFilter());
73 filters.insert(QStringLiteral("join"), new JoinFilter());
74 filters.insert(QStringLiteral("json_script"), new JsonScriptFilter());
75 filters.insert(QStringLiteral("last"), new LastFilter());
76 filters.insert(QStringLiteral("length"), new LengthFilter());
77 filters.insert(QStringLiteral("length_is"), new LengthIsFilter());
78 filters.insert(QStringLiteral("linebreaks"), new LineBreaksFilter());
79 filters.insert(QStringLiteral("linebreaksbr"), new LineBreaksBrFilter());
80 filters.insert(QStringLiteral("linenumbers"), new LineNumbersFilter());
81 filters.insert(QStringLiteral("ljust"), new LJustFilter());
82 filters.insert(QStringLiteral("lower"), new LowerFilter());
83 filters.insert(QStringLiteral("make_list"), new MakeListFilter());
84 filters.insert(QStringLiteral("random"), new RandomFilter());
85 filters.insert(QStringLiteral("removetags"), new RemoveTagsFilter());
86 filters.insert(QStringLiteral("rjust"), new RJustFilter());
87 filters.insert(QStringLiteral("safe"), new SafeFilter());
88 filters.insert(QStringLiteral("safeseq"), new SafeSequenceFilter());
89 filters.insert(QStringLiteral("slice"), new SliceFilter());
90 filters.insert(QStringLiteral("slugify"), new SlugifyFilter());
91 filters.insert(QStringLiteral("stringformat"), new StringFormatFilter());
92 filters.insert(QStringLiteral("striptags"), new StripTagsFilter());
93 filters.insert(QStringLiteral("time"), new TimeFilter());
94 filters.insert(QStringLiteral("timesince"), new TimeSinceFilter());
95 filters.insert(QStringLiteral("timeuntil"), new TimeUntilFilter());
96 filters.insert(QStringLiteral("title"), new TitleFilter());
97 filters.insert(QStringLiteral("truncatewords"), new TruncateWordsFilter());
98 filters.insert(QStringLiteral("unordered_list"), new UnorderedListFilter());
99 filters.insert(QStringLiteral("upper"), new UpperFilter());
100 filters.insert(QStringLiteral("wordcount"), new WordCountFilter());
101 filters.insert(QStringLiteral("wordwrap"), new WordWrapFilter());
102 filters.insert(QStringLiteral("yesno"), new YesNoFilter());
103 filters.insert(QStringLiteral("truncatechars"), new TruncateCharsFilter());
104
105 return filters;
106 }
107};
108
109#endif
The Parser class processes a string template into a tree of nodes.
Definition parser.h:49
The TagLibraryInterface returns available tags and filters from libraries.
QHash< QString, Filter * > filters(const QString &name={}) override
The Cutelee namespace holds all public Cutelee API.
Definition Mainpage.dox:8