Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added SHFB automated doc generation project #490

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
20 changes: 20 additions & 0 deletions BouncyCastle.sln
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,17 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BouncyCastle.Crypto", "cryp
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BouncyCastle.Crypto.Tests", "crypto\test\BouncyCastle.Crypto.Tests.csproj", "{4C1B7AC6-C338-4DB4-BB3A-E6B2F1882E7E}"
EndProject
Project("{7CF6DF6D-3B04-46F8-A40B-537D21BCA0B4}") = "BouncyCastle.DocGen", "crypto\docgen\BouncyCastle.DocGen.shfbproj", "{8D3A56C4-E999-4AF3-9854-E9EF80013761}"
ProjectSection(ProjectDependencies) = postProject
{25326952-177B-4D34-9448-3024AF0D7B46} = {25326952-177B-4D34-9448-3024AF0D7B46}
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "docs", "docs", "{1F38A359-32F3-4350-BAA3-FF3F2C269778}"
ProjectSection(SolutionItems) = preProject
docs\README.md = docs\README.md
docs\_config.yml = docs\_config.yml
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Expand All @@ -36,10 +47,19 @@ Global
{4C1B7AC6-C338-4DB4-BB3A-E6B2F1882E7E}.Publish|Any CPU.Build.0 = Publish|Any CPU
{4C1B7AC6-C338-4DB4-BB3A-E6B2F1882E7E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4C1B7AC6-C338-4DB4-BB3A-E6B2F1882E7E}.Release|Any CPU.Build.0 = Release|Any CPU
{8D3A56C4-E999-4AF3-9854-E9EF80013761}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8D3A56C4-E999-4AF3-9854-E9EF80013761}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8D3A56C4-E999-4AF3-9854-E9EF80013761}.Publish|Any CPU.ActiveCfg = Debug|Any CPU
{8D3A56C4-E999-4AF3-9854-E9EF80013761}.Publish|Any CPU.Build.0 = Debug|Any CPU
{8D3A56C4-E999-4AF3-9854-E9EF80013761}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8D3A56C4-E999-4AF3-9854-E9EF80013761}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{1F38A359-32F3-4350-BAA3-FF3F2C269778} = {F8F54480-386E-4CE7-8C0E-537922E2A634}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {491E9412-DD09-44EE-86A7-2D0C51842AFC}
EndGlobalSection
Expand Down
172 changes: 172 additions & 0 deletions crypto/docgen/BouncyCastle.DocGen.shfbproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,172 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<!-- The configuration and platform will be used to determine which assemblies to include from solution and project documentation sources -->
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>8d3a56c4-e999-4af3-9854-e9ef80013761</ProjectGuid>
<SHFBSchemaVersion>2017.9.26.0</SHFBSchemaVersion>
<!-- AssemblyName, Name, and RootNamespace are not used by SHFB but Visual Studio adds them anyway -->
<AssemblyName>docgen</AssemblyName>
<RootNamespace>docgen</RootNamespace>
<Name>BouncyCastle.DocGen</Name>
<!-- SHFB properties -->
<FrameworkVersion>.NET Core/.NET Standard/.NET 5.0+</FrameworkVersion>
<OutputPath>..\..\docs\help\</OutputPath>
<HtmlHelpName>Library Documentation</HtmlHelpName>
<Language>en-US</Language>
<TransformComponentArguments>
<Argument Key="RobotsMetadata" Value="" />
<Argument Key="BibliographyDataFile" Value="" />
<Argument Key="RootBreadcrumbTitleText" Value="Docs" />
<Argument Key="ResizableTocColumn" Value="False" />
<Argument Key="CollapsibleSections" Value="True" />
<Argument Key="LogoFile" Value="bc-square-48.png" />
<Argument Key="LogoHeight" Value="" />
<Argument Key="LogoWidth" Value="" />
<Argument Key="LogoAltText" Value="Bouncy Castle Cryptography Library for .NET" />
<Argument Key="LogoPlacement" Value="left" />
<Argument Key="LogoAlignment" Value="left" />
<Argument Key="LogoUrl" Value="https://www.bouncycastle.org/csharp/" />
<Argument Key="MaxVersionParts" Value="" />
<Argument Key="DefaultLanguage" Value="cs" />
<Argument Key="IncludeEnumValues" Value="true" />
<Argument Key="EnumMemberSortOrder" Value="Value" />
<Argument Key="FlagsEnumValueFormat" Value="IntegerValue" />
<Argument Key="FlagsEnumSeparatorSize" Value="0" />
<Argument Key="BaseSourceCodeUrl" Value="https://github.com/bcgit/bc-csharp/blob/master/crypto/" />
<Argument Key="RequestExampleUrl" Value="Create a new issue: https://github.com/bcgit/bc-csharp/issues/new" />
</TransformComponentArguments>
<HelpFileFormat>Website</HelpFileFormat>
<SyntaxFilters>C#, Visual Basic, Managed C++, JavaScript</SyntaxFilters>
<PresentationStyle>Default2022</PresentationStyle>
<CleanIntermediates>True</CleanIntermediates>
<KeepLogFile>True</KeepLogFile>
<DisableCodeBlockComponent>False</DisableCodeBlockComponent>
<IndentHtml>False</IndentHtml>
<BuildAssemblerVerbosity>OnlyWarningsAndErrors</BuildAssemblerVerbosity>
<SaveComponentCacheCapacity>100</SaveComponentCacheCapacity>
<VisibleItems>Attributes, InheritedMembers, InheritedFrameworkMembers, Protected, ProtectedInternalAsProtected, EditorBrowsableNever, NonBrowsable</VisibleItems>
<ComponentConfigurations>
<ComponentConfig id="Code Block Component" enabled="True">
<component id="Code Block Component">
<basePath value="{@HtmlEncProjectFolder}" />
<outputPaths>{@HelpFormatOutputPaths}</outputPaths>
<allowMissingSource value="false" />
<removeRegionMarkers value="false" />
<colorizer syntaxFile="{@CoreComponentsFolder}Colorizer\highlight.xml" styleFile="{@CoreComponentsFolder}Colorizer\highlight.xsl" stylesheet="{@CoreComponentsFolder}Colorizer\highlight.css" scriptFile="{@CoreComponentsFolder}Colorizer\highlight.js" disabled="{@DisableCodeBlockComponent}" language="cs" tabSize="0" numberLines="false" outlining="false" keepSeeTags="false" defaultTitle="true" />
</component>
</ComponentConfig>
<ComponentConfig id="API Token Resolution" enabled="True">
<component id="API Token Resolution">{@TokenFiles}
<replace elements="/*//token" item="string(.)" /></component>
</ComponentConfig>
<ComponentConfig id="IntelliSense Component" enabled="True">
<component id="IntelliSense Component">
<output includeNamespaces="false" namespacesFile="Namespaces" folder="{@OutputFolder}" boundedCapacity="100" />
</component>
</ComponentConfig>
<ComponentConfig id="Syntax Component" enabled="True">
<component id="Syntax Component">
<syntax input="/document/reference" output="/document/syntax" renderReferenceLinks="true" />
<generators>
{@SyntaxFilters}
</generators>
<containerElement name="codeSnippetGroup" addNoExampleTabs="true" includeOnSingleSnippets="false" groupingEnabled="{@CodeSnippetGrouping}" />
<configurations>
<generator id="C#" />
<generator id="Visual Basic">
<includeLineContinuation value="false" />
</generator>
<generator id="Visual Basic Usage">
<includeLineContinuation value="false" />
</generator>
<generator id="Managed C++" />
<generator id="F#" />
<generator id="J#" />
<generator id="JScript" />
<generator id="JavaScript" />
<generator id="XAML Usage" />
<generator id="ASP.NET" />
<generator id="X#" />
</configurations>
</component>
</ComponentConfig>
</ComponentConfigurations>
<PlugInConfigurations>
<PlugInConfig id="Table of Contents Exclusion" enabled="True">
<configuration />
</PlugInConfig>
</PlugInConfigurations>
<DocumentationSources>
<DocumentationSource sourceFile="..\src\BouncyCastle.Crypto.csproj" />
</DocumentationSources>
<WarnOnMissingSourceContext>False</WarnOnMissingSourceContext>
<HelpTitle>Bouncy Castle Library</HelpTitle>
<HelpFileVersion>2.2.1.0</HelpFileVersion>
<RootNamespaceContainer>False</RootNamespaceContainer>
<NamespaceGrouping>False</NamespaceGrouping>
<MaximumGroupParts>6</MaximumGroupParts>
<Preliminary>False</Preliminary>
<SdkLinkTarget>Blank</SdkLinkTarget>
<CopyrightHref>https://github.com/bcgit/bc-csharp/blob/master/LICENSE.md</CopyrightHref>
<CopyrightText>Copyright &amp;#169%3b 2000-2023 The Legion of the Bouncy Castle Inc.</CopyrightText>
<FeedbackEMailAddress>feedback-crypto%40bouncycastle.org</FeedbackEMailAddress>
<FeedbackEMailLinkText>Feedback</FeedbackEMailLinkText>
<HeaderText>
</HeaderText>
<FooterText>&amp;lt%3bspan class=&amp;quot%3bsite-footer-credits&amp;quot%3b&amp;gt%3b
&amp;lt%3ba href=&amp;quot%3bhttps://gridprotectionalliance.github.io/bc-csharp/&amp;quot%3b target=&amp;quot%3b_self&amp;quot%3b&amp;gt%3bDocumentation Home&amp;lt%3b/a&amp;gt%3b &amp;lt%3bbr/&amp;gt%3b&amp;lt%3bbr/&amp;gt%3b
Generated by &amp;lt%3ba href=&amp;quot%3bhttps://github.com/EWSoftware/SHFB&amp;quot%3b target=&amp;quot%3b_blank&amp;quot%3b&amp;gt%3bSandcastle Help File Builder&amp;lt%3b/a&amp;gt%3b
&amp;lt%3b/span&amp;gt%3b</FooterText>
<RootNamespaceTitle>
</RootNamespaceTitle>
<ProjectSummary>
</ProjectSummary>
<NamespaceSummaries>
</NamespaceSummaries>
<ComponentPath>
</ComponentPath>
<NamingMethod>MemberName</NamingMethod>
<SourceCodeBasePath>..\</SourceCodeBasePath>
<ContentPlacement>AboveNamespaces</ContentPlacement>
<MissingTags>AutoDocumentCtors, AutoDocumentDispose</MissingTags>
</PropertyGroup>
<!-- There are no properties for these groups. AnyCPU needs to appear in order for Visual Studio to perform the build. The others are optional common platform types that may appear. -->
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
</PropertyGroup>
<ItemGroup>
<Folder Include="content" />
<Folder Include="icons" />
<Folder Include="media" />
<Folder Include="css" />
</ItemGroup>
<ItemGroup>
<None Include="content\About.aml" />
<Content Include="icons\favicon.ico" />
<Content Include="icons\help.png" />
<Content Include="icons\bc-square-48.png">
<ImageId>bc-square-48</ImageId>
<AlternateText>Bouncy Castle</AlternateText>
</Content>
<Content Include="css\presentationStyle.css" />
<ContentLayout Include="layout.content" />
</ItemGroup>
<ItemGroup>
<Tokens Include="common.tokens" />
</ItemGroup>
<!-- Import the SHFB build targets -->
<Import Project="$(SHFBROOT)\SandcastleHelpFileBuilder.targets" />
<!-- The pre-build and post-build event properties must appear *after* the targets file import in order to be evaluated correctly. -->
<PropertyGroup>
<PreBuildEvent>
</PreBuildEvent>
<PostBuildEvent>
</PostBuildEvent>
<RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
</PropertyGroup>
</Project>
32 changes: 32 additions & 0 deletions crypto/docgen/common.tokens
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="utf-8"?>
<content xml:space="preserve" xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
<item id="AboutBouncyCastleSection">
<ddue:section xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5">
<ddue:title>About the Bouncy Castle Cryptography Library For .NET</ddue:title>
<ddue:content>
<ddue:para>
The Bouncy Castle Cryptography library is a .NET implementation of cryptographic algorithms and protocols.
It was developed by the Legion of the Bouncy Castle, a registered Australian Charity, with a little help!
The Legion, and the latest goings on with this package, can be found at
<ddue:externalLink>
<ddue:linkText>https://www.bouncycastle.org</ddue:linkText>
<ddue:linkAlternateText>https://www.bouncycastle.org</ddue:linkAlternateText>
<ddue:linkUri>https://www.bouncycastle.org</ddue:linkUri>
<ddue:linkTarget>_blank</ddue:linkTarget>
</ddue:externalLink>.
</ddue:para>
<ddue:para>
In addition to providing basic cryptography algorithms, the package also provides support for CMS, OpenPGP,
(D)TLS, TSP, X.509 certificate generation and more. The package also includes implementations of the following
NIST Post-Quantum Cryptography Standardization algorithms: CRYSTALS-Dilithium, CRYSTALS-Kyber, Falcon, SPHINCS+,
Classic McEliece, FrodoKEM, NTRU, NTRU Prime, Picnic, Saber, BIKE, and SIKE. These should all be considered
EXPERIMENTAL and subject to change or removal. SIKE in particular is already slated for removal and should be
used for research purposes only.
</ddue:para>
</ddue:content>
</ddue:section></item>
<item id="SHFB"><ddue:externalLink xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5">
<ddue:linkText>Sandcastle Help File Builder</ddue:linkText>
<ddue:linkUri>https://GitHub.com/EWSoftware/SHFB</ddue:linkUri>
</ddue:externalLink></item>
</content>
19 changes: 19 additions & 0 deletions crypto/docgen/content/About.aml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<topic id="About" revisionNumber="1">
<developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
<introduction>
<para>
The Bouncy Castle Cryptography library is a .NET implementation of cryptographic algorithms and protocols.
</para>
<para>
Return to
<externalLink>
<linkText>documentation home</linkText>
<linkUri>https://gridprotectionalliance.github.io/bc-csharp/</linkUri>
<linkTarget>_self</linkTarget>
</externalLink>.
</para>
</introduction>
<token>AboutBouncyCastleSection</token>
</developerConceptualDocument>
</topic>
Loading