-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit f9b378b
Showing
1,949 changed files
with
603,626 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
name: Zola on GitHub Pages | ||
|
||
on: | ||
push: | ||
branches: | ||
- main | ||
|
||
jobs: | ||
build: | ||
permissions: | ||
contents: read | ||
pages: write | ||
id-token: write | ||
name: Publish site | ||
runs-on: ubuntu-latest | ||
if: github.ref == 'refs/heads/main' | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v4 | ||
- name: Build and Deploy | ||
uses: shalzz/[email protected] | ||
env: | ||
BUILD_ONLY: true | ||
- name: Move Documentation | ||
run: | | ||
rm public/docs/developer/libical | ||
mv public/apidocs public/docs/developer/libical | ||
rm public/docs/developer/libical-glib | ||
mv public/libical-glib public/docs/developer/libical-glib | ||
- name: Upload Artifact | ||
uses: actions/upload-pages-artifact@v2 | ||
with: | ||
# upload entire directory | ||
path: 'public' | ||
|
||
deploy: | ||
runs-on: ubuntu-latest | ||
needs: build | ||
environment: | ||
name: github-pages | ||
url: ${{steps.deployment.outputs.page_url}} | ||
steps: | ||
- name: Deploy artifact | ||
id: deployment | ||
uses: actions/deploy-pages@v1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
[submodule "themes/adidoks"] | ||
path = themes/adidoks | ||
url = https://github.com/aaranxu/adidoks.git |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
# The URL the site will be built for | ||
base_url = "https://libical.github.io" | ||
title = "libical" | ||
description = "Open Source implementation of the iCalendar protocols and protocol data units." | ||
|
||
# Whether to automatically compile all Sass files in the sass directory | ||
compile_sass = true | ||
|
||
# Whether to build a search index to be used later on by a JavaScript library | ||
build_search_index = true | ||
|
||
theme = "adidoks" | ||
|
||
[markdown] | ||
# Whether to do syntax highlighting | ||
# Theme can be customised by setting the `highlight_theme` variable to a theme supported by Zola | ||
highlight_code = true | ||
|
||
[extra] | ||
# Put all your custom variables here | ||
edit_page = false | ||
docs_repo = "https://github.com/libical/io.github.libical" | ||
repo_branch = "main" | ||
|
||
[extra.footer] | ||
info = 'Powered by <a href="https://www.getzola.org/">Zola</a>, and <a href="https://github.com/aaranxu/adidoks">AdiDoks</a>' | ||
|
||
[[extra.menu.social]] | ||
name = "GitHub" | ||
pre = '<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-github"><path d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22"></path></svg>' | ||
url = "https://github.com/libical/libical" | ||
post = "v0.1.0" | ||
weight = 20 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
+++ | ||
title = "The iCalendar library" | ||
|
||
|
||
# The homepage contents | ||
[extra] | ||
lead = '<b>libical</b> is an Open Source implementation of the iCalendar protocols and protocol data units.' | ||
url = "/docs/getting-started/introduction/" | ||
url_button = "Get started" | ||
repo_version = "v3.0.18" | ||
repo_license = "MPL v2.0 or LGPL v2.1 —" | ||
repo_url = "https://github.com/aaranxu/adidoks" | ||
|
||
# Menu items | ||
[[extra.menu.main]] | ||
name = "Docs" | ||
section = "docs" | ||
url = "/docs/getting-started/introduction/" | ||
weight = 10 | ||
|
||
[[extra.list]] | ||
title = "Based on Standards" | ||
content = 'Implements RFC2445, RFC2446 and some of RFC2447 the CalDav scheduling extensions in RFC6638 and RFC7986; plus the iCalendar iMIP protocol in RFC6047.' | ||
|
||
[[extra.list]] | ||
title = "Used by many" | ||
content = 'libical is at the base of the <a href="https://www.cyrusimap.org">Cyrus Server</a>, <a href="https://kontact.kde.org">KDE's KContact Suite</a>, <a href="https://gitlab.gnome.org/GNOME/evolution-data-server">GNOME's Evolution Data Server</a>, <a href="https://syncevolution.org">syncEvolution</a> and <a href="https://flexibits.com/fantastical">Fantastical</a>.' | ||
|
||
+++ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
+++ | ||
title = "Docs" | ||
description = "The documents of the AdiDoks theme." | ||
sort_by = "weight" | ||
weight = 1 | ||
template = "docs/section.html" | ||
+++ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
+++ | ||
title = "Contributing" | ||
description = "Find out how to contribute." | ||
template = "docs/section.html" | ||
sort_by = "weight" | ||
weight = 4 | ||
draft = false | ||
+++ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
+++ | ||
title = "Code Quality" | ||
description = "Ensuring good overall code quality." | ||
date = 2021-05-01T18:20:00+00:00 | ||
updated = 2021-05-01T18:20:00+00:00 | ||
draft = false | ||
weight = 420 | ||
sort_by = "weight" | ||
template = "docs/page.html" | ||
|
||
[extra] | ||
lead = "Ensuring good overall code quality." | ||
toc = true | ||
top = false | ||
+++ | ||
### Introduction ### | ||
|
||
> I insist on code quality — Allen | ||
This means: | ||
|
||
1. No build failures on supported platforms (obviously including our [Continuous Integration ("CI") systems](https://travis-ci.org/libical/libical)) | ||
2. No compiler warnings allowed using "strict" (strict being a relative term) compiler warning options | ||
3. No [splint](http://www.splint.org) issues using -weak checking | ||
4. No serious [Coverity Scan](http://scan.coverity.com) issues | ||
5. No serious [scan-build](http://clang-analyzer.llvm.org/scan-build.html) issues | ||
6. No [Krazy](https://github.com/Krazy-collection/krazy) issues | ||
7. No failed regression tests | ||
8. Coding Style is very strictly enforced | ||
9. (A goal) API documentation must be complete | ||
10. Each source file must have a proper license and copyright header (Krazy tests for this) | ||
11. Other stuff as I think of it | ||
|
||
We want to be as portable as possible. We welcome ports to platforms we haven't encountered previously. | ||
|
||
#### Compiler Warnings #### | ||
|
||
See the top-level CMakeLists.txt for the options we use for each compiler. Expect those options to get stricter over time. Feel free to suggest compiler options that increase our code quality. | ||
|
||
#### Continuous Integration #### | ||
|
||
We use [Travis](https://travis-ci.org/libical/libical) to perform CI for libical on Linux and OSX. | ||
For Windows we use the [Appveyor](https://ci.appveyor.com/project/winterz/libical) CI | ||
|
||
#### Lint Checking #### | ||
|
||
We use [Splint](https://www.splint.org) for lint checking our source code. I'd love to have lint-checking as part of the CI reporting, but until then we run it by hand and fix the issues as part of the pre-release checklist. | ||
|
||
#### Static Analysis #### | ||
|
||
We're grateful to the good folks at [Coverity](https://coverity.com) for giving the FOSS world free access to their wonderful static analysis tool, Coverity Scan. As a goal, I'd like to get the number of Coverity Scan issues down to zero. It might take a few major releases to get there. | ||
|
||
[scan-build](http://clang-analyzer.llvm.org/scan-build.html) is also good for static analysis checking but I've seen quite some false positives. Good for a free tool, however. | ||
|
||
By the way, [cppcheck](http://cppcheck.sourceforge.net) is another tool I like for static code analysis. Occasionally we should run cppcheck as well. | ||
|
||
#### Krazy Analysis #### | ||
|
||
[Krazy](https://github.com/Krazy-collection/krazy) is another static analysis tool, but it checks mostly for non-C specific stuff, like it ensures Copyrights and License headers, looks for spelling mistakes and also coding style problems. We must be 100% "Krazy clean". | ||
|
||
#### Coding Style #### | ||
|
||
[Coding Style](@/docs/contributing/coding-style.md) is enforced. | ||
|
||
#### API Documentation #### | ||
|
||
We use [Doxygen](http://www.doxygen.org) to generate our [API Documentation](@/docs/developer/libical.md) and put the result on our [GitHub provided webspace](http://libical.github.io). At this time our API Documentation is horrible and needs a lot of attention (see [libical#175](https://github.com/libical/libical/issues/175)), so one of our long term goals is to get the API Documentation into shape with full coverage. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
+++ | ||
title = "Coding Style Rules" | ||
description = "Rules for the style used the codebase." | ||
date = 2021-05-01T18:20:00+00:00 | ||
updated = 2021-05-01T18:20:00+00:00 | ||
draft = false | ||
weight = 420 | ||
sort_by = "weight" | ||
template = "docs/page.html" | ||
|
||
[extra] | ||
lead = "Follow these Coding Style Rules. Strictly Enforced. The relevant GNU indent options are in parens." | ||
toc = true | ||
top = false | ||
+++ | ||
|
||
* Use spaces for indenting. No tabs (-nut) | ||
* Indent level is 4 spaces (-i4) | ||
* Maximum line length is 100 characters (-l100 -lc100) | ||
* Do not put a space after every ’(’ and before every ’)’ (-nprs) | ||
* Do not put space after the function in function calls (-npcs) | ||
* Do not put a space after cast operators (-ncs) | ||
* Do not put a space between '#' and preprocessor directives (-nlps) | ||
* Put braces on line with if, etc. (-br) | ||
* Cuddle else and preceding ‘}’ (-ce) | ||
* Put the type of a procedure on the same line as its name (-npsl) | ||
* Put braces on line following function definition line (-blf) | ||
* Put braces on the line after struct declaration lines (-bls) | ||
* Do not force newlines after commas in declarations (-nbc) | ||
* Zero width indentation for parameters (-nip) | ||
* Do not indent parameter types (-ip0) | ||
* Do not indent case labels (-cli0) | ||
* Line up continued lines at parentheses (-lp) | ||
* Do not prefer to break long lines before boolean operators (-nbbo) | ||
* Force blank lines after procedure bodies (-bap) | ||
* Force blank lines after the declarations (-bad) | ||
* Swallow optional blank lines (-sob) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
+++ | ||
title = "Get Involved" | ||
description = "Follow the project and contribute." | ||
date = 2021-05-01T18:10:00+00:00 | ||
updated = 2021-05-01T18:10:00+00:00 | ||
draft = false | ||
weight = 410 | ||
sort_by = "weight" | ||
template = "docs/page.html" | ||
|
||
[extra] | ||
lead = "Follow the project and contribute." | ||
toc = true | ||
top = false | ||
+++ | ||
|
||
Subscribe to our mailing lists: | ||
|
||
* For developer discussions [libical-devel](http://lists.infradead.org/mailman/listinfo/libical-devel) | ||
|
||
* For general discussions about libical and related projects [libical-interest](http://lists.infradead.org/mailman/listinfo/libical-interest) | ||
|
||
Report bugs to [our issue tracker in GitHub](https://github.com/libical/libical/issues) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
+++ | ||
title = "References" | ||
description = "Developer documentation." | ||
template = "docs/section.html" | ||
sort_by = "weight" | ||
weight = 7 | ||
draft = false | ||
+++ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
+++ | ||
title = "libical-glib" | ||
description = "Developer documentation." | ||
date = 2021-05-01T19:30:00+00:00 | ||
updated = 2021-05-01T19:30:00+00:00 | ||
draft = false | ||
weight = 40 | ||
sort_by = "weight" | ||
template = "docs/page.html" | ||
+++ | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
+++ | ||
title = "libical" | ||
description = "Developer documentation." | ||
date = 2021-05-01T19:30:00+00:00 | ||
updated = 2021-05-01T19:30:00+00:00 | ||
draft = false | ||
weight = 30 | ||
sort_by = "weight" | ||
template = "docs/page.html" | ||
+++ | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
+++ | ||
title = "Getting Started" | ||
description = "Quick start and guides for installing the AdiDoks theme on your preferred operating system." | ||
template = "docs/section.html" | ||
sort_by = "weight" | ||
weight = 1 | ||
draft = false | ||
+++ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
+++ | ||
title = "Build for Different Platforms" | ||
description = "Help to build libical for various platforms and compilers." | ||
date = 2021-05-01T08:20:00+00:00 | ||
updated = 2021-05-01T08:20:00+00:00 | ||
draft = false | ||
weight = 31 | ||
sort_by = "weight" | ||
template = "docs/page.html" | ||
|
||
[extra] | ||
lead = "Help to build libical for various platforms and compilers." | ||
toc = true | ||
top = false | ||
+++ | ||
|
||
## Cross-compiling | ||
|
||
When cross-compiling, executables built for the host architecture cannot be run on the build architecture. CMake doesn't provide something like `CC_FOR_BUILD` from autotools, and recommended way to handle this case is the export the required binary from the native build for use by the cross-compiled build. | ||
|
||
See the "Searching and finding external software" section of [CMake cross-compiling guide](https://gitlab.kitware.com/cmake/community/-/wikis/doc/cmake/CrossCompiling#using-executables-in-the-build-created-during-the-build) | ||
|
||
Libical can cross-compile ok if you disable building libical-glib by passing `-DICAL_GLIB=False` to CMake. | ||
|
||
If you want/need libical-glib for your cross-compile then: | ||
|
||
- build and install a native build of libical into (for example) `/usr/local` | ||
- then pass `-DIMPORT_ICAL_GLIB_SRC_GENERATOR=/usr/local/lib64/cmake/LibIcal/IcalGlibSrcGenerator.cmake` to CMake for the cross-compile build. | ||
|
||
Read the cmake-toolchains documentation to help you write your own Toolchain file if needed. | ||
|
||
Look in the libical/cmake folder for some Toolchain files that may or may not work out-of-the-box. | ||
|
||
## iOS arm7, arm64, x386 | ||
|
||
Add the following inside CMakeList.txt: | ||
|
||
```cmake | ||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -arch armv7") | ||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -arch armv7") | ||
``` | ||
|
||
Then run `cmake ..` | ||
|
||
Modify the following line from the build/CMakeCache.txt that's generated by cmake command: | ||
|
||
```bash | ||
// The product will be built against the headers and libraries located | ||
// inside the indicated SDK. | ||
CMAKE_OSX_SYSROOT:PATH=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk | ||
``` | ||
|
||
(Change it into iPhoneOS.sdk or iPhoneOS8.4.sdk) | ||
|
||
run `make`, and `make install` as noted in the installation from libical. | ||
|
||
use `lipo -info` to check the generated lib .a files, it will say it is armv7. | ||
|
||
Use the same method to generate .a for arm64 and also i386 (for different simulators, etc), and use `lipo -create` to combine all of the into one FAT. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
+++ | ||
title = "Introduction" | ||
description = "Libical is an Open Source implementation of the iCalendar protocols and protocol data units." | ||
date = 2021-05-01T08:00:00+00:00 | ||
updated = 2021-05-01T08:00:00+00:00 | ||
draft = false | ||
weight = 10 | ||
sort_by = "weight" | ||
template = "docs/page.html" | ||
|
||
[extra] | ||
lead = 'Libical is an Open Source implementation of the iCalendar protocols and protocol data units. The iCalendar specification describes how calendar clients can communicate with calendar servers so users can store their calendar data and arrange meetings with other users. ' | ||
toc = true | ||
top = false | ||
+++ | ||
|
||
## Quick Start | ||
|
||
One page summary of how to start with the library. [Quick Start →](@/docs/getting-started/quick-start.md) | ||
|
||
## Contributing | ||
|
||
Find out how to contribute to. [Contributing →](@docs/contributing/get-involved.md) | ||
|
||
## Developer references | ||
|
||
[libical Reference Documentation →](../../developer/libical/) | ||
|
||
[libical-glib Reference Documentation →](../../developer/libical-glib/) |
Oops, something went wrong.