Serval Kit aims to build a cross‑platform, general‑purpose UI component library for multi‑device scenarios. By providing unified rendering and interaction capabilities, it enables consistent experiences and efficient delivery across platforms. At this stage, the project focuses on SVG and Markdown, delivering reliable solutions for vector graphics and rich‑text rendering in mobile and cross‑platform applications, laying a foundation for future component expansion and ecosystem growth.
- markdown: Core Markdown renderer and platform adaptation
- Headers and core implementation: include and src
- Platform bindings: Android, iOS, HarmonyOS: platform
- Example projects and templates: example
- Unit and integration tests: testing
- svg: Core SVG renderer and platform adaptation
- Samples and demo projects: examples
- Platform projects and packaging: platform
- Headers and core implementation: include
- Android sample (Markdown):
cd markdown/example/android
./gradlew assembleDebug- Android sample (SVG):
cd svg/examples/android
./gradlew assembleDebug-
iOS samples (Markdown / Swift / Objective‑C):
- Run
pod installin the corresponding sample directory, then open the.xcworkspacein Xcode to build and run - Core podspecs: ServalMarkdown.podspec and ServalSVG.podspec
- Run
-
HarmonyOS samples:
- Navigate to
markdown/example/harmonyorsvg/examples/harmony, open and build with DevEco Studio
- Navigate to
- Build the core library with CMake (Markdown as an example):
cd markdown
cmake -S . -B build
cmake --build build -j- Markdown core tests:
- Test directory: testing
- Build and run tests via CMake
- Unified Clang‑Format and Clang‑Tidy: .clang-format, .clang-tidy
- GN and CMake build scripts: CMakeLists.txt, BUILD.gn
- For commercial use, please review the licenses of the dependencies and follow the corresponding requirements
- Contributions and feedback via Pull Requests and Issues are welcome
- Before submitting, please ensure tests pass and follow the project’s code style