Commit graph

54 commits

Author SHA1 Message Date
Jacob 524058e779 Fix: Some template functions not having a default value. 2024-05-17 13:30:47 +02:00
Jacob e49535179e Move template functions to header. Rather silly mistake. 2024-05-17 13:02:26 +02:00
Jacob aabb1f79ea Add more test cases, fix a bug where tr is not in the map. 2024-05-17 12:23:01 +02:00
Jacob 8d3e23ac5a Use TYPE_TEXT_TAB instead for ELEMENT_EMPTY 2024-05-17 08:41:14 +02:00
Jacob df19d81555 Change properties for some tags. 2024-05-17 08:20:02 +02:00
Jacob 6fa9373f25 Remove const qualifier.
It doesn't do much useful, and it seems to cause Windows building to
fail.
2024-05-16 18:00:05 +02:00
Jacob 3449a39154 Some minor cleanup. I'm basically nitpicking at this point. 2024-05-16 10:59:59 +02:00
Jacob 3e7a63e282 Move another constructor to the header.
Also, don't mark Properties() constructors as explicit.
2024-05-16 10:51:42 +02:00
Jacob b206aa3ea7 Optimize template functions a little bit. 2024-05-16 08:20:57 +02:00
Jacob d6db5690b3 Optimize constructors by initializing variables rather than overriding the
values using the appropriate set() methods.
2024-05-16 08:09:27 +02:00
Jacob 6d7cb9af86 Add missing tag, resolve_tag now returns the proper closing tag as well,
for convenience.
2024-05-15 23:33:17 +02:00
Jacob 247b2cbf37 Add <link> tag, forgot about this one. 2024-05-15 22:48:33 +02:00
Jacob c4034adcea Replace case statement with a static const std::unordered_map. 2024-05-15 17:36:47 +02:00
Jacob fa107fcb64 Name the enums, and use them in the function declarations.
Old variant was a little bit too much "C with classes" for my taste.
2024-05-15 10:57:47 +02:00
Jacob d7107de41b Add HTML tag enum 2024-05-15 10:22:22 +02:00
Jacob 1458273912 Simplify testing. No need to use CMake testing module for this. 2024-05-14 20:33:05 +02:00
Jacob 93b5a57c35 Change the shell, for better compatibility. 2024-05-14 19:21:13 +02:00
Jacob f139028deb I don't know if it's so small anymore. 2024-05-14 15:46:43 +02:00
Jacob 8a3d21ea31 Add Gentoo ebuild, along with code necessary to generate one. Also,
clean up the CMakeLists.txt file, allowing it to be more cross platform.
2024-05-14 15:39:50 +02:00
Jacob ceda875213 Make use of the template functions in the test cases. 2024-05-14 10:04:32 +02:00
Jacob f30f1431fd Add Arch packaging.
TODO: Gentoo, Debian and Red Hat packaging.
2024-05-13 15:09:20 +02:00
Jacob ee0720cd67 Change case for many methods to closer align with the standard library. 2024-05-13 12:00:47 +02:00
Jacob e2568dd62d Add a docpp_make script, which creates a tarball release. 2024-05-13 02:46:21 +02:00
Jacob b38a427047 Remove compile_commands.json symlink.
I don't think it's necessary, most IDEs should be able to find it in the
build/ directory.
2024-05-13 02:13:53 +02:00
Jacob b44a934d20 Add docpp.pc file, allowing pkg-config to find docpp. 2024-05-13 02:00:40 +02:00
Jacob 8ba0aff55c Revise examples a little bit. 2024-05-13 00:57:27 +02:00
Jacob 27ff72f2a5 Add some more templates for methods that return std::string. 2024-05-13 00:45:04 +02:00
Jacob 8caa3d92eb Add template get() methods. Also, remove instances of the auto type. 2024-05-12 23:43:44 +02:00
Jacob 7fa001bcde Remove a method I accidentally declared. 2024-05-12 23:04:04 +02:00
Jacob 2f9c24e8ab Add Doxygen file, remove old aliases. 2024-05-12 21:56:03 +02:00
Jacob 35a15651ca Rename the different classes. I felt it was too verbose. 2024-05-12 20:18:06 +02:00
Jacob 8f3ba89445 Implement iterators for several classes and rename HTMLElementProperties
to HTMLProperties.
2024-05-12 20:05:23 +02:00
Jacob 17d8bf6b4b Add front() and back() methods for the various classes. 2024-05-07 22:58:53 +02:00
Jacob 43daa77f6d Implement support for plain text elements and sections without a tag.
Also, add example replica of biteme.lol.
2024-05-07 21:21:58 +02:00
Jacob 21ddd1d82c Change the behavior of FORMATTING_PRETTY to include tabs.
FORMATTING_NEWLINE can be used if you want to preserve the old behavior.
2024-05-07 17:26:11 +02:00
Jacob 804309d323 Implement operator overloading for several classes. 2024-05-07 00:08:54 +02:00
Jacob aca33e80d5 Implement at() methods for several classes. 2024-05-06 14:18:01 +02:00
Jacob cddf11235f Add position functions for HTMLElementProperties. 2024-05-06 13:19:16 +02:00
Jacob 292b6018d6 Add position functions for CSSElement. 2024-05-06 11:47:24 +02:00
Jacob 298a3c96b6 Implement push_front() method for CSSElement, implement find() method
that takes an std::string for CSSStylesheet.
2024-05-06 11:06:45 +02:00
Jacob f9bf0bbfd4 Add new HTMLSection::find() method that takes an std::string parameter
containing a deserialized section or element,
and returns the position of an identical section or element, or npos.
2024-05-06 02:45:15 +02:00
Jacob 8f1f175138 Change the behavior of find() functions. They no longer throw an
exception, but rather return npos (-1).
2024-05-06 02:28:23 +02:00
Jacob 8a8313a01c Minor change to the Code of Conduct section. 2024-05-06 01:23:23 +02:00
Jacob 9c990fe9eb Lower C++ standard to C++11, because currently we're
not using any newer features.
2024-05-06 01:00:54 +02:00
Jacob 70f9ed770b Add CI badge. 2024-05-06 00:31:29 +02:00
Jacob 0b0c89a55b Maybe changing the way we set the standard will fix it? 2024-05-06 00:26:23 +02:00
Jacob e950a54477 clang++ doesn't appear to work for whatever reason, try GCC. 2024-05-06 00:23:42 +02:00
Jacob ded3f5ac69 Alright, hopefully fix it. 2024-05-06 00:11:39 +02:00
Jacob 202353bfea Fix some mistakes causing GCC runners to run. 2024-05-06 00:07:18 +02:00
Jacob d95fa3ab8b Add macOS runner 2024-05-06 00:06:06 +02:00