Docs
Aide, documentation, vidéos, livres et howtos
Dans cette section, vous trouverez de nombreuses ressources gratuites pour travailler avec SQL Server.
Notamment :
- Optimiser SQL Server – la version en ligne de mon livre, paru chez Dunod en 2008 et maintenant épuisé. Il est mis à jour et augmenté ici au fur et à mesure.
1 - SQL Server HowTos
Comment effectuer les tâches courantes dans SQL Server.
This is a placeholder page that shows you how to use this template site.
Give your users next steps from the Overview. For example:
1.1 - SQL Server HowTos
Comment effectuer les tâches courantes dans SQL Server.
This is a placeholder page that shows you how to use this template site.
Give your users next steps from the Overview. For example:
2 - Hugo
Comment utiliser Hugo
Répertoires de Hugo
| Répertoire |
Usage |
| content |
le contenu du site |
| content |
le contenu du site |
3 - Optimiser SQL Server
Version en ligne et gratuite du livre paru en 2008 chez Dunod. Maintenant épuisé. Mis à jour petit à petit ici.
Ce livre est en mise à jour permanente à cet emplacement.
3.1 -
Introduction
Avez-vous bonne mémoire ? Lorsque, dans une conversation, vous devez citer des chiffres, une anecdote que vous avez lue dans le journal, prononcer l’adjectif qui décrit précisément votre pensée, y parvenez-vous sans hésiter ?
Si vous y arriver la plupart du temps de manière satisfaisante, n’y a-t-il pas, parfois, des mots qui vous échappent, des informations qui vous restent sur le bout de la langue, jusqu’à ce que vous vous en souveniez subitement, lorsqu’il est bien trop tard ?
Parfois, votre mémoire est plus qu’un outil de conversation : lorsque vous devez retrouver votre chemin dans les rues d’une métropole, ou vous souvenir s’il faut couper le fil bleu ou le fil rouge pour désamorcer une bombe prête à exploser…
Même si vous n’êtes pas souvent confronté – espérons-le – à ce dernier cas, vous comprenez que parfois, accéder à vos souvenirs rapidement, de façon fluide, sans à-coups, est une nécessité.
Un Système de Gestion de Bases de Données Relationnelles (SGBDR) est comme une mémoire : il contient des données importantes, sinon vitales, pour l’entreprise, et la capacité donnée aux acteurs de cette entreprise de pouvoir y accéder efficacement, rapidement, avec des temps de réponse consistants, est essentielle.
Depuis que les bases de données existent, la question de leurs performances s’est posée.
L’abstraction bâtie entre le stockage physique des données et leur représentation logique à travers différents modèles – le prédominant ajourd’hui étant le modèle relationnel – nécessite de la part des éditeurs de ces logiciels un très important travail de développement, d’abord pour traduire les requêtes exprimées dans des langages déclaratifs comme le SQL (Structured Query Language) en des stratégies de recherche de données optimales, ensuite pour parvenir à stocker les informations de la façon la plus favorable à leur parcours et à leur extraction.
A priori, rien dans la norme SQL ni dans la théorie relationnelle ne concerne les performances. C’est une préoccupation qui ne peut venir qu’ensuite, comme on ne peint les façades que lorsque la maçonnerie est terminée.
Toutefois, les performances ne font pas partie de la facade, mais plutôt du moteur de l’ascenseur, et sont donc notre préoccupation quotidienne.
Le modèle relationnel et le langage SQL sont des existants à notre disposition, notre SGBDR est installé et fonctionnel, notre responsabilité, en tant qu’administrateur de bases de données, développeur ou responsable IT, est d’en assurer le fonctionnement optimal.
Et pour cette tâche, il n’y a pas de norme, de commandements gravés dans la pierre, d’outils ou de modèles préexistants qui vont effectuer le travail pour nous.
L’optimisation est à la fois une préoccupation constante, une tâche sans fin, toujours à continuer, à modifier, à compléter, et c’est aussi une forme d’artisanat, qui nécessite de bonnes connaissances du système, de la curiosité et de la patience.
Concrètement
Optimiser, cela veut dire concrétiser notre connaissance de la théorie, dans la pratique, c’est-à-dire prendre en compte la façon dont cette théorie a été mise en œuvre dans une implémentation particulière. Cet ouvrage est dédié à l’optimisation pour Microsoft SQL Server à partir de la version 2005 jusqu’à la version actuelle, la version 2019. Nous indiquerons, dans le corps de l’ouvrage, lorsque telle ou telle particulairié est propre à une version, ou existe depuis une version.
Nous y aborderons tous les points de l’optimisation (matériel, configuration, requêtes SQL), d’un point de vie essentiellement pratique, tout en vous présentant ce qui se passe « sous le capot », connaissance indispensable pour vous permettre de mettre en œuvre efficacement les méthodes proposées.
Notre objectif est de vous guider à travers les outils, concepts et pratiques propres à l’optimisation des performances, pour que vous puissiez, concrètement et de façon autonome, non seulement bâtir un système performant, mais aussi résoudre au quotidien les problèmes et lenteurs qui pourraient survenir.
L’optimisation, le tuning sont des pratiques quotidiennes, ce livre cherche donc à vous donner tous les bons outils et les bons réflexes pour vous permettre d’être efficace jour après jour.
À qui s’adresse ce livre ?
Il s’agit donc d’un livre essentiellement pratique. Il s’adresse à toute personne – développeur, DBA (Administrateur de Bases de Données), consultant, professionnel IT – qui doit s’assurer du fonctionnement optimal de SQL Server. Nous ne présenterons pas les bases théoriques des SGBDR, et ce livre ne contient pas d’initiation à SQL Server.
L’optimisation étant un sujet plus avancé, nous partons donc du principe que vous êtes déjà familier avec les bases de données, et spécifiquement SQL Server. Pour profiter de toute la partie dédiée à l’optimisation du code SQL, vous devez connaître au moins les bases du langage SQL et de ses extensions Transact-SQL (utilisation de variables, structures de contrôle, …)
L’optimisation recouvre plusieurs domaines, qui peuvent être ou non clairement délimités dans votre entreprise.
Les différentes parties de ce livre développent les éléments d’optimisation à prendre en compte.
Si vous vous occupez exclusivement d’administration et d’installation matérielle, la première partie, « Optimisation du système » traite du matériel et de la configuration.
Elle présente l’architecture de SQL Server et les principes de l’optimisation, et jette donc des bases théoriques pour aborder les parties pratiques.
Si vous êtes principalement développeur et que votre souhait est d’écrire du code SQL plus performant, la partie « optimisation des requêtes » vous est dédiée. Elle traite non seulement du code SQL lui-même, mais des mécanismes transactionnels pouvant provoquer des blocages, et de l’utilisation d’index pour offrir de meilleures performances.
L’auteur
Rudi Bruchez travaille avec SQL Server depuis 1998. Il est aujourd’hui expert indépendant spécialisé en SQL Server, basé à Paris. Il est certifié MCDBA SQL Server 2000 et MCITP SQL Server 2005. Il est également MVP (Most Valuable Professional) SQL Server depuis 2008.
Dans son activité de consultant et formateur, il répond quotidiennement à toute les problématiques touchant aux parties relationnelles et décisionnelles de SQL Server, notamment en modélisation, administration et optimisation.
Vous pouvez le contacter sur son site www.pachadata.com, où vous trouverez d’autres ressources concernant SQL Server. Il est également auteur de formations vidéo pour LinkedIn Learning et Pluralsight.
Termes utilisés
Pour éviter les répétitions excessives, nous utiliserons les abréviations courantes dans le monde SQL Server, et le monde des Systèmes de Gestion de Bases de Données Relationnelles (SGBDR). En voici la liste, dans le tableau « Abréviations » :.
Tableau Abréviations – Liste des abréviations utilisés dans l’ouvrage
| Abréviation |
Signification |
| BOL |
Books Online: L’aide en ligne de SQL Server. |
| SSMS |
SQL Server Management Studio: L’outil client d’administration et de développement de SQL Server. |
| RTM |
Release to manufacturing : version stable, en première livraison, avant sorti de service packs. |
| SP |
Service Pack : mise à jour important d’une version, comportant des correctifs et des améliorations. |
| VLDB |
Very Large DataBase : base de données de très grande volumétrie. |
| CTP |
Common Technology Preview : versions de pré-sortie de SQL Server, livrées bien avant la sortie officielle du produit, et contenant uniquement les fonctionnalités implémentées complètement à ce moment. |
| OLTP |
Online Transactional Processing : une utilisation particulière des données, principalement transactionnelle : écritures constantes, lectures de petits volumes. Ce sont les bases de données opérationnelles traditionnelles. |
| OLAP |
Online Analytical Processing : une utilisation d’un entrepôt de données dans un but d’analyse. Ce qu’on nomme parfois l’utilisation décisionnelle, ou la Business Intelligence. Les bases de données OLAP sont utilisées principalement en lecture, pour des extractions massives. |
| MSDN |
Microsoft Developer Network : documentation et articles en ligne sur internet ou sur CD-ROM/DVD, représentant une base de connaissance très fournie sur les produits Microsoft, à destination principalement des développeurs. Accès libre sur internet : http://msdn.microsoft.com/ |
| DMV |
Vue de gestion dynamique (dynamic management view), vue système qui retourne des informations dynamiques sur l’état du système, et non pas sur des tables de données ou de métadonnées. |
| drapeau de trace |
Trace flags : switches numériques, qui permettent de modifier le comportement de SQL Server. On les utilise comme paramètres au lancement du service, ou on les active/désactive à chaud, à l’aide des commandes DBCC TRACEON et DBCC TRACEOFF. |
Exemples de code
Le code contenu dans cet ouvrage est disponible sur le dépôt GitHub du livre. Le code source de l’édition originale est libellé avec le tag v1.0, vous trouvez la release à cette adresse : https://github.com/rudi-bruchez/optimiser-sql-server/releases/tag/v1.0.
Le code source d’origine se basait sur la base d’exemple de Microsoft : AdventureWorks. Vous obtenez les liens de téléchargement de cette base de données à cette adresse.
La réécriture de ce livre se base sur ma base de données d’exemple, PachadataFormation, disponible à cette adresse.
Il se base sur ma base de données d’exemple, nommée PachadatFormation. Elle représente une entreprise fictive du même nom qui vend des bicyclettes. Vouspouvez télécharger AdventureWorks pour SQL Server 2005 ou SQL Server 2008 à cette adresse : http://www.codeplex.com/MSFTDBProdSamples. Nous utiliserons souvent en exemple la table Person.Contact, elle contient 19 972 lignes de contacts, avec des colonnes simples comme FirstName, LastName et EmailAddress.
Utilisation de l’anglais
Nous avons fait le choix d’utiliser une version anglaise de SQL Server, principalement parce que, à l’heure où nous publions ce livre, SQL Server 2008 n’est pas encore sorti en version finale, et n’existe donc qu’en anglais. De plus, certaines traductions de l’interface française sont plus troublantes qu’utiles. Nous indiquerons parfois en regard le terme français. La correspondance n’est pas difficile à faire avec une version française : les entrées de menus et la disposition dans les boîtes de dialogue sont les mêmes.
Remerciements
Merci à Frédéric Brouard, MVP SQL Server, fondateur de la société SQL Spot, pour ses conseils et suggestions et sa relecture. Merci également à Pascale Doz, experte indépendante, pour sa relecture et son aide. Merci à Christian Robert, MVP SQL Server, pour ses astuces. Et enfin, merci également à Edgar F. Codd pour avoir tout inventé.
4 - Astuces SQL Server
Show your user how to work through some end to end examples.
This is a placeholder page that shows you how to use this template site.
Tutorials are complete worked examples made up of multiple tasks that guide the user through a relatively simple but realistic scenario: building an application that uses some of your project’s features, for example. If you have already created some Examples for your project you can base Tutorials on them. This section is optional. However, remember that although you may not need this section at first, having tutorials can be useful to help your users engage with your example code, especially if there are aspects that need more explanation than you can easily provide in code comments.
4.1 - Multi-Bear Domicile Setup
A short lead description about this content page. It can be bold or italic and can be split over multiple paragraphs.
This is a placeholder page. Replace it with your own content.
Text can be bold, italic, or strikethrough. Links should be blue with no underlines (unless hovered over).
There should be whitespace between paragraphs. Vape migas chillwave sriracha poutine try-hard distillery. Tattooed shabby chic small batch, pabst art party heirloom letterpress air plant pop-up. Sustainable chia skateboard art party banjo cardigan normcore affogato vexillologist quinoa meggings man bun master cleanse shoreditch readymade. Yuccie prism four dollar toast tbh cardigan iPhone, tumblr listicle live-edge VHS. Pug lyft normcore hot chicken biodiesel, actually keffiyeh thundercats photo booth pour-over twee fam food truck microdosing banh mi. Vice activated charcoal raclette unicorn live-edge post-ironic. Heirloom vexillologist coloring book, beard deep v letterpress echo park humblebrag tilde.
90’s four loko seitan photo booth gochujang freegan tumeric listicle fam ugh humblebrag. Bespoke leggings gastropub, biodiesel brunch pug fashion axe meh swag art party neutra deep v chia. Enamel pin fanny pack knausgaard tofu, artisan cronut hammock meditation occupy master cleanse chartreuse lumbersexual. Kombucha kogi viral truffaut synth distillery single-origin coffee ugh slow-carb marfa selfies. Pitchfork schlitz semiotics fanny pack, ugh artisan vegan vaporware hexagon. Polaroid fixie post-ironic venmo wolf ramps kale chips.
There should be no margin above this first sentence.
Blockquotes should be a lighter gray with a border along the left side in the secondary color.
There should be no margin below this final sentence.
This is a normal paragraph following a header. Knausgaard kale chips snackwave microdosing cronut copper mug swag synth bitters letterpress glossier craft beer. Mumblecore bushwick authentic gochujang vegan chambray meditation jean shorts irony. Viral farm-to-table kale chips, pork belly palo santo distillery activated charcoal aesthetic jianbing air plant woke lomo VHS organic. Tattooed locavore succulents heirloom, small batch sriracha echo park DIY af. Shaman you probably haven’t heard of them copper mug, crucifix green juice vape single-origin coffee brunch actually. Mustache etsy vexillologist raclette authentic fam. Tousled beard humblebrag asymmetrical. I love turkey, I love my job, I love my friends, I love Chardonnay!
Deae legum paulatimque terra, non vos mutata tacet: dic. Vocant docuique me plumas fila quin afuerunt copia haec o neque.
On big screens, paragraphs and headings should not take up the full container width, but we want tables, code blocks and similar to take the full width.
Scenester tumeric pickled, authentic crucifix post-ironic fam freegan VHS pork belly 8-bit yuccie PBR&B. I love this life we live in.
This is a blockquote following a header. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.
This is a code block following a header.
Next level leggings before they sold out, PBR&B church-key shaman echo park. Kale chips occupy godard whatever pop-up freegan pork belly selfies. Gastropub Belinda subway tile woke post-ironic seitan. Shabby chic man bun semiotics vape, chia messenger bag plaid cardigan.
- This is an unordered list following a header.
- This is an unordered list following a header.
- This is an unordered list following a header.
- This is an ordered list following a header.
- This is an ordered list following a header.
- This is an ordered list following a header.
| What |
Follows |
| A table |
A header |
| A table |
A header |
| A table |
A header |
There’s a horizontal rule above and below this.
Here is an unordered list:
- Liverpool F.C.
- Chelsea F.C.
- Manchester United F.C.
And an ordered list:
- Michael Brecker
- Seamus Blake
- Branford Marsalis
And an unordered task list:
And a “mixed” task list:
And a nested list:
- Jackson 5
- Michael
- Tito
- Jackie
- Marlon
- Jermaine
- TMNT
- Leonardo
- Michelangelo
- Donatello
- Raphael
Definition lists can be used with Markdown syntax. Definition headers are bold.
- Name
- Godzilla
- Born
- 1952
- Birthplace
- Japan
- Color
- Green
Tables should have bold headings and alternating shaded rows.
| Artist |
Album |
Year |
| Michael Jackson |
Thriller |
1982 |
| Prince |
Purple Rain |
1984 |
| Beastie Boys |
License to Ill |
1986 |
If a table is too wide, it should scroll horizontally.
| Artist |
Album |
Year |
Label |
Awards |
Songs |
| Michael Jackson |
Thriller |
1982 |
Epic Records |
Grammy Award for Album of the Year, American Music Award for Favorite Pop/Rock Album, American Music Award for Favorite Soul/R&B Album, Brit Award for Best Selling Album, Grammy Award for Best Engineered Album, Non-Classical |
Wanna Be Startin' Somethin', Baby Be Mine, The Girl Is Mine, Thriller, Beat It, Billie Jean, Human Nature, P.Y.T. (Pretty Young Thing), The Lady in My Life |
| Prince |
Purple Rain |
1984 |
Warner Brothers Records |
Grammy Award for Best Score Soundtrack for Visual Media, American Music Award for Favorite Pop/Rock Album, American Music Award for Favorite Soul/R&B Album, Brit Award for Best Soundtrack/Cast Recording, Grammy Award for Best Rock Performance by a Duo or Group with Vocal |
Let’s Go Crazy, Take Me With U, The Beautiful Ones, Computer Blue, Darling Nikki, When Doves Cry, I Would Die 4 U, Baby I’m a Star, Purple Rain |
| Beastie Boys |
License to Ill |
1986 |
Mercury Records |
noawardsbutthistablecelliswide |
Rhymin & Stealin, The New Style, She’s Crafty, Posse in Effect, Slow Ride, Girls, (You Gotta) Fight for Your Right, No Sleep Till Brooklyn, Paul Revere, Hold It Now, Hit It, Brass Monkey, Slow and Low, Time to Get Ill |
Code snippets like var foo = "bar"; can be shown inline.
Also, this should vertically align with this and this.
Code can also be shown in a block element.
foo := "bar";
bar := "foo";
Code can also use syntax highlighting.
func main() {
input := `var foo = "bar";`
lexer := lexers.Get("javascript")
iterator, _ := lexer.Tokenise(nil, input)
style := styles.Get("github")
formatter := html.New(html.WithLineNumbers())
var buff bytes.Buffer
formatter.Format(&buff, style, iterator)
fmt.Println(buff.String())
}
Long, single-line code blocks should not wrap. They should horizontally scroll if they are too long. This line should be long enough to demonstrate this.
Inline code inside table cells should still be distinguishable.
| Language |
Code |
| Javascript |
var foo = "bar"; |
| Ruby |
foo = "bar"{ |
Small images should be shown at their actual size.

Large images should always scale down and fit in the content container.

The photo above of the Spruce Picea abies shoot with foliage buds: Bjørn Erik Pedersen, CC-BY-SA.
Components
Alerts
This is an alert.
Note
This is an alert with a title.
Note
This is an alert with a title and Markdown.
This is a successful alert.
This is a warning.
Warning
This is a warning with a title.
Another Heading
Add some sections here to see how the ToC looks like. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.
This Document
Inguina genus: Anaphen post: lingua violente voce suae meus aetate diversi. Orbis unam nec flammaeque status deam Silenum erat et a ferrea. Excitus rigidum ait: vestro et Herculis convicia: nitidae deseruit coniuge Proteaque adiciam eripitur? Sitim noceat signa probat quidem. Sua longis fugatis quidem genae.
Pixel Count
Tilde photo booth wayfarers cliche lomo intelligentsia man braid kombucha vaporware farm-to-table mixtape portland. PBR&B pickled cornhole ugh try-hard ethical subway tile. Fixie paleo intelligentsia pabst. Ennui waistcoat vinyl gochujang. Poutine salvia authentic affogato, chambray lumbersexual shabby chic.
Plaid hell of cred microdosing, succulents tilde pour-over. Offal shabby chic 3 wolf moon blue bottle raw denim normcore poutine pork belly.
External Links
Stumptown PBR&B keytar plaid street art, forage XOXO pitchfork selvage affogato green juice listicle pickled everyday carry hashtag. Organic sustainable letterpress sartorial scenester intelligentsia swag bushwick. Put a bird on it stumptown neutra locavore. IPhone typewriter messenger bag narwhal. Ennui cold-pressed seitan flannel keytar, single-origin coffee adaptogen occupy yuccie williamsburg chillwave shoreditch forage waistcoat.
This is the final element on the page and there should be no margin below this.
4.2 - Another Tutorial
A short lead description about this content page. It can be bold or italic and can be split over multiple paragraphs.
This is a placeholder page. Replace it with your own content.
Text can be bold, italic, or strikethrough. Links should be blue with no underlines (unless hovered over).
There should be whitespace between paragraphs. Vape migas chillwave sriracha poutine try-hard distillery. Tattooed shabby chic small batch, pabst art party heirloom letterpress air plant pop-up. Sustainable chia skateboard art party banjo cardigan normcore affogato vexillologist quinoa meggings man bun master cleanse shoreditch readymade. Yuccie prism four dollar toast tbh cardigan iPhone, tumblr listicle live-edge VHS. Pug lyft normcore hot chicken biodiesel, actually keffiyeh thundercats photo booth pour-over twee fam food truck microdosing banh mi. Vice activated charcoal raclette unicorn live-edge post-ironic. Heirloom vexillologist coloring book, beard deep v letterpress echo park humblebrag tilde.
90’s four loko seitan photo booth gochujang freegan tumeric listicle fam ugh humblebrag. Bespoke leggings gastropub, biodiesel brunch pug fashion axe meh swag art party neutra deep v chia. Enamel pin fanny pack knausgaard tofu, artisan cronut hammock meditation occupy master cleanse chartreuse lumbersexual. Kombucha kogi viral truffaut synth distillery single-origin coffee ugh slow-carb marfa selfies. Pitchfork schlitz semiotics fanny pack, ugh artisan vegan vaporware hexagon. Polaroid fixie post-ironic venmo wolf ramps kale chips.
There should be no margin above this first sentence.
Blockquotes should be a lighter gray with a border along the left side in the secondary color.
There should be no margin below this final sentence.
This is a normal paragraph following a header. Knausgaard kale chips snackwave microdosing cronut copper mug swag synth bitters letterpress glossier craft beer. Mumblecore bushwick authentic gochujang vegan chambray meditation jean shorts irony. Viral farm-to-table kale chips, pork belly palo santo distillery activated charcoal aesthetic jianbing air plant woke lomo VHS organic. Tattooed locavore succulents heirloom, small batch sriracha echo park DIY af. Shaman you probably haven’t heard of them copper mug, crucifix green juice vape single-origin coffee brunch actually. Mustache etsy vexillologist raclette authentic fam. Tousled beard humblebrag asymmetrical. I love turkey, I love my job, I love my friends, I love Chardonnay!
Deae legum paulatimque terra, non vos mutata tacet: dic. Vocant docuique me plumas fila quin afuerunt copia haec o neque.
On big screens, paragraphs and headings should not take up the full container width, but we want tables, code blocks and similar to take the full width.
Scenester tumeric pickled, authentic crucifix post-ironic fam freegan VHS pork belly 8-bit yuccie PBR&B. I love this life we live in.
This is a blockquote following a header. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.
This is a code block following a header.
Next level leggings before they sold out, PBR&B church-key shaman echo park. Kale chips occupy godard whatever pop-up freegan pork belly selfies. Gastropub Belinda subway tile woke post-ironic seitan. Shabby chic man bun semiotics vape, chia messenger bag plaid cardigan.
- This is an unordered list following a header.
- This is an unordered list following a header.
- This is an unordered list following a header.
- This is an ordered list following a header.
- This is an ordered list following a header.
- This is an ordered list following a header.
| What |
Follows |
| A table |
A header |
| A table |
A header |
| A table |
A header |
There’s a horizontal rule above and below this.
Here is an unordered list:
- Liverpool F.C.
- Chelsea F.C.
- Manchester United F.C.
And an ordered list:
- Michael Brecker
- Seamus Blake
- Branford Marsalis
And an unordered task list:
And a “mixed” task list:
And a nested list:
- Jackson 5
- Michael
- Tito
- Jackie
- Marlon
- Jermaine
- TMNT
- Leonardo
- Michelangelo
- Donatello
- Raphael
Definition lists can be used with Markdown syntax. Definition headers are bold.
- Name
- Godzilla
- Born
- 1952
- Birthplace
- Japan
- Color
- Green
Tables should have bold headings and alternating shaded rows.
| Artist |
Album |
Year |
| Michael Jackson |
Thriller |
1982 |
| Prince |
Purple Rain |
1984 |
| Beastie Boys |
License to Ill |
1986 |
If a table is too wide, it should scroll horizontally.
| Artist |
Album |
Year |
Label |
Awards |
Songs |
| Michael Jackson |
Thriller |
1982 |
Epic Records |
Grammy Award for Album of the Year, American Music Award for Favorite Pop/Rock Album, American Music Award for Favorite Soul/R&B Album, Brit Award for Best Selling Album, Grammy Award for Best Engineered Album, Non-Classical |
Wanna Be Startin' Somethin', Baby Be Mine, The Girl Is Mine, Thriller, Beat It, Billie Jean, Human Nature, P.Y.T. (Pretty Young Thing), The Lady in My Life |
| Prince |
Purple Rain |
1984 |
Warner Brothers Records |
Grammy Award for Best Score Soundtrack for Visual Media, American Music Award for Favorite Pop/Rock Album, American Music Award for Favorite Soul/R&B Album, Brit Award for Best Soundtrack/Cast Recording, Grammy Award for Best Rock Performance by a Duo or Group with Vocal |
Let’s Go Crazy, Take Me With U, The Beautiful Ones, Computer Blue, Darling Nikki, When Doves Cry, I Would Die 4 U, Baby I’m a Star, Purple Rain |
| Beastie Boys |
License to Ill |
1986 |
Mercury Records |
noawardsbutthistablecelliswide |
Rhymin & Stealin, The New Style, She’s Crafty, Posse in Effect, Slow Ride, Girls, (You Gotta) Fight for Your Right, No Sleep Till Brooklyn, Paul Revere, Hold It Now, Hit It, Brass Monkey, Slow and Low, Time to Get Ill |
Code snippets like var foo = "bar"; can be shown inline.
Also, this should vertically align with this and this.
Code can also be shown in a block element.
foo := "bar";
bar := "foo";
Code can also use syntax highlighting.
func main() {
input := `var foo = "bar";`
lexer := lexers.Get("javascript")
iterator, _ := lexer.Tokenise(nil, input)
style := styles.Get("github")
formatter := html.New(html.WithLineNumbers())
var buff bytes.Buffer
formatter.Format(&buff, style, iterator)
fmt.Println(buff.String())
}
Long, single-line code blocks should not wrap. They should horizontally scroll if they are too long. This line should be long enough to demonstrate this.
Inline code inside table cells should still be distinguishable.
| Language |
Code |
| Javascript |
var foo = "bar"; |
| Ruby |
foo = "bar"{ |
Small images should be shown at their actual size.

Large images should always scale down and fit in the content container.

The photo above of the Spruce Picea abies shoot with foliage buds: Bjørn Erik Pedersen, CC-BY-SA.
Components
Alerts
This is an alert.
Note
This is an alert with a title.
Note
This is an alert with a title and Markdown.
This is a successful alert.
This is a warning.
Warning
This is a warning with a title.
Another Heading
Add some sections here to see how the ToC looks like. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.
This Document
Inguina genus: Anaphen post: lingua violente voce suae meus aetate diversi. Orbis unam nec flammaeque status deam Silenum erat et a ferrea. Excitus rigidum ait: vestro et Herculis convicia: nitidae deseruit coniuge Proteaque adiciam eripitur? Sitim noceat signa probat quidem. Sua longis fugatis quidem genae.
Pixel Count
Tilde photo booth wayfarers cliche lomo intelligentsia man braid kombucha vaporware farm-to-table mixtape portland. PBR&B pickled cornhole ugh try-hard ethical subway tile. Fixie paleo intelligentsia pabst. Ennui waistcoat vinyl gochujang. Poutine salvia authentic affogato, chambray lumbersexual shabby chic.
Plaid hell of cred microdosing, succulents tilde pour-over. Offal shabby chic 3 wolf moon blue bottle raw denim normcore poutine pork belly.
External Links
Stumptown PBR&B keytar plaid street art, forage XOXO pitchfork selvage affogato green juice listicle pickled everyday carry hashtag. Organic sustainable letterpress sartorial scenester intelligentsia swag bushwick. Put a bird on it stumptown neutra locavore. IPhone typewriter messenger bag narwhal. Ennui cold-pressed seitan flannel keytar, single-origin coffee adaptogen occupy yuccie williamsburg chillwave shoreditch forage waistcoat.
This is the final element on the page and there should be no margin below this.