695 lines
19 KiB
SCSS

// GitHub Flavored Markdown
// ================================
//
// *View the [source of this content](http://github.github.com/github-flavored-markdown/sample_content.html).*
//
// Let's get the whole "linebreak" thing out of the way. The next paragraph contains two phrases separated by a single newline character:
//
// Roses are red
// Violets are blue
//
// The next paragraph has the same phrases, but now they are separated by two spaces and a newline character:
//
// Roses are red
// Violets are blue
//
// Oh, and one thing I cannot stand is the mangling of words with multiple underscores in them like perform_complicated_task or do_this_and_do_that_and_another_thing.
//
// A bit of the GitHub spice
// -------------------------
//
// In addition to the changes in the previous section, certain references are auto-linked:
//
// * SHA: be6a8cc1c1ecfe9489fb51e4869af15a13fc2cd2
// * User@SHA ref: mojombo@be6a8cc1c1ecfe9489fb51e4869af15a13fc2cd2
// * User/Project@SHA: mojombo/god@be6a8cc1c1ecfe9489fb51e4869af15a13fc2cd2
// * \#Num: #1
// * User/#Num: mojombo#1
// * SHA: be6a8cc1c1ecfe9489fb51e4869af15a13fc2cd2
// * User@SHA ref: mojombo@be6a8cc1c1ecfe9489fb51e4869af15a13fc2cd2
// * User/Project@SHA: mojombo/god@be6a8cc1c1ecfe9489fb51e4869af15a13fc2cd2
// * \#Num: #1
// * User/#Num: mojombo#1
// * User/Project#Num: mojombo/god#1
//
// These are dangerous goodies though, and we need to make sure email addresses don't get mangled:
//
// My email addy is tom@github.com.
//
// Good rules
// -------------
//
// Actually there's nothing wrong with this `<hr>`
//
// ---
//
// A mathematician is a device for turning coffee into theorems
// -------------------------------
//
// In first grade I learned that 5 > 3 and 2 < 7. Maybe some arrows. 1 -> 2 -> 3. 9 <- 8 <- 7.
//
// Triangles man! a^2 + b^2 = c^2
//
// We all like making lists
// ------------------------
//
// The above header should be an H2 tag. Now, for a list of fruits:
//
// * Red Apples
// * Purple Grapes
// * Green Kiwifruits
//
// Let's get crazy:
//
// 1. This is a list item with two paragraphs. Lorem ipsum dolor
// sit amet, consectetuer adipiscing elit. Aliquam hendrerit
// mi posuere lectus.
//
// Vestibulum enim wisi, viverra nec, fringilla in, laoreet
// vitae, risus. Donec sit amet nisl. Aliquam semper ipsum
// sit amet velit.
//
// 2. Suspendisse id sem consectetuer libero luctus adipiscing.
//
// What about some code **in** a list? That's insane, right?
//
// 1. In Ruby you can map like this:
//
// ['a', 'b'].map { |x| x.uppercase }
//
// 2. In Rails, you can do a shortcut:
//
// ['a', 'b'].map(&:uppercase)
//
// Some people seem to like definition lists
//
// <dl>
// <dt>Lower cost</dt>
// <dd>The new version of this product costs significantly less than the previous one!</dd>
// <dt>Easier to use</dt>
// <dd>We've changed the product so that it's much easier to use!</dd>
// </dl>
//
// I am a robot
// ------------
//
// Maybe you want to print `robot` to the console 1000 times. Why not?
//
// def robot_invasion
// puts("robot " * 1000)
// end
//
// You see, that was formatted as code because it's been indented by four spaces.
//
// How about we throw some angle braces and ampersands in there?
//
// <div class="footer">
// &copy; 2004 Foo Corporation
// </div>
//
// Set in stone
// ------------
//
// Playing the blame game
// ----------------------
//
// If you need to blame someone, the best way to do so is by quoting them:
//
// > I, at any rate, am convinced that He does not throw dice.
//
// Or perhaps someone a little less eloquent:
//
// > I wish you'd have given me this written question ahead of time so I
// > could plan for it... I'm sure something will pop into my head here in
// > the midst of this press conference, with all the pressure of trying to
// > come up with answer, but it hadn't yet...
// >
// > I don't want to sound like
// > I have made no mistakes. I'm confident I have. I just haven't - you
// > just put me under the spot here, and maybe I'm not as quick on my feet
// > as I should be in coming up with one.
//
// Table for two
// -------------
//
// <table>
// <tr>
// <th>ID</th><th>Name</th><th>Profession</th>
// </tr>
// <tr>
// <td>1</td><td>Beethoven</td><td>Composer</td>
// </tr>
// <tr>
// <td>2</td><td>Beethoven (the dog)</td><td>Dog</td>
// </tr>
// </table>
//
// Crazy linking action
// --------------------
//
// I get 10 times more traffic from [Google] [1] than from
// [Yahoo] [2] or [MSN] [3].
//
// [1]: http://google.com/ "Google"
// [2]: http://search.yahoo.com/ "Yahoo Search"
// [3]: http://search.msn.com/ "MSN Search"
//
//
// # Header 1
//
// Bacon ipsum dolor sit amet cillum tail ea sint dolor veniam ```sirloin``` laborum hamburger fugiat mollit exercitation consectetur. Beef ribs leberkas fugiat, minim velit ball tip ham hock deserunt anim aliqua cillum ut officia sint. Shankle filet mignon t-bone laboris nulla. Sunt pig ham hock nulla biltong capicola tempor reprehenderit, swine pariatur flank doner pancetta. Cupidatat leberkas esse andouille magna prosciutto chicken. Non fugiat dolor, shank nulla swine sausage. Ut short loin kielbasa tail pork belly salami veniam sed eiusmod est enim drumstick strip steak brisket.
//
// ## Header 2
//
// Bacon ipsum dolor sit amet cillum tail ea sint dolor veniam ```sirloin``` laborum hamburger fugiat mollit exercitation consectetur. Beef ribs leberkas fugiat, minim velit ball tip ham hock deserunt anim aliqua cillum ut officia sint. Shankle filet mignon t-bone laboris nulla. Sunt pig ham hock nulla biltong capicola tempor reprehenderit, swine pariatur flank doner pancetta. Cupidatat leberkas esse andouille magna prosciutto chicken. Non fugiat dolor, shank nulla swine sausage. Ut short loin kielbasa tail pork belly salami veniam sed eiusmod est enim drumstick strip steak brisket.
//
// ### Header 3
//
// Bacon ipsum dolor sit amet cillum tail ea sint dolor veniam ```sirloin``` laborum hamburger fugiat mollit exercitation consectetur. Beef ribs leberkas fugiat, minim velit ball tip ham hock deserunt anim aliqua cillum ut officia sint. Shankle filet mignon t-bone laboris nulla. Sunt pig ham hock nulla biltong capicola tempor reprehenderit, swine pariatur flank doner pancetta. Cupidatat leberkas esse andouille magna prosciutto chicken. Non fugiat dolor, shank nulla swine sausage. Ut short loin kielbasa tail pork belly salami veniam sed eiusmod est enim drumstick strip steak brisket.
//
// #### Header 4
//
// Bacon ipsum dolor sit amet cillum tail ea sint dolor veniam ```sirloin``` laborum hamburger fugiat mollit exercitation consectetur. Beef ribs leberkas fugiat, minim velit ball tip ham hock deserunt anim aliqua cillum ut officia sint. Shankle filet mignon t-bone laboris nulla. Sunt pig ham hock nulla biltong capicola tempor reprehenderit, swine pariatur flank doner pancetta. Cupidatat leberkas esse andouille magna prosciutto chicken. Non fugiat dolor, shank nulla swine sausage. Ut short loin kielbasa tail pork belly salami veniam sed eiusmod est enim drumstick strip steak brisket.
//
// ##### Header 5
//
// Bacon ipsum dolor sit amet cillum tail ea sint dolor veniam ```sirloin``` laborum hamburger fugiat mollit exercitation consectetur. Beef ribs leberkas fugiat, minim velit ball tip ham hock deserunt anim aliqua cillum ut officia sint. Shankle filet mignon t-bone laboris nulla. Sunt pig ham hock nulla biltong capicola tempor reprehenderit, swine pariatur flank doner pancetta. Cupidatat leberkas esse andouille magna prosciutto chicken. Non fugiat dolor, shank nulla swine sausage. Ut short loin kielbasa tail pork belly salami veniam sed eiusmod est enim drumstick strip steak brisket.
//
// ###### Header 6
//
// Bacon ipsum dolor sit amet cillum tail ea sint dolor veniam ```sirloin``` laborum hamburger fugiat mollit exercitation consectetur. Beef ribs leberkas fugiat, minim velit ball tip ham hock deserunt anim aliqua cillum ut officia sint. Shankle filet mignon t-bone laboris nulla. Sunt pig ham hock nulla biltong capicola tempor reprehenderit, swine pariatur flank doner pancetta. Cupidatat leberkas esse andouille magna prosciutto chicken. Non fugiat dolor, shank nulla swine sausage. Ut short loin kielbasa tail pork belly salami veniam sed eiusmod est enim drumstick strip steak brisket.
//
// Ode to Code
// -----------
//
// ### Code block
//
// ``` coffeescript
// ameta.append('span')
// .attr('class', 'cmeta')
// .html((d) -> "<a class='cmt' href='../commits?author=#{d.author.login}'>#{$.commafy(d.cmts)} commits</a> / <span class='a'>#{$.commafy(d.adds)} ++</span> / <span class='d'>#{$.commafy(d.dels)} --</span>")
//
// svg = person.append('svg')
// .attr('width', sparkw + (padl + padr))
// .attr('height', sparkh + padt + padb)
// .attr('class', 'spark')
// .append('g')
// .attr('transform', "translate(#{padl},#{padt})")
//
// svg.append("g")
// .attr("class", "x axis")
// .attr("transform", "translate(0, #{sparkh - padt - padb})")
// .call(xAxis)
// .selectAll('.x.axis g text')
// .style('display', (d, i) -> if i % 2 != 0 then 'none' else 'block')
//
// yax = svg.append("g")
// .attr("class", "y axis")
// .call(yAxis)
// .selectAll('.y.axis g text')
// .attr('dx', sparkw / 2)
// .style('display', (d, i) -> if i == 0 then 'none' else 'block')
// .classed 'midlabel', true
// ```
//
// ### Single tick with spaces
//
// `You can use the HTML5 custom data attributes by passing the values inside a data hash. For example: data =&gt; { :something =&gt; "bla bla bla", :confirm =&gt; "You sure?" }`
//
// ### Multiple single ticks
//
// `2012-03-28 09:19:58.0908|INFO|FileLogger|Processing xml: <Event xmlns='http://schemas.microsoft.com/win/2004/08/events/event'><System><Provider Name='MSSQLSERVER'/><EventID Qualifiers='49152'>18456</EventID><Level>0</Level><Task>4</Task><Keywords>0x90000000000000</Keywords><TimeCreated SystemTime='2012-03-28T13:19:58.000000000Z'/><EventRecordID>399270</EventRecordID><Channel>Application</Channel><Computer>dallas</Computer><Security/></System><EventData><Data>sa</Data><Data> Reason: Password did not match that for the login provided.</Data><Data> [CLIENT: 118.186.64.242]</Data><Binary>184800000E00000007000000440041004C004C00410053000000070000006D00610073007400650072000000</Binary></EventData></Event>`
//
// `2012-03-28 09:19:58.0908|INFO|FileLogger|No regex, so counting as a match sdf sdf sdf sdfsd lksdfj lksjdf lksjdf lksdjf lksjdf lsdfj werwer werwer`
//
// ### Unbroken single tick
//
// `longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglong`
//
// ### Unbroken triple tick
//
// ``` ruby
// longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglong
// ```
//
// ### Single tick between a block of text that wraps
//
// this is a line with some text and `inline code test test test test test test test test test test test test test test test test test test test test test test test test` and more text here
//
// ### Single tick between a block of text that doesn't wrap
//
// this is some text, `and this is some code`, lines don't break, they do what they're told
//
// Styleguide 4.0
// All of our block level items should have the same margin
$margin: 16px;
// This is styling for generic markdownized text. Anything you put in a
// container with .markdown-body on it should render generally well. It also
// includes some GitHub Flavored Markdown specific styling (like @mentions)
.markdown-body {
overflow: hidden;
font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif;
font-size: 16px;
line-height: 1.6;
word-wrap: break-word;
> *:first-child {
margin-top: 0 !important;
}
> *:last-child {
margin-bottom: 0 !important;
}
// Anchors like <a name="examples">. These sometimes end up wrapped around
// text when users mistakenly forget to close the tag or use self-closing tag
// syntax. We don't want them to appear like links.
// FIXME: a:not(:link):not(:visited) would be a little clearer here (and
// possibly faster to match), but it breaks styling of <a href> elements due
// to https://bugs.webkit.org/show_bug.cgi?id=142737.
a:not([href]) {
color: inherit;
text-decoration: none;
}
// Link Colors
.absent {
color: #c00;
}
.anchor {
position: absolute;
top: 0;
left: 0;
display: block;
padding-right: 6px;
padding-left: 30px;
margin-left: -30px;
&:focus {
outline: none;
}
}
// Headings
h1, h2, h3, h4, h5, h6 {
position: relative;
margin-top: 1em;
margin-bottom: $margin;
font-weight: bold;
line-height: 1.4;
.octicon-link {
display: none;
color: #000;
vertical-align: middle;
}
&:hover .anchor {
padding-left: 8px;
margin-left: -30px;
text-decoration: none;
.octicon-link {
display: inline-block;
}
}
tt,
code {
font-size: inherit;
}
}
h1 {
padding-bottom: 0.3em;
font-size: 2.25em;
line-height: 1.2;
border-bottom: 1px solid #eee;
.anchor {
line-height: 1;
}
}
h2 {
padding-bottom: 0.3em;
font-size: 1.75em;
line-height: 1.225;
border-bottom: 1px solid #eee;
.anchor {
line-height: 1;
}
}
h3 {
font-size: 1.5em;
line-height: 1.43;
.anchor {
line-height: 1.2;
}
}
h4 {
font-size: 1.25em;
.anchor {
line-height: 1.2;
}
}
h5 {
font-size: 1em;
.anchor {
line-height: 1.1;
}
}
h6 {
font-size: 1em;
color: #777;
.anchor {
line-height: 1.1;
}
}
p,
blockquote,
ul, ol, dl,
table,
pre {
margin-top: 0;
margin-bottom: $margin;
}
hr {
height: 4px;
padding: 0;
margin: $margin 0;
background-color: #e7e7e7;
border: 0 none;
}
// Lists, Blockquotes & Such
ul,
ol {
padding-left: 2em;
&.no-list {
padding: 0;
list-style-type: none;
}
}
// Did someone complain about list spacing? Encourage them
// to create the spacing with their markdown formatting.
// List behavior should be controled by the markup, not the css.
//
// For lists with padding between items, use blank
// lines between items. This will generate paragraphs with
// padding to space things out.
//
// - item
//
// - item
//
// - item
//
// For list without padding, don't use blank lines.
//
// - item
// - item
// - item
//
// Modifying the css to emulate these behaviors merely brakes
// one case in the process of solving another. Don't change
// this unless it's really really a bug.
ul ul,
ul ol,
ol ol,
ol ul {
margin-top: 0;
margin-bottom: 0;
}
li > p {
margin-top: $margin;
}
dl {
padding: 0;
}
dl dt {
padding: 0;
margin-top: $margin;
font-size: 1em;
font-style: italic;
font-weight: bold;
}
dl dd {
padding: 0 $margin;
margin-bottom: $margin;
}
blockquote {
padding: 0 15px;
color: #777;
border-left: 4px solid #ddd;
> :first-child {
margin-top: 0;
}
> :last-child {
margin-bottom: 0;
}
}
// Tables
table {
display: block;
width: 100%;
overflow: auto;
word-break: normal;
word-break: keep-all; // For Firefox to horizontally scroll wider tables.
th {
font-weight: bold;
}
th, td {
padding: 6px 13px;
border: 1px solid #ddd;
}
tr {
background-color: #fff;
border-top: 1px solid #ccc;
&:nth-child(2n) {
background-color: #f8f8f8;
}
}
}
// Images & Stuff
img {
max-width: 100%;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.emoji {
max-width: none;
}
// Gollum Image Tags
// Framed
span.frame {
display: block;
overflow: hidden;
& > span {
display: block;
float: left;
width: auto;
padding: 7px;
margin: 13px 0 0;
overflow: hidden;
border: 1px solid #ddd;
}
span img {
display: block;
float: left;
}
span span {
display: block;
padding: 5px 0 0;
clear: both;
color: #333;
}
}
span.align-center {
display: block;
overflow: hidden;
clear: both;
& > span {
display: block;
margin: 13px auto 0;
overflow: hidden;
text-align: center;
}
span img {
margin: 0 auto;
text-align: center;
}
}
span.align-right {
display: block;
overflow: hidden;
clear: both;
& > span {
display: block;
margin: 13px 0 0;
overflow: hidden;
text-align: right;
}
span img {
margin: 0;
text-align: right;
}
}
span.float-left {
display: block;
float: left;
margin-right: 13px;
overflow: hidden;
span {
margin: 13px 0 0;
}
}
span.float-right {
display: block;
float: right;
margin-left: 13px;
overflow: hidden;
& > span {
display: block;
margin: 13px auto 0;
overflow: hidden;
text-align: right;
}
}
// Inline code snippets
code,
tt {
padding: 0;
padding-top: 0.2em;
padding-bottom: 0.2em;
margin: 0;
font-size: 85%;
background-color: rgba(0,0,0,0.04);
border-radius: 3px; // don't add padding, gives scrollbars
&:before,
&:after {
letter-spacing: -0.2em; // this creates padding
content: "\00a0";
}
br { display: none; }
}
del code { text-decoration: inherit; }
// Code tags within code blocks (<pre>s)
pre > code {
padding: 0;
margin: 0;
font-size: 100%;
word-break: normal;
white-space: pre;
background: transparent;
border: 0;
}
.highlight {
margin-bottom: $margin;
}
.highlight pre,
pre {
padding: $margin;
overflow: auto;
font-size: 85%;
line-height: 1.45;
background-color: #f7f7f7;
border-radius: 3px;
}
.highlight pre {
margin-bottom: 0;
word-break: normal;
}
pre {
word-wrap: normal;
}
pre code,
pre tt {
display: inline;
max-width: initial;
padding: 0;
margin: 0;
overflow: initial;
line-height: inherit;
word-wrap: normal;
background-color: transparent;
border: 0;
&:before,
&:after {
content: normal;
}
}
kbd {
display: inline-block;
padding: 3px 5px;
font-size: 11px;
line-height: 10px;
color: #555;
vertical-align: middle;
background-color: #fcfcfc;
border: solid 1px #ccc;
border-bottom-color: #bbb;
border-radius: 3px;
box-shadow: inset 0 -1px 0 #bbb;
}
}