Skip to content

Commit f9b378b

Browse files
committed
Initial commit
0 parents  commit f9b378b

File tree

1,949 files changed

+603626
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,949 files changed

+603626
-0
lines changed

.github/workflows/main.yml

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
name: Zola on GitHub Pages
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
8+
jobs:
9+
build:
10+
permissions:
11+
contents: read
12+
pages: write
13+
id-token: write
14+
name: Publish site
15+
runs-on: ubuntu-latest
16+
if: github.ref == 'refs/heads/main'
17+
steps:
18+
- name: Checkout
19+
uses: actions/checkout@v4
20+
- name: Build and Deploy
21+
uses: shalzz/[email protected]
22+
env:
23+
BUILD_ONLY: true
24+
- name: Move Documentation
25+
run: |
26+
rm public/docs/developer/libical
27+
mv public/apidocs public/docs/developer/libical
28+
rm public/docs/developer/libical-glib
29+
mv public/libical-glib public/docs/developer/libical-glib
30+
- name: Upload Artifact
31+
uses: actions/upload-pages-artifact@v2
32+
with:
33+
# upload entire directory
34+
path: 'public'
35+
36+
deploy:
37+
runs-on: ubuntu-latest
38+
needs: build
39+
environment:
40+
name: github-pages
41+
url: ${{steps.deployment.outputs.page_url}}
42+
steps:
43+
- name: Deploy artifact
44+
id: deployment
45+
uses: actions/deploy-pages@v1

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[submodule "themes/adidoks"]
2+
path = themes/adidoks
3+
url = https://github.com/aaranxu/adidoks.git

config.toml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# The URL the site will be built for
2+
base_url = "https://libical.github.io"
3+
title = "libical"
4+
description = "Open Source implementation of the iCalendar protocols and protocol data units."
5+
6+
# Whether to automatically compile all Sass files in the sass directory
7+
compile_sass = true
8+
9+
# Whether to build a search index to be used later on by a JavaScript library
10+
build_search_index = true
11+
12+
theme = "adidoks"
13+
14+
[markdown]
15+
# Whether to do syntax highlighting
16+
# Theme can be customised by setting the `highlight_theme` variable to a theme supported by Zola
17+
highlight_code = true
18+
19+
[extra]
20+
# Put all your custom variables here
21+
edit_page = false
22+
docs_repo = "https://github.com/libical/io.github.libical"
23+
repo_branch = "main"
24+
25+
[extra.footer]
26+
info = 'Powered by <a href="https://www.getzola.org/">Zola</a>, and <a href="https://github.com/aaranxu/adidoks">AdiDoks</a>'
27+
28+
[[extra.menu.social]]
29+
name = "GitHub"
30+
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>'
31+
url = "https://github.com/libical/libical"
32+
post = "v0.1.0"
33+
weight = 20

content/_index.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
+++
2+
title = "The iCalendar library"
3+
4+
5+
# The homepage contents
6+
[extra]
7+
lead = '<b>libical</b> is an Open Source implementation of the iCalendar protocols and protocol data units.'
8+
url = "/docs/getting-started/introduction/"
9+
url_button = "Get started"
10+
repo_version = "v3.0.18"
11+
repo_license = "MPL v2.0 or LGPL v2.1 —"
12+
repo_url = "https://github.com/aaranxu/adidoks"
13+
14+
# Menu items
15+
[[extra.menu.main]]
16+
name = "Docs"
17+
section = "docs"
18+
url = "/docs/getting-started/introduction/"
19+
weight = 10
20+
21+
[[extra.list]]
22+
title = "Based on Standards"
23+
content = 'Implements RFC2445, RFC2446 and some of RFC2447 the CalDav scheduling extensions in RFC6638 and RFC7986; plus the iCalendar iMIP protocol in RFC6047.'
24+
25+
[[extra.list]]
26+
title = "Used by many"
27+
content = 'libical is at the base of the <a href="https://www.cyrusimap.org">Cyrus Server</a>, <a href="https://kontact.kde.org">KDE&apos;s KContact Suite</a>, <a href="https://gitlab.gnome.org/GNOME/evolution-data-server">GNOME&apos;s Evolution Data Server</a>, <a href="https://syncevolution.org">syncEvolution</a> and <a href="https://flexibits.com/fantastical">Fantastical</a>.'
28+
29+
+++

content/docs/_index.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
+++
2+
title = "Docs"
3+
description = "The documents of the AdiDoks theme."
4+
sort_by = "weight"
5+
weight = 1
6+
template = "docs/section.html"
7+
+++
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
+++
2+
title = "Contributing"
3+
description = "Find out how to contribute."
4+
template = "docs/section.html"
5+
sort_by = "weight"
6+
weight = 4
7+
draft = false
8+
+++
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
+++
2+
title = "Code Quality"
3+
description = "Ensuring good overall code quality."
4+
date = 2021-05-01T18:20:00+00:00
5+
updated = 2021-05-01T18:20:00+00:00
6+
draft = false
7+
weight = 420
8+
sort_by = "weight"
9+
template = "docs/page.html"
10+
11+
[extra]
12+
lead = "Ensuring good overall code quality."
13+
toc = true
14+
top = false
15+
+++
16+
### Introduction ###
17+
18+
> I insist on code quality — Allen
19+
20+
This means:
21+
22+
1. No build failures on supported platforms (obviously including our [Continuous Integration ("CI") systems](https://travis-ci.org/libical/libical))
23+
2. No compiler warnings allowed using "strict" (strict being a relative term) compiler warning options
24+
3. No [splint](http://www.splint.org) issues using -weak checking
25+
4. No serious [Coverity Scan](http://scan.coverity.com) issues
26+
5. No serious [scan-build](http://clang-analyzer.llvm.org/scan-build.html) issues
27+
6. No [Krazy](https://github.com/Krazy-collection/krazy) issues
28+
7. No failed regression tests
29+
8. Coding Style is very strictly enforced
30+
9. (A goal) API documentation must be complete
31+
10. Each source file must have a proper license and copyright header (Krazy tests for this)
32+
11. Other stuff as I think of it
33+
34+
We want to be as portable as possible. We welcome ports to platforms we haven't encountered previously.
35+
36+
#### Compiler Warnings ####
37+
38+
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.
39+
40+
#### Continuous Integration ####
41+
42+
We use [Travis](https://travis-ci.org/libical/libical) to perform CI for libical on Linux and OSX.
43+
For Windows we use the [Appveyor](https://ci.appveyor.com/project/winterz/libical) CI
44+
45+
#### Lint Checking ####
46+
47+
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.
48+
49+
#### Static Analysis ####
50+
51+
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.
52+
53+
[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.
54+
55+
By the way, [cppcheck](http://cppcheck.sourceforge.net) is another tool I like for static code analysis. Occasionally we should run cppcheck as well.
56+
57+
#### Krazy Analysis ####
58+
59+
[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".
60+
61+
#### Coding Style ####
62+
63+
[Coding Style](@/docs/contributing/coding-style.md) is enforced.
64+
65+
#### API Documentation ####
66+
67+
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.
68+
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
+++
2+
title = "Coding Style Rules"
3+
description = "Rules for the style used the codebase."
4+
date = 2021-05-01T18:20:00+00:00
5+
updated = 2021-05-01T18:20:00+00:00
6+
draft = false
7+
weight = 420
8+
sort_by = "weight"
9+
template = "docs/page.html"
10+
11+
[extra]
12+
lead = "Follow these Coding Style Rules. Strictly Enforced. The relevant GNU indent options are in parens."
13+
toc = true
14+
top = false
15+
+++
16+
17+
* Use spaces for indenting. No tabs (-nut)
18+
* Indent level is 4 spaces (-i4)
19+
* Maximum line length is 100 characters (-l100 -lc100)
20+
* Do not put a space after every ’(’ and before every ’)’ (-nprs)
21+
* Do not put space after the function in function calls (-npcs)
22+
* Do not put a space after cast operators (-ncs)
23+
* Do not put a space between '#' and preprocessor directives (-nlps)
24+
* Put braces on line with if, etc. (-br)
25+
* Cuddle else and preceding ‘}’ (-ce)
26+
* Put the type of a procedure on the same line as its name (-npsl)
27+
* Put braces on line following function definition line (-blf)
28+
* Put braces on the line after struct declaration lines (-bls)
29+
* Do not force newlines after commas in declarations (-nbc)
30+
* Zero width indentation for parameters (-nip)
31+
* Do not indent parameter types (-ip0)
32+
* Do not indent case labels (-cli0)
33+
* Line up continued lines at parentheses (-lp)
34+
* Do not prefer to break long lines before boolean operators (-nbbo)
35+
* Force blank lines after procedure bodies (-bap)
36+
* Force blank lines after the declarations (-bad)
37+
* Swallow optional blank lines (-sob)
38+
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
+++
2+
title = "Get Involved"
3+
description = "Follow the project and contribute."
4+
date = 2021-05-01T18:10:00+00:00
5+
updated = 2021-05-01T18:10:00+00:00
6+
draft = false
7+
weight = 410
8+
sort_by = "weight"
9+
template = "docs/page.html"
10+
11+
[extra]
12+
lead = "Follow the project and contribute."
13+
toc = true
14+
top = false
15+
+++
16+
17+
Subscribe to our mailing lists:
18+
19+
* For developer discussions [libical-devel](http://lists.infradead.org/mailman/listinfo/libical-devel)
20+
21+
* For general discussions about libical and related projects [libical-interest](http://lists.infradead.org/mailman/listinfo/libical-interest)
22+
23+
Report bugs to [our issue tracker in GitHub](https://github.com/libical/libical/issues)

content/docs/developer/_index.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
+++
2+
title = "References"
3+
description = "Developer documentation."
4+
template = "docs/section.html"
5+
sort_by = "weight"
6+
weight = 7
7+
draft = false
8+
+++

0 commit comments

Comments
 (0)