Skip to content

Commit

Permalink
Upgraded the documentation to use the latest docfx tool
Browse files Browse the repository at this point in the history
- Updated the builddocs.yml
- Renamed the doc to Docs
- Moved the doc/*.md files to Doc/articles/*.md
- Moved the docfx.json to Doc/docfx.json
- Moved the index.md to Doc/index.md
  • Loading branch information
paulushub committed Feb 4, 2024
1 parent a2c69b7 commit 705ad06
Show file tree
Hide file tree
Showing 27 changed files with 372 additions and 77 deletions.
77 changes: 39 additions & 38 deletions .github/workflows/builddocs.yml
Original file line number Diff line number Diff line change
@@ -1,47 +1,48 @@
# GitHub workflow file under .github/workflows/
name: DocBuild

# Trigger the action on push to master
on:
push:
branches: master
branches:
- master

defaults:
run:
shell: bash
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write

# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false

jobs:
build_docs:
publish-docs:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: windows-latest
steps:
- name: Checkout master
uses: actions/checkout@v2
with:
path: main
- name: Get last commit message
run: |
cd main
echo "LAST_COMMIT=$(echo `git log -1 --pretty=%B`)" >> $GITHUB_ENV
cd ..
- name: Checkout gh-pages
uses: actions/checkout@v2
with:
ref: gh-pages
path: doc
- name: Install requirements
run: choco install docfx -y
- name: Build documentation
run: |
echo `pwd`
cd main
docfx docfx.json
cd ../doc
git config --global core.autocrlf false
git config --global user.email "[email protected]"
git config --global user.name "CI Build"
cp -r ../main/_site/* .
git add -A
if [ `git status -s | wc -l` = 0 ]; then
echo "No changes in built documentation, skipping"
exit 0
fi
git commit -m "$LAST_COMMIT" -q
git push origin gh-pages -q
- name: Checkout
uses: actions/checkout@v3
- name: Dotnet Setup
uses: actions/setup-dotnet@v3
with:
dotnet-version: 8.x

- run: dotnet tool update -g docfx
- run: docfx Docs/docfx.json

- name: Setup Pages
uses: actions/configure-pages@v3
- name: Upload artifact
uses: actions/upload-pages-artifact@v2
with:
# Upload entire repository
path: 'Docs/_site'
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v2
9 changes: 9 additions & 0 deletions Docs/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
###############
# folder #
###############
/**/DROP/
/**/TEMP/
/**/packages/
/**/bin/
/**/obj/
_site
30 changes: 30 additions & 0 deletions Docs/Readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
![W3C SVG Logo](https://www.w3.org/Icons/SVG/svg-logo-v.png)
## SVG.NET

Public fork of the C# SVG rendering library on CodePlex (out of service).

This started out as a minor modification to enable the writing of proper SVG strings. But now after almost two years we have so many fixes and improvements that we decided to share our current codebase to the public in order to improve it even further.

So please feel free to fork it and open pull requests for any fix, improvement or feature you add.
You may check the [contributing guide](https://github.com/svg-net/SVG/blob/master/CONTRIBUTING.md) for more information on how to do this.

For information on installation and usage of the library, and for release notes please check the [documentation pages](https://svg-net.github.io/SVG/).

## Projects using the library

* [vvvv](https://vvvv.org) a hybrid visual/textual live-programming environment for easy prototyping and development.
* [Posh](https://github.com/vvvv/Posh) a windowing/interaction/drawing layer for C#/.NET desktop applications with their GUI in a browser.
* [Timeliner](https://github.com/vvvv/Timeliner) a Posh based timeline that can be controlled by and sends out its values via OSC.
* [Chordious](https://chordious.com) a fretboard diagram generator for fretted stringed instruments.
* [HttpMaster](https://www.httpmaster.net) a Windows tool for HTTP testing and debugging.

If you want your project in this list, send me a pull request on this file or link + short description to tebjan (at) vvvv.org

## License
Licensed under the [MS-PL license](https://github.com/svg-net/SVG?tab=MS-PL-1-ov-file),

This project has dependencies on other open-source projects. These projects are referenced via NuGet packages and might be subject to different licenses.

|Project|Author|Sources|License|
|--------|-----|---|---------|
|ExCSS|Tyler Brinks (@tylerbrinks)|[GitHub](https://github.com/TylerBrinks/ExCSS)|[MIT](https://github.com/TylerBrinks/ExCSS/blob/master/license.txt)|
5 changes: 5 additions & 0 deletions Docs/api/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
###############
# temp file #
###############
*.yml
.manifest
27 changes: 27 additions & 0 deletions Docs/api/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# API Reference

## [](#namespaces)Namespaces

#### [Svg](xref:Svg)
[!include[](../namespaces/Svg.md)]

#### [Svg.DataTypes](xref:Svg.DataTypes)
[!include[](../namespaces/Svg.DataTypes.md)]

#### [Svg.Exceptions](xref:Svg.Exceptions)
[!include[](../namespaces/Svg.Exceptions.md)]

#### [Svg.ExtensionMethods](xref:Svg.ExtensionMethods)
[!include[](../namespaces/Svg.ExtensionMethods.md)]

#### [Svg.FilterEffects](xref:Svg.FilterEffects)
[!include[](../namespaces/Svg.FilterEffects.md)]

#### [Svg.Pathing](xref:Svg.Pathing)
[!include[](../namespaces/Svg.Pathing.md)]

#### [Svg.Transforms](xref:Svg.Transforms)
[!include[](../namespaces/Svg.Transforms.md)]



1 change: 1 addition & 0 deletions doc/Q&A.md → Docs/articles/Faq.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# Q & A
This is currently a collection of answered questions in issues that have been closed meanwhile.
The format of the page is preliminary and maybe changed if more questions accumulate.

Expand Down
2 changes: 2 additions & 0 deletions doc/GettingStarted.md → Docs/articles/GettingStarted.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# Getting Started

## Getting the library

Depending on the way you want to work with the library you can get the SVG library via NuGet, or roll your own binary from the sources or a personal fork of the sources.
Expand Down
36 changes: 36 additions & 0 deletions Docs/articles/Introduction.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# SVG.NET

Public fork of the C# SVG rendering library on CodePlex (out of service).

This started out as a minor modification to enable the writing of proper SVG strings. But now after almost two years we have so many fixes and improvements that we decided to share our current codebase to the public in order to improve it even further.

So please feel free to fork it and open pull requests for any fix, improvement or feature you add.
You may check the [contributing guide](https://github.com/svg-net/SVG/blob/master/CONTRIBUTING.md) for more information on how to do this.

## Downloads
The SVG-NET is available as [NuGet Package](https://www.nuget.org/packages/svg).
The respository includes
* **Source:** The main source code directory.
* **Generators:** A Roslyn source code generator for generating the SVG factory elements.
* **Tests:** NUnit based test unit project, benchmark project and other test tools, and
* **Samples:** For sample applications
* **Docs:** For the documentations (in markdown format).

## Projects using the library

* [vvvv](https://vvvv.org) a hybrid visual/textual live-programming environment for easy prototyping and development.
* [Posh](https://github.com/vvvv/Posh) a windowing/interaction/drawing layer for C#/.NET desktop applications with their GUI in a browser.
* [Timeliner](https://github.com/vvvv/Timeliner) a Posh based timeline that can be controlled by and sends out its values via OSC.
* [Chordious](https://chordious.com) a fretboard diagram generator for fretted stringed instruments.
* [HttpMaster](https://www.httpmaster.net) a Windows tool for HTTP testing and debugging.

If you want your project in this list, send me a pull request on this file or link + short description to tebjan (at) vvvv.org

## License
Licensed under the [MS-PL license](https://github.com/svg-net/SVG?tab=MS-PL-1-ov-file),

This project has dependencies on other open-source projects. These projects are referenced via NuGet packages and might be subject to different licenses.

|Project|Author|Sources|License|
|--------|-----|---|---------|
|ExCSS|Tyler Brinks (@tylerbrinks)|[GitHub](https://github.com/TylerBrinks/ExCSS)|[MIT](https://github.com/TylerBrinks/ExCSS/blob/master/license.txt)|
44 changes: 44 additions & 0 deletions Docs/articles/License.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# Microsoft Public License (Ms-PL)

This license governs use of the accompanying software. If you use the software, you accept this license.
If you do not accept the license, do not use the software.

## 1. Definitions

The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning here as under U.S. copyright law.

A "contribution" is the original software, or any additions or changes to the software.

A "contributor" is any person that distributes its contribution under this license.

"Licensed patents" are a contributor's patent claims that read directly on its contribution.

## 2. Grant of Rights

(A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations in section 3,
each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to reproduce its contribution,
prepare derivative works of its contribution, and distribute its contribution or any derivative works that you create.

(B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in section 3,
each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed patents to make, have made,
use, sell, offer for sale, import, and/or otherwise dispose of its contribution in the software or derivative works of
the contribution in the software.

## 3. Conditions and Limitations

(A) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks.

(B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software,
your patent license from such contributor to the software ends automatically.

(C) If you distribute any portion of the software, you must retain all copyright, patent, trademark,
and attribution notices that are present in the software.

(D) If you distribute any portion of the software in source code form, you may do so only under this license
by including a complete copy of this license with your distribution. If you distribute any portion of the software
in compiled or object code form, you may only do so under a license that complies with this license.

(E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties,
guarantees or conditions. You may have additional consumer rights under your local laws which this license cannot change.
To the extent permitted under your local laws, the contributors exclude the implied warranties of merchantability,
fitness for a particular purpose and non-infringement.
File renamed without changes.
File renamed without changes.
12 changes: 12 additions & 0 deletions Docs/articles/toc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
- name: Introduction
href: Introduction.md
- name: Getting Started
href: GettingStarted.md
- name: Q&A
href: Faq.md
- name: Release Notes
href: ReleaseNotes.md
- name: Sample Code
href: Samples.md
- name: License
href: License.md
91 changes: 91 additions & 0 deletions Docs/docfx.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
{
"metadata": [
{
"src": [
{
"files": [
"Svg.csproj"
],
"src": "../Source/",
"properties": {
"TargetFramework": "net8.0"
}
}
],
"dest": "api",
"outputFormat": "mref",
"includePrivateMembers": false,
"disableGitFeatures": false,
"disableDefaultFilter": false,
"filter": "filterConfig.yml",
"noRestore": false,
"namespaceLayout": "flattened",
"memberLayout": "samePage",
"enumSortOrder": "alphabetic",
"allowCompilationErrors": false
}
],
"build": {
"content": [
{
"files": [
"api/**.yml",
"api/index.md"
]
},
{
"files": [
"articles/**.md",
"articles/**/toc.yml",
"toc.yml",
"*.md"
]
}
],
"resource": [
{
"files": [
"images/**"
]
}
],
"overwrite": [
{
"files": [
"namespaces/**.md"
],
"exclude": [
"obj/**"
]
}
],
"globalMetadata": {
"_appName": "SVG-NET",
"_appTitle": "SVG-NET Documentation",
"_appLogoPath": "images/svg.png",
"_appFaviconPath": "images/svg.png",
"_enableDiagrams": true,
"_enableSearch": true,
"pdf": false,
"pdfTocPage": false,
"_appFooter": "<div class=\"d-flex flex-column flex-sm-row justify-content-between pt-1\"><p> &copy; 2013 - 2024 SVG-NET</p><p>Made with <a href=\"https://dotnet.github.io/docfx\">DocFX</a></p></div>",
"_gitContribute": {
"repo": "https://github.com/svg-net/SVG",
"branch": "master"
},
"_gitUrlPattern": "github"
},
"output": "_site",
"xref": [ "https://github.com/dotnet/docfx/raw/main/.xrefmap.json" ],
"globalMetadataFiles": [],
"fileMetadataFiles": [],
"template": [
"default",
"modern",
"template"
],
"postProcessors": [],
"keepFileLink": false,
"disableGitFeatures": false
}
}
4 changes: 4 additions & 0 deletions Docs/filterConfig.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
apiRules:
- exclude:
uidRegex: ^Svg\.Document_Structure$
type: Namespace
Binary file added Docs/images/svg.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
12 changes: 6 additions & 6 deletions index.md → Docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,14 @@
Welcome to the documentation for the SVG.NET library!

### Usage documentation
- [Getting Started](doc/GettingStarted.html)
- [Q&A](doc/Q&A.html)
- [Generated API documentation](api/Svg.html)
- [Sample Code](doc/Samples.html)
- [Getting Started](articles/GettingStarted.md)
- [Q&A](articles/Faq.md)
- [Generated API documentation](api/index.md)
- [Sample Code](articles/Samples.md)

### Project documentation
- [Release Notes](doc/ReleaseNotes.html)
- [Contributing Guide](CONTRIBUTING.html)
- [Release Notes](articles/ReleaseNotes.md)
- [Contributing Guide](https://github.com/svg-net/SVG/blob/master/CONTRIBUTING.md)

_Note that this documentation is work in progress.
You are always welcome to help improving it!_
5 changes: 5 additions & 0 deletions Docs/namespaces/Svg.DataTypes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
uid: Svg.DataTypes
summary: *content
---
The **Svg.DataTypes** namespace contains classes defining the basic data types used by the SVG-NET library.
Loading

0 comments on commit 705ad06

Please sign in to comment.