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
description: For more information, see the [CONTRIBUTING guide](https://github.com/AngleSharp/AngleSharp/blob/devel/.github/CONTRIBUTING.md).
10
+
options:
11
+
- label: Can you reproduce the problem in a [MWE](https://en.wikipedia.org/wiki/Minimal_working_example)?
12
+
required: true
13
+
- label: Are you running the latest version of AngleSharp?
14
+
required: true
15
+
- label: Did you check the FAQs to see if that helps you?
16
+
required: true
17
+
- label: Are you reporting to the correct repository? (there are multiple AngleSharp libraries, e.g., `AngleSharp.Css` for CSS support)
18
+
required: true
19
+
- label: Did you perform a search in the issues?
20
+
required: true
21
+
22
+
- type: textarea
23
+
id: description
24
+
attributes:
25
+
label: Description
26
+
description: Share a clear and concise description of the problem.
27
+
placeholder: Description
28
+
validations:
29
+
required: true
30
+
31
+
- type: textarea
32
+
id: reproduction-steps
33
+
attributes:
34
+
label: Steps to Reproduce
35
+
description: |
36
+
Include minimal steps to reproduce the problem if possible. E.g.: the smallest possible code snippet; or a small project, with steps to run it. Make sure to include logs and exceptions as text rather than screenshots.
37
+
placeholder: Minimal Reproduction
38
+
validations:
39
+
required: true
40
+
41
+
- type: textarea
42
+
id: expected-behavior
43
+
attributes:
44
+
label: Expected Behavior
45
+
description: |
46
+
Provide a description of the expected behavior.
47
+
placeholder: Expected Behavior
48
+
validations:
49
+
required: true
50
+
51
+
- type: textarea
52
+
id: actual-behavior
53
+
attributes:
54
+
label: Actual Behavior
55
+
description: |
56
+
Provide a description of the actual behavior observed. If applicable, include the error messages and the exception stacktrace.
57
+
placeholder: Actual Behavior
58
+
validations:
59
+
required: true
60
+
61
+
- type: textarea
62
+
id: known-workarounds
63
+
attributes:
64
+
label: Possible Solution / Known Workarounds
65
+
description: |
66
+
Provide a description of any possible solution or known workarounds.
67
+
placeholder: Possible Solution / Known Workarounds
Copy file name to clipboardExpand all lines: docs/general/01-Basics.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ section: "AngleSharp.Core"
6
6
7
7
## Requirements
8
8
9
-
AngleSharp comes currently in two flavors: on Windows for .NET 4.6.1 or newer and in general targetting .NET Standard 2.0 platforms.
9
+
AngleSharp comes currently in two flavors: on Windows for .NET 4.6.1 or newer and in general targeting .NET Standard 2.0 platforms.
10
10
11
11
Most of the features of the library do not require .NET 4.6.1, which means you could create your own fork and modify it to work with previous versions of the .NET-Framework.
12
12
@@ -80,7 +80,7 @@ So what is the `IHtmlParser`? This is a class that represents the HTML5 parser f
80
80
81
81
## Exploring the Web
82
82
83
-
The idea behind AngleSharp is to provide state-of-the-art parsers (for CSS, HTML and related objects, such as URLs), which generate the same DOM as a modern browser would do. The same DOM means that the same API is used as known from JavaScript / from current browsers. This API is standardized and well-known among web developers. Also the liveliness of DOM interaction is then not only restricted to JavaScript, or browser hosting scenarios. AngleSharp will make it possible to basically bring the core of a modern browser to your code.
83
+
The idea behind AngleSharp is to provide state-of-the-art parsers (for CSS, HTML and related objects, such as URLs), which generate the same DOM as a modern browser would do. The same DOM means that the same API is used as known from JavaScript / from current browsers. This API is standardized and well-known among web developers. Also, the liveliness of DOM interaction is then not only restricted to JavaScript, or browser hosting scenarios. AngleSharp will make it possible to basically bring the core of a modern browser to your code.
84
84
85
85
### The DOM
86
86
@@ -120,15 +120,15 @@ This works and directly returns an object of type `IHtmlParagraphElement`. No ca
120
120
121
121
### Beyond the DOM
122
122
123
-
AngleSharp provides several properties and methods that are not accessible via the standardized DOM properties and methods. To distinguish between standardized and extended a simple attribute class called `DomNameAttribute` has been added. The attribute is applied in those cases, where the decorated class / event / method or property is also specified in the official W3C standard. Additionally the official name is set, since AngleSharp follows the PascalCase convention, while the DOM follows the camelCase convention.
123
+
AngleSharp provides several properties and methods that are not accessible via the standardized DOM properties and methods. To distinguish between standardized and extended a simple attribute class called `DomNameAttribute` has been added. The attribute is applied in those cases, where the decorated class / event / method or property is also specified in the official W3C standard. Additionally, the official name is set, since AngleSharp follows the PascalCase convention, while the DOM follows the camelCase convention.
124
124
125
-
AngleSharp also provides objects that are not listed at all in the official W3C specification. Sometimes those classes are specializations of W3C defined objects (e.g. `MathElement` is derived from `Element`, however, while `Element` is also specified in the official specification, `MathElement` is not), or just part of the AngleSharp eco-system.
125
+
AngleSharp also provides objects that are not listed at all in the official W3C specification. Sometimes those classes are specializations of W3C defined objects (e.g. `MathElement` is derived from `Element`, however, while `Element` is also specified in the official specification, `MathElement` is not), or just part of the AngleSharp ecosystem.
126
126
127
127
The interface `IConfiguration` can be used to configure the behavior of AngleSharp. It is possible to derive from a sample implementation called `Configuration`, to use the sample implementation directly (e.g. `new Configuration()`) or to start by implementing our own configuration via `IConfiguration`.
128
128
129
129
If no configuration is provided, AngleSharp will use a default configuration. The default configuration can also be set, removing any configuration transportation requirements at all. In most scenarios using `Configuration.Default` makes sense. Note that the `Configuration` is immutable and that all extension methods for `IConfiguration` will never try to modify the passed object. They will always return an unmodified object, or a new object with the modifications.
130
130
131
-
Finally AngleSharp also brings some very helpful extension methods that try to be similar for what jQuery offers in JavaScript. Using the namespace `AngleSharp` one can access methods like `Html`, `Css`, `Attr` or `Text`. These methods operate on a given `IEnumerable<IElement>` like an existing `IHtmlCollection`. The purpose is quite simple: To easily modify the given DOM.
131
+
Finally, AngleSharp also brings some very helpful extension methods that try to be similar to what jQuery offers in JavaScript. Using the namespace `AngleSharp` one can access methods like `Html`, `Css`, `Attr` or `Text`. These methods operate on a given `IEnumerable<IElement>` like an existing `IHtmlCollection`. The purpose is quite simple: To easily modify the given DOM.
It should be noted that applying `Text` or `Html` will have consequences for the DOM. For example if we apply it to a list of several elements, where some elements of the list contain other elements of the same list, the resulting list will still contain all those elements, however, the document will not.
148
+
It should be noted that applying `Text` or `Html` will have consequences for the DOM. For example, if we apply it to a list of several elements, where some elements of the list contain other elements of the same list, the resulting list will still contain all those elements; however, the document will not.
149
149
150
150
The reason for this behavior is quite simple: Applying e.g. `Html` will remove all children of a node and append new children, which have been obtained by parsing the given source. Similarly `Text` will remove all children and append an `IText` node with the given textual content.
0 commit comments