Skip to content

Releases: LambBread/lipsum-cpp

0.4.4

27 Apr 01:15

Choose a tag to compare

Version 0.4.4

Changes

  • JSON and XML generation
  • More documentation of lpsm::internal functions
  • Customizable settings in lpsm::Generator
  • lpsm::Generator exposed 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

18 Apr 03:50

Choose a tag to compare

Version 0.4.3

Changes

  • make help
  • make install, CMake install(...) rules
  • CPack packaging
  • lpsm::internal::GenerateTLD() made less repetitive
  • More built in lorem-ipsum sources
    • cat - cat ipsum
    • dog/doggo - dog ipsum
    • corpo/corporate - corporate ipsum
    • default/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

13 Apr 02:12

Choose a tag to compare

Version 0.4.2

Changes

  • Some code has been made more structured
  • README.mds overhauled
  • Headers now use both #pragma once and traditional include-guards
  • More formal language
  • Automatic version numbering using CMake
  • Better logging
  • Switch manual macros in lipsum_h.cpp to a variadic template
  • More consistent naming scheme (see src/README.md for details)
  • Optimize lpsm::internal::HandleHTMLEntity()
  • clang-tidy support
  • CONTRIBUTING.md added
  • 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

22 Mar 21:26
2ad1389

Choose a tag to compare

Version 0.4.1

Changes

  • Change folder structure
  • Split C wrapper into multiple files
  • lpsm::Generator can 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

21 Mar 21:44

Choose a tag to compare

Version 0.4.0

Changes

  • Change style of .inls to having namespace lipsum around entire implementation
  • Make lpsm::internal::RandomNumber more thread-safe
  • Functions changed to support multi-source generation with new lpsm::Source class
  • Update TODO.md
  • Version numbering changed to constexpr variables, 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

15 Mar 03:29

Choose a tag to compare

Version 0.3.9

Changes

  • lpsm::GenerateWord more 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.inl to static constexpr std::array<const char*, N> from static std::vector<std::string>
  • Make lpsm::internal::RandomNumber a template function
  • Switch some internal lpsm::ArgVec2s to lpsm::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

21 Feb 04:07

Choose a tag to compare

Version 0.3.8

Changes

  • New functions
int lpsm::CountWords(const std::string&);
int lpsm_CountWords(const char*);

0.3.7

08 Feb 03:39

Choose a tag to compare

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 url argument from all Markdown functions

0.3.6

02 Feb 02:24

Choose a tag to compare

Version 0.3.6

Changes

  • More examples
  • Switch from gitignored compile.sh to 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

0.3.5

25 Jan 03:40

Choose a tag to compare

Version 0.3.5

Changes

  • All functions now have S variants in the C wrapper which take in lpsm::ArgVec2
  • Modify Doxygen comments