RealSense.BBCode 2.0.0

This package contains the RealSense.BBCode class library and documentation.

Install-Package RealSense.BBCode -Version 2.0.0
dotnet add package RealSense.BBCode --version 2.0.0
<PackageReference Include="RealSense.BBCode" Version="2.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add RealSense.BBCode --version 2.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: RealSense.BBCode, 2.0.0"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install RealSense.BBCode as a Cake Addin
#addin nuget:?package=RealSense.BBCode&version=2.0.0

// Install RealSense.BBCode as a Cake Tool
#tool nuget:?package=RealSense.BBCode&version=2.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Class Structure:

IBBSegment                  An interface that represents a section of text or code
|
+-- BBStatic                A Base Class for portions of text that doesn't include BB Codes
|   |
|   +-- BBStaticText        Portion of static text (typically requires HttpEncoding)
|   |
|   +-- BBNewLine           Represents a New Line character (singleton instance: use BBNewLine.Create())
|
+-- BBCodeInstance	       Represents a BBCode.  Holds the actual Tag used, the IBBCode and a SegmentCollection for any subitems (if allowed)


Calling application can implement additional tags as follows:

1) Create classes that implement the IBBCode interface
2) Register the type with BBParser.Register() specifying the tag to associate.

You can multiple tags with the same class instance
You can unregister tags and register your own replacements

Default IBBCode Interface implementations:

   +-- BBCodeB             Represents a Bold sequence
   |
   +-- BBCodeI             Represents an Italisied sequence
   |
   +-- BBCodeU             Represents an Underlined sequence
   |
   +-- BBCodeURL           Represents a URL link
   |
   +-- BBCodeQuote         Represents a Block Quote
   |
   +-- BBCodeCode          Represents some code
   |
   +-- BBCodeS             Represents some stikethrough text
   |
   +-- BBCodeList          Represents an <ol> or <ul> (optional parameter can be { 1,A,a,I,i }
   |
   +-- BBCodeLI            Represents an <li>
   |
   +-- BBCodeTable         Represents a <table>
   |
   +-- BBCodeTR            Represents a <tr>
   |
   +-- BBCodeTH            Represents a <th>
   |
   +-- BBCodeTD            Represents a <td>

Version Information

v02 | 2015-05-27 | Chris Walsh
Ran through Resharper Tool in 2015-05-27 and removed all items.
Vastly restricted public interface without losing functionality (e.g. allowing external codes to be registered and unhandled codes to be delegated back)
Scope for improvement in allowing certain BBCodes to use a singleton rather than instantiation, maybe by a Create method to be implemented.

v03 | 2017-03-23 | Chris Walsh
Migrated to a nuget package. Changed the namespace to RealSense.BBCode.
Changed IBBCode properties AllowedCodes and AllowedParents from Type[] to ReadOnlyTypeCollection so that calling applications cannot modify the list.

v04 | 2019-08-13 | Chris Walsh
Migrated to .NET Standard 2.0.

Class Structure:

IBBSegment                  An interface that represents a section of text or code
|
+-- BBStatic                A Base Class for portions of text that doesn't include BB Codes
|   |
|   +-- BBStaticText        Portion of static text (typically requires HttpEncoding)
|   |
|   +-- BBNewLine           Represents a New Line character (singleton instance: use BBNewLine.Create())
|
+-- BBCodeInstance	       Represents a BBCode.  Holds the actual Tag used, the IBBCode and a SegmentCollection for any subitems (if allowed)


Calling application can implement additional tags as follows:

1) Create classes that implement the IBBCode interface
2) Register the type with BBParser.Register() specifying the tag to associate.

You can multiple tags with the same class instance
You can unregister tags and register your own replacements

Default IBBCode Interface implementations:

   +-- BBCodeB             Represents a Bold sequence
   |
   +-- BBCodeI             Represents an Italisied sequence
   |
   +-- BBCodeU             Represents an Underlined sequence
   |
   +-- BBCodeURL           Represents a URL link
   |
   +-- BBCodeQuote         Represents a Block Quote
   |
   +-- BBCodeCode          Represents some code
   |
   +-- BBCodeS             Represents some stikethrough text
   |
   +-- BBCodeList          Represents an <ol> or <ul> (optional parameter can be { 1,A,a,I,i }
   |
   +-- BBCodeLI            Represents an <li>
   |
   +-- BBCodeTable         Represents a <table>
   |
   +-- BBCodeTR            Represents a <tr>
   |
   +-- BBCodeTH            Represents a <th>
   |
   +-- BBCodeTD            Represents a <td>

Version Information

v02 | 2015-05-27 | Chris Walsh
Ran through Resharper Tool in 2015-05-27 and removed all items.
Vastly restricted public interface without losing functionality (e.g. allowing external codes to be registered and unhandled codes to be delegated back)
Scope for improvement in allowing certain BBCodes to use a singleton rather than instantiation, maybe by a Create method to be implemented.

v03 | 2017-03-23 | Chris Walsh
Migrated to a nuget package. Changed the namespace to RealSense.BBCode.
Changed IBBCode properties AllowedCodes and AllowedParents from Type[] to ReadOnlyTypeCollection so that calling applications cannot modify the list.

v04 | 2019-08-13 | Chris Walsh
Migrated to .NET Standard 2.0.

Release Notes

This version is compiled to .NET Standard 2.0.

  • .NETStandard 2.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
2.0.0 305 8/13/2019
1.0.2 679 5/3/2017
1.0.1 543 3/23/2017
1.0.0 535 3/23/2017