OpenLLM-France/wikimedia huggingface dataset:
# Cascading Style Sheets/Pseudo Elements and Pseudo Classes
## Syntax

Use :: notation (double colon notation) for pseudo-elements(::first-line, ::first-letter, ::before, ::after, etc.) to distinguish them from pseudo-classes(:active, :hover, :focus, :link, :visited, :first-child, etc.). For compatibility with IE6/7, use single colon notation for both or IE specific styles.

## Pseudo Clicks

Use :active instead of onclick events and :hover instead of onmouseover events when no data needs to be passed
Use a border color which is equal to the background color as the default value then change it in the hover state to create a rollover effect without shifting the content. Decrease the desired padding by the size of the border to adjust for it always being hidden in the background instead of inserted and removed dynamically.
Use a:active, a:focus{outline:0;width:0;height:0;} to remove the dotted line around clicked links
Use :link,:visited to style links without styling named anchor tags
Add absolutely positioned elements within link tags and reference them in hover definitions(ex. A:hover span{...}) to create rollover dropdown menus without JavaScript
Use rel="external" for all external links and a[rel~="external"] { target-new: tab; } (CSS3 Attribute Selector) to open links in a new tab

## Hit Detection

Use cursor styles, transparent borders, and image maps to extend the click area of links to cover the dimensions of their parent elements without using JavaScript
If a container hasLayout(fixed width/height, inline-block,float), then block level anchors within will not have proper hit detection unless one of the links also includes a hasLayout trigger (zoom, inline-block, fixed height) for itself or a child element, or includes an image as a child element. hasLayout on the block level anchor itself may cause margins to disappear, so avoid vertical margins in that situation
If a block level link is absolutely positioned over content, it will not have proper hit detection unless it has a defined background. You can make the background transparent or use opacity to make the content visible
Use "ul > li{...}" instead of "ul li{...}" to only target the first level children of a tag instead of all nested descendants(CSS2 Child Selector)

## Element Targeting

Use { target-name: modal; } (CSS3 Attribute Selector) to open links in a modal box
Use "a[href=http://abcxyz]" to target elements with specific attribute values(CSS2 Attribute Selector)
# Cascading Style Sheets/Media Types

Individual CSS rules and whole style sheets can be made apply selectively only to certain media types, such as screen, projection, print or handheld.
Specification of media types:
* In the LINK tag
** <LINK rel="stylesheet" type="text/css" media="screen, projection" href="stylesheet.css">
* Within the style sheet
** @media screen { body { font-family: Verdana; width: 800px; } }
* Within the style attribute

## Media types

Media types by which the application of CSS can be restricted:
* all
* aural – is generally used for rules for the hearing impaired. In CSS3 it is being deprecated in favor of the speech media type.
* braille
* embossed
* handheld
* print
* projection
* screen
* speech
* tty
* tv

## Media Queries

Media queries are a new rule format under CSS3 that will allow for behaviors based on properties of the user agent, such as the screen resolution of mobile devices. This feature is only partially implemented in the latest builds of WebKit, Presto and Gecko.
To try this out copy this code to your snippet editor or a new HTML file:
And then put this in the body:
After loading the page in your browser, resize the window to see the background color change when the condition is met.
# Cascading Style Sheets/Original TOC

This book is a guide to CSS–cascading style sheets, a technique widely used in web pages including Wikipedia to describe their visual style and appearance.

## Contents

* Introduction
* Applying CSS to HTML and XHTML - linking, embedding and inlining
* Applying CSS to XML
* CSS Construction
** Syntax
** Defining Style Rules
** Lengths and Units
** Selectors
** Inheritance Rules
** The Important Keyword
* CSS Presentation
** Color
** Fonts and Text
** Hyperlinks
** Pseudo Elements and Pseudo Classes
** Clipping
** Lists
** Box Model — setting the size and shape of elements
** Borders
** Background
** Shorthand Properties
** Cursor
** Gradients
** Sprites
* CSS Layout
** Centering
** Positioning
** Tables
** Floating Elements
** Typography
** Media Types
** Multi-Column Layout
** z-index
* CSS URI Schemes
** MHTML URIs
** Data URIs
* CSS Applications
** CSS Menus
** Breadcrumbs
** User Style Sheets
* Troubleshooting
** Standards Mode and Quirks Mode
** Browser Compatibility
** CSS Source Order (Troubleshooting the cascade of repeated selectors)
* Appendices
** Hacks and Filters
** Browser Extensions
** Links
** Index of Properties
** Index
** Glossary
** Detailed TOC
** Contributors
** To Do

## Related Wikibooks

* JavaScript
* XHTML
Please add {{alphabetical}} only to book title pages.
# C Sharp Programming/Keywords/namespace

The namespace keyword is used to supply a namespace for class, structure, and type declarations.
C# Keywords :
| abstract | as | base | bool | break |
| byte | case | catch | char | checked |
| class | const | continue | decimal | default |
| delegate | do | double | else | enum |
| event | explicit | extern | false | finally |
| fixed | float | for | foreach | goto |
| if | implicit | in | int | interface |
| internal | is | lock | long | namespace |
| new | null | object | operator | out |
| override | params | private | protected | public |
| readonly | ref | return | sbyte | sealed |
| short | sizeof | stackalloc | static | string |
| struct | switch | this | throw | true |
| try | typeof | uint | ulong | unchecked |
| unsafe | ushort | using | var | virtual |
| void | volatile | while |
Special C# Identifiers (Contextual Keywords) :
| add | alias | async | await | dynamic |
| get | global | nameof | partial | remove |
| set | value | when | where | yield |
Contextual Keywords (Used in Queries) :
| ascending | by | descending | equals | from |
| group | in | into | join | let |
| on | orderby | select | where |
# C Sharp Programming/Keywords/long

The long keyword is used in field, method, property, and variable declarations and in cast and typeof operations as an alias for the .NET Framework structure System.Int64. That is, it represents a 64-bit signed integer whose value ranges from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807.
C# Keywords :
| abstract | as | base | bool | break |
| byte | case | catch | char | checked |
| class | const | continue | decimal | default |
| delegate | do | double | else | enum |
| event | explicit | extern | false | finally |
| fixed | float | for | foreach | goto |
| if | implicit | in | int | interface |
| internal | is | lock | long | namespace |
| new | null | object | operator | out |
| override | params | private | protected | public |
| readonly | ref | return | sbyte | sealed |
| short | sizeof | stackalloc | static | string |
| struct | switch | this | throw | true |
| try | typeof | uint | ulong | unchecked |
| unsafe | ushort | using | var | virtual |
| void | volatile | while |
Special C# Identifiers (Contextual Keywords) :
| add | alias | async | await | dynamic |
| get | global | nameof | partial | remove |
| set | value | when | where | yield |
Contextual Keywords (Used in Queries) :
| ascending | by | descending | equals | from |
| group | in | into | join | let |
| on | orderby | select | where |
# C Sharp Programming/Keywords/interface

The interface keyword is used to declare an interface. Interfaces provide a construct for a programmer to create types that can have methods, properties, delegates, events, and indexers declared, but not implemented.
It is a good programming practice to give interfaces differing names from classes that start with an I and/or finish with ...able, like IRun or Runnable or IRunnable.
C# Keywords :
| abstract | as | base | bool | break |
| byte | case | catch | char | checked |
| class | const | continue | decimal | default |
| delegate | do | double | else | enum |
| event | explicit | extern | false | finally |
| fixed | float | for | foreach | goto |
| if | implicit | in | int | interface |
| internal | is | lock | long | namespace |
| new | null | object | operator | out |
| override | params | private | protected | public |
| readonly | ref | return | sbyte | sealed |
| short | sizeof | stackalloc | static | string |
| struct | switch | this | throw | true |
| try | typeof | uint | ulong | unchecked |
| unsafe | ushort | using | var | virtual |
| void | volatile | while |
Special C# Identifiers (Contextual Keywords) :
| add | alias | async | await | dynamic |
| get | global | nameof | partial | remove |
| set | value | when | where | yield |
Contextual Keywords (Used in Queries) :
| ascending | by | descending | equals | from |
| group | in | into | join | let |
| on | orderby | select | where |
# C Sharp Programming/Keywords/internal

The internal keyword is an access modifier used in field, method, and property declarations to make the field, method, or property internal to its enclosing assembly. That is, it is only visible within the assembly that implements it.
C# Keywords :
| abstract | as | base | bool | break |
| byte | case | catch | char | checked |
| class | const | continue | decimal | default |
| delegate | do | double | else | enum |
| event | explicit | extern | false | finally |
| fixed | float | for | foreach | goto |
| if | implicit | in | int | interface |
| internal | is | lock | long | namespace |
| new | null | object | operator | out |
| override | params | private | protected | public |
| readonly | ref | return | sbyte | sealed |
| short | sizeof | stackalloc | static | string |
| struct | switch | this | throw | true |
| try | typeof | uint | ulong | unchecked |
| unsafe | ushort | using | var | virtual |
| void | volatile | while |
Special C# Identifiers (Contextual Keywords) :
| add | alias | async | await | dynamic |
| get | global | nameof | partial | remove |
| set | value | when | where | yield |
Contextual Keywords (Used in Queries) :
| ascending | by | descending | equals | from |
| group | in | into | join | let |
| on | orderby | select | where |
# C Sharp Programming/Keywords/is

The is keyword compares an object to a type, and if they're the same or of the same "kind" (the object inherits the type), returns true. The keyword is therefore used to check for type compatibility, usually before casting (converting) a source type to a destination type in order to ensure that won't cause a type-cast exception to be thrown. Using is on a null variable always returns false.
This code snippet shows a sample usage:
C# Keywords :
| abstract | as | base | bool | break |
| byte | case | catch | char | checked |
| class | const | continue | decimal | default |
| delegate | do | double | else | enum |
| event | explicit | extern | false | finally |
| fixed | float | for | foreach | goto |
| if | implicit | in | int | interface |
| internal | is | lock | long | namespace |
| new | null | object | operator | out |
| override | params | private | protected | public |
| readonly | ref | return | sbyte | sealed |
| short | sizeof | stackalloc | static | string |
| struct | switch | this | throw | true |
| try | typeof | uint | ulong | unchecked |
| unsafe | ushort | using | var | virtual |
| void | volatile | while |
Special C# Identifiers (Contextual Keywords) :
| add | alias | async | await | dynamic |
| get | global | nameof | partial | remove |
| set | value | when | where | yield |
Contextual Keywords (Used in Queries) :
| ascending | by | descending | equals | from |
| group | in | into | join | let |
| on | orderby | select | where |
# C Sharp Programming/Keywords/lock

The lock keyword allows a section of code to exclusively use a resource, a feature useful in multi-threaded applications. If a lock to the specified object is already held when a piece of code tries to lock the object, the code's thread is blocked until the object is available.
The parameter to the lock statement must be an object reference, not a value type:
C# Keywords :
| abstract | as | base | bool | break |
| byte | case | catch | char | checked |
| class | const | continue | decimal | default |
| delegate | do | double | else | enum |
| event | explicit | extern | false | finally |
| fixed | float | for | foreach | goto |
| if | implicit | in | int | interface |
| internal | is | lock | long | namespace |
| new | null | object | operator | out |
| override | params | private | protected | public |
| readonly | ref | return | sbyte | sealed |
| short | sizeof | stackalloc | static | string |
| struct | switch | this | throw | true |
| try | typeof | uint | ulong | unchecked |
| unsafe | ushort | using | var | virtual |
| void | volatile | while |
Special C# Identifiers (Contextual Keywords) :
| add | alias | async | await | dynamic |
| get | global | nameof | partial | remove |
| set | value | when | where | yield |
Contextual Keywords (Used in Queries) :
| ascending | by | descending | equals | from |
| group | in | into | join | let |
| on | orderby | select | where |
# C Sharp Programming/Keywords/into

The join, in, on, equals, and sometimes into contextual keywords are used to relate items in two different data sources by a common attribute in a query. Specifically, the optional into keyword can be used to specify a new identifier name for a returned key, e.g., 'into newIdentifier'.
C# Keywords :
| abstract | as | base | bool | break |
| byte | case | catch | char | checked |
| class | const | continue | decimal | default |
| delegate | do | double | else | enum |
| event | explicit | extern | false | finally |
| fixed | float | for | foreach | goto |
| if | implicit | in | int | interface |
| internal | is | lock | long | namespace |
| new | null | object | operator | out |
| override | params | private | protected | public |
| readonly | ref | return | sbyte | sealed |
| short | sizeof | stackalloc | static | string |
| struct | switch | this | throw | true |
| try | typeof | uint | ulong | unchecked |
| unsafe | ushort | using | var | virtual |
| void | volatile | while |
Special C# Identifiers (Contextual Keywords) :
| add | alias | async | await | dynamic |
| get | global | nameof | partial | remove |
| set | value | when | where | yield |
Contextual Keywords (Used in Queries) :
| ascending | by | descending | equals | from |
| group | in | into | join | let |
| on | orderby | select | where |
# C Sharp Programming/Keywords/nameof

The nameof keyword returns the string name of the argument passed in to the method. Together, the typeof and nameof methods can often be used to return a fully-qualified name.
C# Keywords :
| abstract | as | base | bool | break |
| byte | case | catch | char | checked |
| class | const | continue | decimal | default |
| delegate | do | double | else | enum |
| event | explicit | extern | false | finally |
| fixed | float | for | foreach | goto |
| if | implicit | in | int | interface |
| internal | is | lock | long | namespace |
| new | null | object | operator | out |
| override | params | private | protected | public |
| readonly | ref | return | sbyte | sealed |
| short | sizeof | stackalloc | static | string |
| struct | switch | this | throw | true |
| try | typeof | uint | ulong | unchecked |
| unsafe | ushort | using | var | virtual |
| void | volatile | while |
Special C# Identifiers (Contextual Keywords) :
| add | alias | async | await | dynamic |
| get | global | nameof | partial | remove |
| set | value | when | where | yield |
Contextual Keywords (Used in Queries) :
| ascending | by | descending | equals | from |
| group | in | into | join | let |
| on | orderby | select | where |
# C Sharp Programming/Keywords/join

The join, in, on, equals, and sometimes into contextual keywords are used to relate items in two different data sources by a common attribute in a query.
C# Keywords :
| abstract | as | base | bool | break |
| byte | case | catch | char | checked |
| class | const | continue | decimal | default |
| delegate | do | double | else | enum |
| event | explicit | extern | false | finally |
| fixed | float | for | foreach | goto |
| if | implicit | in | int | interface |
| internal | is | lock | long | namespace |
| new | null | object | operator | out |
| override | params | private | protected | public |
| readonly | ref | return | sbyte | sealed |
| short | sizeof | stackalloc | static | string |
| struct | switch | this | throw | true |
| try | typeof | uint | ulong | unchecked |
| unsafe | ushort | using | var | virtual |
| void | volatile | while |
Special C# Identifiers (Contextual Keywords) :
| add | alias | async | await | dynamic |
| get | global | nameof | partial | remove |
| set | value | when | where | yield |
Contextual Keywords (Used in Queries) :
| ascending | by | descending | equals | from |
| group | in | into | join | let |
| on | orderby | select | where |
# C Sharp Programming/Keywords/let

The let contextual keyword is used to define a subexpression in a query, e.g., 'let area = calcArea(lotLength, lotWidth)'.
C# Keywords :
| abstract | as | base | bool | break |
| byte | case | catch | char | checked |
| class | const | continue | decimal | default |
| delegate | do | double | else | enum |
| event | explicit | extern | false | finally |
| fixed | float | for | foreach | goto |
| if | implicit | in | int | interface |
| internal | is | lock | long | namespace |
| new | null | object | operator | out |
| override | params | private | protected | public |
| readonly | ref | return | sbyte | sealed |
| short | sizeof | stackalloc | static | string |
| struct | switch | this | throw | true |
| try | typeof | uint | ulong | unchecked |
| unsafe | ushort | using | var | virtual |
| void | volatile | while |
Special C# Identifiers (Contextual Keywords) :
| add | alias | async | await | dynamic |
| get | global | nameof | partial | remove |
| set | value | when | where | yield |
Contextual Keywords (Used in Queries) :
| ascending | by | descending | equals | from |
| group | in | into | join | let |
| on | orderby | select | where |
# C Programming/Procedures and functions/printf
## About the printf Function

In C, the printf function prints the optional arguments under the control of the template string template to the stream stdout. It returns the number of characters printed, or a negative value if an output error occurred.
int printf (const char *template, ...)
For more information about printf in general, see the Wikipedia article on printf.

## Output Conversions

Here is a table summarizing what all the different conversions do in the C implementation of printf:

### `%d', `%i'

    Print an integer as a signed decimal number. `%d' and `%i' are synonymous for output, but are different when used with scanf function for input.

### `%o'

    Print an integer as an unsigned octal number.

### `%u'

    Print an integer as an unsigned decimal number.

### `%x', `%X'

    Print an integer as an unsigned hexadecimal number. `%x' uses lower-case letters and `%X' uses upper-case.

### `%f'

    Print a floating-point number in normal (fixed-point) notation.

### `%e', `%E'

    Print a floating-point number in exponential notation. `%e' uses lower-case letters and `%E' uses upper-case.

### `%g', `%G'

    Print a floating-point number in either normal or exponential notation, whichever is more appropriate for its magnitude. `%g' uses lower-case letters and `%G' uses upper-case.

### `%a', `%A'

    Print a floating-point number in a hexadecimal fractional notation which the exponent to base 2 represented in decimal digits. `%a' uses lower-case letters and `%A' uses upper-case.

### `%c'

    Print a single character.

### `%lc'

    Print a single wide character.

### `%C'

    This is an alias for `%lc'. (This is a non-standard Unix-specific extension.)

### `%s'

    Print a string.

### `%ls'

    Print a wide character string.

### `%S'

    This is an alias for `%ls'. (This is a non-standard Unix-specific extension.)

### `%p'

    Print the value of a pointer.

### `%n'

    Get the number of characters printed so far. Note that this conversion specification never produces any output.

### `%m'

    Print the string corresponding to the value of errno variable. (This is a non-standard GNU extension.)
    Print a literal `%' character.
If the syntax of a conversion specification is invalid, unpredictable things will happen, so don't do this. If there aren't enough function arguments provided to supply values for all the conversion specifications in the template string, or if the arguments are not of the correct types, the results are unpredictable. If you supply more arguments than conversion specifications, the extra argument values are simply ignored; this is sometimes useful.
# C Programming/Serialization
## Serialization

It is often necessary to send or receive complex data structures to or from another program that may run on a different architecture or may have been designed for different version of the data structures in question. A typical example is a program that saves its state to a file on exit and then reads it back when started.
The 'send' function will typically start by writing a magic identifier and version to the file or network socket and then proceed to write all the data members one by one (i.e. in serial). If variable length arrays are encountered (e.g. strings), it will either write a length followed by the data or it will write the data followed by a special terminator. The format is often XML or binary; in the latter case the htonl set of macros may come in handy.
The 'receive' function will be nearly identical: it will read all the items one by one. Variable length arrays are either handled by reading the count followed by the data, or by reading the data until the special terminator is reached.
Since these two functions often follow the same pattern as the declaration of the data(structures), it would be nice if they could all be generated from a common definition.

## X-Macros

X-Macros uses the preprocessor to force the compiler to compile the same piece of text more than once. Sometimes a special file (with extension .def) is included multiple times. For example variables.def may look like this :
In this example the C programming will then look like this :
If including a separate file multiple times is undesirable, another macro can be used. For example :
The #includes can then be replaced with calls to the macro.
Using this method, one can also pass in the name(s) of (an)other macro(s) that can operate on the list of values. For example:
This does not require the redefinition of macros and can make the code easier to understand and maintain.
X-Macros are also particularly useful for keeping mappings between strings and enumerated types synchronized.

## Serialization with versioning

Suppose we want to add additional variables to the above example, but we still want the program to be able to read the old version 1 files. Then we would add a version parameter and a default value parameter to the list processing macros:
# C Programming/Preprocessor reference
## Preprocessor Reference

The following preprocessor statements exist:
Some nonstandard compilers also specify #warning and #import.
A conditional-expression above can include the defined operator.
The #define identifier above can be followed by an optional list of parameters and then an optional list of replacement tokens. The left parenthesis of the parameter list must have no preceding white space.