You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Nov 9, 2023. It is now read-only.
Copy file name to clipboardExpand all lines: ReadMe.md
+17-16Lines changed: 17 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,4 @@
1
-
# *CsCss: .NET CSS Parser*
1
+
# *CsCss: .NET CSS Parser*
2
2
3
3
https://github.com/Athari/CsCss
4
4
@@ -90,7 +90,7 @@ Architecture
90
90
Conversion
91
91
----------
92
92
93
-
The major part of the library is ported by applying numerous regular expressions to original C++ code. C++ code and T4 files with regular expressions are included in the project (but are not included in the compiled DLL). The plan is to keep the code maintainable — when new version of Firefox is released, only minor modifications should be necessary, without trying to match converted code with new original code. Time will tell wether the idea is good.
93
+
The major part of the library is ported by applying numerous regular expressions to original C++ code. C++ code and T4 files with regular expressions are included in the project (but are not included in the compiled DLL). The plan is to keep the code maintainable — when new version of Firefox is released, only minor modifications should be necessary, without trying to match converted code with new original code. Time will tell wether the idea is good.
94
94
95
95
Only parts which are expected to update regularly are converted with regular expressions. Parts of code which are considered relatively stable (style sheets, value types etc.) or are unpractical to convert with regex (unions, operator new overriding etc.), are rewritten manually.
96
96
@@ -100,11 +100,11 @@ Building from sources
100
100
---------------------
101
101
102
102
Projects:
103
-
*`Alba.CsCss` — the library itself. Has no dependencies except .NET. If library is included in another solution, only this project is necessary.
104
-
*`Alba.CsCss.Tests` — "unit" tests (more like integration tests). Very few.
105
-
*`Alba.Framework` — personal framework. Debug version of the assembly must be built to be able to run T4 files. Necessary only if you want to modify source code transformations.
106
-
*`Alba.Framework.CodeGeneration` — T4 part of the personal framework. Must be built under Administrator account (installs `AttachT4` custom tool similar to T4 Toolbox's `T4ScriptFileGenerator`). Necessary if you want T4 transformations to be applied when original source files are updated, or want ot add new source files.
107
-
*`Alba.Framework.Testing` — testing part of the personal framework. Used in tests.
103
+
*`Alba.CsCss` — the library itself. Has no dependencies except .NET. If library is included in another solution, only this project is necessary.
104
+
*`Alba.CsCss.Tests` — "unit" tests (more like integration tests). Very few.
105
+
*`Alba.Framework` — personal framework. Debug version of the assembly must be built to be able to run T4 files. Necessary only if you want to modify source code transformations.
106
+
*`Alba.Framework.CodeGeneration` — T4 part of the personal framework. Must be built under Administrator account (installs `AttachT4` custom tool similar to T4 Toolbox's `T4ScriptFileGenerator`). Necessary if you want T4 transformations to be applied when original source files are updated, or want ot add new source files.
107
+
*`Alba.Framework.Testing` — testing part of the personal framework. Used in tests.
*[**CodeProject** article](http://www.codeproject.com/Articles/643493/Mozilla-Firefox-CSS-Parser-Ported-to-Csharp) — various details, discussion
125
+
*[**Habrahabr** article](http://habrahabr.ru/post/190820/)*(Russian)* — various details, discussion
125
126
126
127
##### Parsing CSS:
127
-
*[**ExCSS**](https://github.com/TylerBrinks/ExCSS) — another CSS parser for .NET. Stops parsing after some expressions. Analysis of expressions is much simpler (they are respresented as a list of terms). However, it supports modification, serialization to string, and is much more lightweight.
128
+
*[**ExCSS**](https://github.com/TylerBrinks/ExCSS) — another CSS parser for .NET. Stops parsing after some expressions. Analysis of expressions is much simpler (they are respresented as a list of terms). However, it supports modification, serialization to string, and is much more lightweight.
128
129
129
130
##### Parsing HTML:
130
-
*[**CsQuery**](https://github.com/jamietre/CsQuery) — jQuery port for .NET (HTML parser + fluent queries). Relies on HTML parser (see below) used in Mozilla Firefox, so very reliable.
131
-
*[HtmlParserSharp](https://github.com/jamietre/HtmlParserSharp) — validator.nu HTML parser port for .NET. Port of validator.nu code to C++ is used in Mozilla Firefox, so parsing is as good as it can get.
132
-
*[Html Agility Pack](http://htmlagilitypack.codeplex.com/) — older HTML parser. Fails to correctly parse even valid HTML4 code (optional closing tags), has no built-in fluent queries.
133
-
*[Fizzler](http://code.google.com/p/fizzler/) — jQuery port for .NET based on Html Agility Pack. Less featureful than CsQuery.
131
+
*[**CsQuery**](https://github.com/jamietre/CsQuery) — jQuery port for .NET (HTML parser + fluent queries). Relies on HTML parser (see below) used in Mozilla Firefox, so very reliable.
132
+
*[HtmlParserSharp](https://github.com/jamietre/HtmlParserSharp) — validator.nu HTML parser port for .NET. Port of validator.nu code to C++ is used in Mozilla Firefox, so parsing is as good as it can get.
133
+
*[Html Agility Pack](http://htmlagilitypack.codeplex.com/) — older HTML parser. Fails to correctly parse even valid HTML4 code (optional closing tags), has no built-in fluent queries.
134
+
*[Fizzler](http://code.google.com/p/fizzler/) — jQuery port for .NET based on Html Agility Pack. Less featureful than CsQuery.
0 commit comments