Releases: LambBread/lipsum-cpp
Releases · LambBread/lipsum-cpp
0.4.4
Version 0.4.4
Changes
- JSON and XML generation
- More documentation of
lpsm::internalfunctions - Customizable settings in
lpsm::Generator lpsm::Generatorexposed in C wrapper via opaque pointers- New features:
std::string lpsm::GenerateXMLDocument(int, const lpsm::ArgVec2&, const lpsm::ArgVec2&, const lpsm::Source&);
std::string lpsm::GenerateJSONString(const lpsm::Source&);
std::string lpsm::GenerateJSONNumber();
std::string lpsm::GenerateJSONObject(int, int, const lpsm::ArgVec2&, const lpsm::Source&);
std::string lpsm::GenerateJSONArray(int, int, const lpsm::ArgVec2&, const lpsm::Source&);
std::string lpsm::GenerateJSONValue(int, int, const lpsm::ArgVec2&, const lpsm::Source&);
std::string lpsm::GenerateXMLDocumentX(int, int, int, int, int, const lpsm::Source&);
std::string lpsm::GenerateJSONObjectX(int, int, int, int, const lpsm::Source&);
std::string lpsm::GenerateJSONArrayX(int, int, int, int, const lpsm::Source&);
std::string lpsm::GenerateJSONValueX(int, int, int, int, const lpsm::Source&);
void lpsm::Generator::change_setting(const std::string&, const lpsm::ArgVec2&);
void lpsm::Generator::change_setting(const std::string&, int, int);
std::string lpsm::Generator::text(bool);
std::string lpsm::Generator::html_paragraph(int, bool);
std::string lpsm::Generator::html_text(int);
std::string lpsm::Generator::xml(int);
std::string lpsm::Generator::json(int, bool);
char* lpsm_GenerateXMLDocument(int, int, int, int, int, lpsm_SourceHandle);
char* lpsm_GenerateJSONString(lpsm_SourceHandle);
char* lpsm_GenerateJSONNumber(void);
char* lpsm_GenerateJSONObject(int, int, int, int, lpsm_SourceHandle);
char* lpsm_GenerateJSONArray(int, int, int, int, lpsm_SourceHandle);
char* lpsm_GenerateJSONValue(int, int, int, int, lpsm_SourceHandle);
char* lpsm_GenerateXMLDocumentS(int, lpsm_ArgVec2Handle, lpsm_ArgVec2Handle, lpsm_SourceHandle, bool);
char* lpsm_GenerateJSONObjectS(int, int, lpsm_ArgVec2Handle, lpsm_SourceHandle, bool);
char* lpsm_GenerateJSONArrayS(int, int, lpsm_ArgVec2Handle, lpsm_SourceHandle, bool);
char* lpsm_GenerateJSONValueS(int, int, lpsm_ArgVec2Handle, lpsm_SourceHandle, bool);
typedef void* lpsm_GeneratorHandle;
lpsm_GeneratorHandle lpsm_Generator(const char*);
void lpsm_GeneratorDestroy(lpsm_GeneratorHandle);
char* lpsm_Generator_word(lpsm_GeneratorHandle, int);
char* lpsm_Generator_sentence_fragment(lpsm_GeneratorHandle);
char* lpsm_Generator_sentence(lpsm_GeneratorHandle, int, bool);
char* lpsm_Generator_paragraph(lpsm_GeneratorHandle, int, bool);
char* lpsm_Generator_text(lpsm_GeneratorHandle, bool);
char* lpsm_Generator_md_paragraph(lpsm_GeneratorHandle, int, bool);
char* lpsm_Generator_md_text(lpsm_GeneratorHandle, int);
char* lpsm_Generator_html_paragraph(lpsm_GeneratorHandle, int, bool);
char* lpsm_Generator_html_text(lpsm_GeneratorHandle, int);
char* lpsm_Generator_xml(lpsm_GeneratorHandle, int);
char* lpsm_Generator_json(lpsm_GeneratorHandle, int, bool);- Removed features:
char* lpsm_gen_word(int);
char* lpsm_gen_sentence_fragment(void);
char* lpsm_gen_sentence(int, bool);
char* lpsm_gen_paragraph(int, bool);
char* lpsm_gen_md_paragraph(int, bool);
char* lpsm_gen_md_text(int);- Removed examples:
Basic.cpp -> Generator.cpp, GeneratorFormats.cpp
GenerateDefaultLipsumSentence.cpp
GenerateURL.cpp -> both to Misc.cpp
GenerateMarkdownEmphasis.cpp
GenerateMarkdownHeader.cpp
GenerateMarkdownList.cpp
GenerateMarkdownLink.cpp
GenerateMarkdownParagraph.cpp
GenerateMarkdownParagraphs.cpp
GenerateMarkdownText.cpp -> all to Markdown.cpp
- New examples:
Generator.cpp
GeneratorFormats.cpp
0.4.3
Version 0.4.3
Changes
make helpmake install, CMakeinstall(...)rules- CPack packaging
lpsm::internal::GenerateTLD()made less repetitive- More built in lorem-ipsum sources
cat- cat ipsumdog/doggo- dog ipsumcorpo/corporate- corporate ipsumdefault/lorem- traditional lorem ipsum
- CI/CD with GitHub Actions
- Better MSVC support
- New functions:
int lpsm::internal::WeightedRandomIdx(const std::vector<int>&);0.4.2
Version 0.4.2
Changes
- Some code has been made more structured
README.mds overhauled- Headers now use both
#pragma onceand traditional include-guards - More formal language
- Automatic version numbering using CMake
- Better logging
- Switch manual macros in
lipsum_h.cppto a variadic template - More consistent naming scheme (see
src/README.mdfor details) - Optimize
lpsm::internal::HandleHTMLEntity() clang-tidysupportCONTRIBUTING.mdadded- Use more modern C++
- Update
TODO.md - New features:
template<typename... Args> void lpsm::internal::LogWarn(const Args&...);
inline constexpr const char* LIPSUM_CPP_VERSION_COMMIT;
inline constexpr const char* LIPSUM_CPP_VERSION_FULL;
#define LIPSUM_CPP_VERSION_COMMIT_C
#define LIPSUM_CPP_VERSION_FULL_C- Renamed functions:
[[nodiscard]] int lpsm::ArgVec2::roll() const; //from int lpsm::ArgVec2::Roll() const
void lpsm::Source::load(const std::string&); //from void lpsm::Source::Load()
[[nodiscard]] std::string lpsm::Source::random_word() const; //from std::string lpsm::Source::RandomWord() const
int lpsm_ArgVec2_roll(lpsm_ArgVec2Handle); //from int lpsm_ArgVec2Roll(lpsm_ArgVec2Handle)
int lpsm_ArgVec2_min(lpsm_ArgVec2Handle); //from int lpsm_ArgVec2GetMin(lpsm_ArgVec2Handle)
int lpsm_ArgVec2_max(lpsm_ArgVec2Handle); //from int lpsm_ArgVec2GetMax(lpsm_ArgVec2Handle)0.4.1
Version 0.4.1
Changes
- Change folder structure
- Split C wrapper into multiple files
lpsm::Generatorcan now work with multi-source generation- More comments in CMake
- Update
README.md - New functions
lpsm::Generator::Generator(const std::string&);
void lpsm::Source::Load(const std::string&);0.4.0
Version 0.4.0
Changes
- Change style of
.inls to havingnamespace lipsumaround entire implementation - Make
lpsm::internal::RandomNumbermore thread-safe - Functions changed to support multi-source generation with new
lpsm::Sourceclass - Update TODO.md
- Version numbering changed to
constexprvariables, along with variables storing major, minor, and patch versions-
// #define LIPSUM_CPP_VERSION inline constexpr const char* LIPSUM_CPP_VERSION inline constexpr int LIPSUM_CPP_VERSION_MAJOR inline constexpr int LIPSUM_CPP_VERSION_MINOR inline constexpr int LIPSUM_CPP_VERSION_PATCH // C wrapper #define LIPSUM_CPP_VERSION_MAJOR_C #define LIPSUM_CPP_VERSION_MINOR_C #define LIPSUM_CPP_VERSION_PATCH_C
-
- Removed features:
std::string lpsm::LipsumVersion();
#define lpsm_LipsumVersion()- Added features:
class lpsm::Source;
lpsm::Source::Source();
lpsm::Source::Source(const std::string&);
std::string lpsm::Source::RandomWord() const;
// C wrapper
typedef void* lpsm_SourceHandle;
lpsm_SourceHandle lpsm_Source(const char*);
void lpsm_SourceDestroy(lpsm_SourceHandle);0.3.9
Version 0.3.9
Changes
lpsm::GenerateWordmore thread-safe- Switch non-standard GCC extension of including a file inside a function (used in
lpsm::GenerateWord) to standard C++ global inclusion - Switch
sample.inltostatic constexpr std::array<const char*, N>fromstatic std::vector<std::string> - Make
lpsm::internal::RandomNumbera template function - Switch some internal
lpsm::ArgVec2s tolpsm::internal::RandomNumber - Generated URLs now include
lpsmcpp-at beginning to avoid sending users to real URLs - New functions:
std::string lpsm::GeneratePlainURL();
std::string lpsm::GenerateScramble(int, char, char);
char* lpsm_GeneratePlainURL(void);
char* lpsm_GenerateScramble(int, char, char);0.3.8
0.3.7
Version 0.3.7
Changes
- Modify Doxygen comments
- New functions:
std::string lpsm::GenerateURL
std::string lpsm::GenerateURLX
char* lpsm_GenerateURL
char* lpsm_GenerateURLS- Markdown functions now generate random URLs
- Remove
urlargument from all Markdown functions
0.3.6
Version 0.3.6
Changes
- More examples
- Switch from gitignored
compile.shto a Makefile to run CMake - Markdown functions can now output HTML
- Remove
HTMLify - New functions:
std::string lpsm::GenerateSlug
std::string lpsm::GenerateSlugX
char* lpsm_GenerateSlug
char* lpsm_GenerateSlugS