The 4th Freecode Camp project to build a technical document page. I ripped the text content from the codepen, added syntax highlighting and css
This commit is contained in:
parent
273df72f43
commit
1d09a3206a
|
@ -0,0 +1,447 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>Project 4 - Build A Technical Document Page</title>
|
||||||
|
<link href="prism.css" rel="stylesheet" />
|
||||||
|
<link rel="stylesheet" href="style.css">
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<nav id="navbar">
|
||||||
|
<header>JS Documentation</header>
|
||||||
|
<ul>
|
||||||
|
<li><a class="nav-link" href="#Introduction">Introduction</a></li>
|
||||||
|
<li>
|
||||||
|
<a class="nav-link" href="#What_you_should_already_know">What you should already know</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a class="nav-link" href="#JavaScript_and_Java">JavaScript and Java</a>
|
||||||
|
</li>
|
||||||
|
<li><a class="nav-link" href="#Hello_world">Hello world</a></li>
|
||||||
|
<li><a class="nav-link" href="#Variables">Variables</a></li>
|
||||||
|
<li>
|
||||||
|
<a class="nav-link" href="#Declaring_variables">Declaring variables</a>
|
||||||
|
</li>
|
||||||
|
<li><a class="nav-link" href="#Variable_scope">Variable scope</a></li>
|
||||||
|
<li><a class="nav-link" href="#Global_variables">Global variables</a></li>
|
||||||
|
<li><a class="nav-link" href="#Constants">Constants</a></li>
|
||||||
|
<li><a class="nav-link" href="#Data_types">Data types</a></li>
|
||||||
|
<li>
|
||||||
|
<a class="nav-link" href="#if...else_statement">if...else statement</a>
|
||||||
|
</li>
|
||||||
|
<li><a class="nav-link" href="#while_statement">while statement</a></li>
|
||||||
|
<li>
|
||||||
|
<a class="nav-link" href="#Function_declarations">Function declarations</a>
|
||||||
|
</li>
|
||||||
|
<li><a class="nav-link" href="#Reference">Reference</a></li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<main id="main-doc">
|
||||||
|
<section class="main-section" id="Introduction">
|
||||||
|
<header>Introduction</header>
|
||||||
|
<article>
|
||||||
|
<p>
|
||||||
|
JavaScript is a cross-platform, object-oriented scripting language. It is a small and lightweight
|
||||||
|
language. Inside a host environment (for example, a web browser), JavaScript can be connected to the
|
||||||
|
objects of its environment to provide programmatic control over them.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
JavaScript contains a standard library of objects, such as Array, Date, and Math, and a core set of
|
||||||
|
language elements such as operators, control structures, and statements. Core JavaScript can be
|
||||||
|
extended for a variety of purposes by supplementing it with additional objects; for example:
|
||||||
|
</p>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
Client-side JavaScript extends the core language by supplying objects to control a browser and
|
||||||
|
its Document Object Model (DOM). For example, client-side extensions allow an application to
|
||||||
|
place elements on an HTML form and respond to user events such as mouse clicks, form input, and
|
||||||
|
page navigation.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
Server-side JavaScript extends the core language by supplying objects relevant to running
|
||||||
|
JavaScript on a server. For example, server-side extensions allow an application to communicate
|
||||||
|
with a database, provide continuity of information from one invocation to another of the
|
||||||
|
application, or perform file manipulations on a server.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</article>
|
||||||
|
</section>
|
||||||
|
<section class="main-section" id="What_you_should_already_know">
|
||||||
|
<header>What you should already know</header>
|
||||||
|
<article>
|
||||||
|
<p>This guide assumes you have the following basic background:</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
A general understanding of the Internet and the World Wide Web (WWW).
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
Good working knowledge of HyperText Markup Language (HTML).
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
Some programming experience. If you are new to programming, try one of the tutorials linked on
|
||||||
|
the main page about JavaScript.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</article>
|
||||||
|
</section>
|
||||||
|
<section class="main-section" id="JavaScript_and_Java">
|
||||||
|
<header>JavaScript and Java</header>
|
||||||
|
<article>
|
||||||
|
<p>
|
||||||
|
JavaScript and Java are similar in some ways but fundamentally different in some others. The
|
||||||
|
JavaScript language resembles Java but does not have Java's static typing and strong type checking.
|
||||||
|
JavaScript follows most Java expression syntax, naming conventions and basic control-flow constructs
|
||||||
|
which was the reason why it was renamed from LiveScript to JavaScript.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
In contrast to Java's compile-time system of classes built by
|
||||||
|
declarations, JavaScript supports a runtime system based on a small
|
||||||
|
number of data types representing numeric, Boolean, and string values.
|
||||||
|
JavaScript has a prototype-based object model instead of the more common class-based object model.
|
||||||
|
The prototype-based model provides dynamic inheritance; that is, what is inherited can vary for
|
||||||
|
individual objects.
|
||||||
|
JavaScript also supports functions without any special declarative
|
||||||
|
requirements. Functions can be properties of objects, executing as
|
||||||
|
loosely typed methods.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
JavaScript is a very free-form language compared to Java. You do not
|
||||||
|
have to declare all variables, classes, and methods. You do not have to be concerned with whether
|
||||||
|
methods are public, private, or protected, and you do not have to implement interfaces. Variables,
|
||||||
|
parameters, and function return types are not explicitly typed.
|
||||||
|
</p>
|
||||||
|
</article>
|
||||||
|
</section>
|
||||||
|
<section class="main-section" id="Hello_world">
|
||||||
|
<header>Hello world</header>
|
||||||
|
<article>
|
||||||
|
To get started with writing JavaScript, open the Scratchpad and write your first "Hello world"
|
||||||
|
JavaScript code:
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
<code class="language-js">function greetMe(yourName)
|
||||||
|
{
|
||||||
|
alert("Hello " + yourName);
|
||||||
|
}
|
||||||
|
|
||||||
|
greetMe("World");
|
||||||
|
</code></pre>
|
||||||
|
</article>
|
||||||
|
</section>
|
||||||
|
<section class="main-section" id="Variables">
|
||||||
|
<header>Variables</header>
|
||||||
|
<p>
|
||||||
|
You use variables as symbolic names for values in your application. The
|
||||||
|
names of variables, called identifiers, conform to certain rules.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
A JavaScript identifier must start with a letter, underscore (_), or
|
||||||
|
dollar sign ($); subsequent characters can also be digits (0-9). Because
|
||||||
|
JavaScript is case sensitive, letters include the characters "A" through
|
||||||
|
"Z" (uppercase) and the characters "a" through "z" (lowercase).
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
You can use ISO 8859-1 or Unicode letters such as å and ü in identifiers.
|
||||||
|
You can also use the Unicode escape sequences as characters in
|
||||||
|
identifiers. Some examples of legal names are Number_hits, temp99, and
|
||||||
|
_name.
|
||||||
|
</p>
|
||||||
|
</section>
|
||||||
|
<section class="main-section" id="Declaring_variables">
|
||||||
|
<header>Declaring variables</header>
|
||||||
|
<article>
|
||||||
|
You can declare a variable in three ways:
|
||||||
|
<p>
|
||||||
|
With the keyword var. For example, <code class="language-js">var x = 42.</code> This syntax can be
|
||||||
|
used to declare both local and global variables.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
By simply assigning it a value. For example, <code class="language-js">x = 42.</code> This always
|
||||||
|
declares a global variable. It generates a strict JavaScript
|
||||||
|
warning. You shouldn't use this variant.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
With the keyword let. For example, <code class="language-js"> let y = 13.</code> This syntax
|
||||||
|
can be used to declare a block scope local variable. See Variable scope
|
||||||
|
below.
|
||||||
|
</p>
|
||||||
|
</article>
|
||||||
|
</section>
|
||||||
|
<section class="main-section" id="Variable_scope">
|
||||||
|
<header>Variable scope</header>
|
||||||
|
<article>
|
||||||
|
<p>
|
||||||
|
When you declare a variable outside of any function, it is called a
|
||||||
|
global variable, because it is available to any other code in the
|
||||||
|
current document. When you declare a variable within a function, it is called a local variable,
|
||||||
|
because it is available only within that
|
||||||
|
function.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
JavaScript before ECMAScript 2015 does not have block statement scope; rather, a variable declared
|
||||||
|
within a block is local to the function (or global scope) that the block resides within. For example
|
||||||
|
the following code will log 5, because the scope of x is the function (or global context) within
|
||||||
|
which x is declared, not the block, which in this case is an if statement.
|
||||||
|
</p>
|
||||||
|
<pre><code class="language-js">if (true) { var x = 5; } console.log(x); // 5</code></pre>
|
||||||
|
<p>
|
||||||
|
This behavior changes, when using the let declaration introduced in
|
||||||
|
ECMAScript 2015.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
<code class="language-js">if (true) { let y = 5; }
|
||||||
|
console.log(y);
|
||||||
|
// ReferenceError: y is not defined
|
||||||
|
</code></pre>
|
||||||
|
</article>
|
||||||
|
</section>
|
||||||
|
<section class="main-section" id="Global_variables">
|
||||||
|
<header>Global variables</header>
|
||||||
|
<article>
|
||||||
|
<p>
|
||||||
|
Global variables are in fact properties of the global object. In web
|
||||||
|
pages the global object is window, so you can set and access global
|
||||||
|
variables using the window.variable syntax.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Consequently, you can access global variables declared in one window or frame from another window or
|
||||||
|
frame by specifying the window or frame name. For example, if a variable called phoneNumber is
|
||||||
|
declared in a document, you can refer to this variable from an iframe as <code
|
||||||
|
class="language-js">parent.phoneNumber</code>.
|
||||||
|
</p>
|
||||||
|
</article>
|
||||||
|
</section>
|
||||||
|
<section class="main-section" id="Constants">
|
||||||
|
<header>Constants</header>
|
||||||
|
<article>
|
||||||
|
<p>
|
||||||
|
You can create a read-only, named constant with the const keyword. The syntax of a constant
|
||||||
|
identifier is the same as for a variable identifier: it must start with a letter, underscore or
|
||||||
|
dollar sign and can contain alphabetic, numeric, or underscore characters.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<pre><code class="language-js">const PI = 3.14;</code></pre>
|
||||||
|
<p>
|
||||||
|
A constant cannot change value through assignment or be re-declared while the script is running. It
|
||||||
|
has to be initialized to a value.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
The scope rules for constants are the same as those for let block scope variables. If the const
|
||||||
|
keyword is omitted, the identifier is assumed to represent a variable.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
You cannot declare a constant with the same name as a function or variable in the same scope. For
|
||||||
|
example:
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
<code class="language-js">// THIS WILL CAUSE AN ERROR
|
||||||
|
function f() {}; const f = 5;
|
||||||
|
// THIS WILL CAUSE AN ERROR ALSO
|
||||||
|
function f() { const g = 5; var g;//statements}
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
|
However, object attributes are not protected, so the following statement
|
||||||
|
is executed without problems.
|
||||||
|
|
||||||
|
<pre><code class="language-js">const MY_OBJECT = {"key": "value"}; MY_OBJECT.key = "otherValue";</code></pre>
|
||||||
|
</article>
|
||||||
|
</section>
|
||||||
|
<section class="main-section" id="Data_types">
|
||||||
|
<header>Data types</header>
|
||||||
|
<article>
|
||||||
|
<p>The latest ECMAScript standard defines seven data types:</p>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<p>Six data types that are primitives:</p>
|
||||||
|
<ul>
|
||||||
|
<li><b>Boolean</b>. true and false.</li>
|
||||||
|
<li>
|
||||||
|
<b>null</b>. A special keyword denoting a null value. Because JavaScript is
|
||||||
|
case-sensitive, null is not the same as Null, NULL, or any other variant.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<b>undefined</b>. A top-level property whose value is undefined.
|
||||||
|
</li>
|
||||||
|
<li><b>Number</b>. 42 or 3.14159.</li>
|
||||||
|
<li><b>String</b>. "Howdy"</li>
|
||||||
|
<li>
|
||||||
|
<b>Symbol</b> (new in ECMAScript 2015). A data type whose instances are unique and
|
||||||
|
immutable.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li>and <b>Object</b></li>
|
||||||
|
</ul>
|
||||||
|
Although these data types are a relatively small amount, they enable you
|
||||||
|
to perform useful functions with your applications. Objects and functions
|
||||||
|
are the other fundamental elements in the language. You can think of
|
||||||
|
objects as named containers for values, and functions as procedures that
|
||||||
|
your application can perform.
|
||||||
|
</article>
|
||||||
|
</section>
|
||||||
|
<section class="main-section" id="if...else_statement">
|
||||||
|
<header>if...else statement</header>
|
||||||
|
<article>
|
||||||
|
Use the if statement to execute a statement if a logical condition is
|
||||||
|
true. Use the optional else clause to execute a statement if the condition is false. An if statement
|
||||||
|
looks as follows:
|
||||||
|
|
||||||
|
<pre><code class="language-js">if (condition) { statement_1; } else { statement_2; }</code></pre>
|
||||||
|
|
||||||
|
condition can be any expression that evaluates to true or false. See
|
||||||
|
Boolean for an explanation of what evaluates to true and false. If
|
||||||
|
condition evaluates to true, statement_1 is executed; otherwise,
|
||||||
|
statement_2 is executed. statement_1 and statement_2 can be any statement, including further nested if
|
||||||
|
statements.
|
||||||
|
<p>
|
||||||
|
You may also compound the statements using else if to have multiple
|
||||||
|
conditions tested in sequence, as follows:
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
<code class="language-js">if (condition_1) { statement_1; }
|
||||||
|
else if (condition_2) { statement_2; }
|
||||||
|
else if (condition_n) { statement_n; }
|
||||||
|
else { statement_last; }</code>
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
In the case of multiple conditions only the first logical condition which evaluates to true will be
|
||||||
|
executed. To execute multiple statements, group them within a block statement ({ ... }) . In general,
|
||||||
|
it's good practice to always use block statements, especially when nesting if statements:
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
<code class="language-js">if (condition) {
|
||||||
|
statement_1_runs_if_condition_is_true;
|
||||||
|
statement_2_runs_if_condition_is_true;
|
||||||
|
} else {
|
||||||
|
statement_3_runs_if_condition_is_false;
|
||||||
|
statement_4_runs_if_condition_is_false;
|
||||||
|
}
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
|
It is advisable to not use simple assignments in a conditional expression, because the assignment can be
|
||||||
|
confused with equality when glancing over the code. For example, do not use the following code:
|
||||||
|
|
||||||
|
<pre><code class="language-js">if (x = y) { /* statements here */ }</code></pre>
|
||||||
|
|
||||||
|
If you need to use an assignment in a conditional expression, a common practice is to put additional
|
||||||
|
parentheses around the assignment. For example:
|
||||||
|
|
||||||
|
<pre><code class="language-js">if ((x = y)) { /* statements here */ }</code></pre>
|
||||||
|
</article>
|
||||||
|
</section>
|
||||||
|
<section class="main-section" id="while_statement">
|
||||||
|
<header>while statement</header>
|
||||||
|
<article>
|
||||||
|
A while statement executes its statements as long as a specified condition evaluates to true. A while
|
||||||
|
statement looks as follows:
|
||||||
|
|
||||||
|
<pre><code >while (condition) statement</code></pre>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
If the condition becomes false, statement within the loop stops executing and control passes to the
|
||||||
|
statement following the loop.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
The condition test occurs before statement in the loop is executed. If the condition returns true,
|
||||||
|
statement is executed and the condition is tested again. If the condition returns false, execution
|
||||||
|
stops and control is passed to the statement following while.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
To execute multiple statements, use a block statement ({ ... }) to group those statements.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
<p>
|
||||||
|
The following while loop iterates as long as n is less than three:
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<pre><code class="language-js">var n = 0; var x = 0; while (n < 3) { n++; x += n; }</code></pre>
|
||||||
|
<p>
|
||||||
|
With each iteration, the loop increments n and adds that value to x.
|
||||||
|
Therefore, x and n take on the following values:
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>After the first pass: n = 1 and x = 1</li>
|
||||||
|
<li>After the second pass: n = 2 and x = 3</li>
|
||||||
|
<li>After the third pass: n = 3 and x = 6</li>
|
||||||
|
</ul>
|
||||||
|
<p>
|
||||||
|
After completing the third pass, the condition n < 3 is no longer
|
||||||
|
true, so the loop terminates.
|
||||||
|
</p>
|
||||||
|
</article>
|
||||||
|
</section>
|
||||||
|
<section class="main-section" id="Function_declarations">
|
||||||
|
<header>Function declarations</header>
|
||||||
|
<article>
|
||||||
|
A function definition (also called a function declaration, or function
|
||||||
|
statement) consists of the function keyword, followed by:
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>The name of the function.</li>
|
||||||
|
<li>
|
||||||
|
A list of arguments to the function, enclosed in parentheses and
|
||||||
|
separated by commas.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
The JavaScript statements that define the function, enclosed in curly brackets, { }.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<p>
|
||||||
|
For example, the following code defines a simple function named square:
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<pre><code class="language-js">function square(number) { return number * number; }</code></pre>
|
||||||
|
<p>
|
||||||
|
The function square takes one argument, called number. The function
|
||||||
|
consists of one statement that says to return the argument of the
|
||||||
|
function (that is, number) multiplied by itself. The return statement specifies the value returned
|
||||||
|
by the function.
|
||||||
|
</p>
|
||||||
|
<pre><code class="language-js">return number * number;</code></pre>
|
||||||
|
<p>
|
||||||
|
Primitive parameters (such as a number) are passed to functions by
|
||||||
|
value; the value is passed to the function, but if the function changes the value of the parameter,
|
||||||
|
this change is not reflected globally or in the calling function.
|
||||||
|
</p>
|
||||||
|
</article>
|
||||||
|
</section>
|
||||||
|
<section class="main-section" id="Reference">
|
||||||
|
<header>Reference</header>
|
||||||
|
<article>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
All the documentation in this page is taken from
|
||||||
|
<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide" target="_blank">MDN</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</article>
|
||||||
|
</section>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<script src="https://cdn.freecodecamp.org/testable-projects-fcc/v1/bundle.js"></script>
|
||||||
|
<script src="prism.js"></script>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
|
@ -0,0 +1,125 @@
|
||||||
|
/* PrismJS 1.26.0
|
||||||
|
https://prismjs.com/download.html#themes=prism-tomorrow&languages=markup+css+clike+javascript */
|
||||||
|
/**
|
||||||
|
* prism.js tomorrow night eighties for JavaScript, CoffeeScript, CSS and HTML
|
||||||
|
* Based on https://github.com/chriskempson/tomorrow-theme
|
||||||
|
* @author Rose Pritchard
|
||||||
|
*/
|
||||||
|
@import url("https://fonts.googleapis.com/css2?family=Fira+Code&family=Open+Sans:wght@400;700&display=swap");
|
||||||
|
|
||||||
|
code[class*="language-"],
|
||||||
|
pre[class*="language-"] {
|
||||||
|
color: #ccc;
|
||||||
|
background: none;
|
||||||
|
font-family: "Fira Code", Consolas, Monaco, "Andale Mono", "Ubuntu Mono",
|
||||||
|
monospace;
|
||||||
|
font-size: 1em;
|
||||||
|
text-align: left;
|
||||||
|
white-space: pre;
|
||||||
|
word-spacing: normal;
|
||||||
|
word-break: normal;
|
||||||
|
word-wrap: normal;
|
||||||
|
line-height: 1.5;
|
||||||
|
|
||||||
|
-moz-tab-size: 4;
|
||||||
|
-o-tab-size: 4;
|
||||||
|
tab-size: 4;
|
||||||
|
|
||||||
|
-webkit-hyphens: none;
|
||||||
|
-moz-hyphens: none;
|
||||||
|
-ms-hyphens: none;
|
||||||
|
hyphens: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Code blocks */
|
||||||
|
pre[class*="language-"] {
|
||||||
|
padding: 1em;
|
||||||
|
margin: 0.5em 0;
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
:not(pre) > code[class*="language-"],
|
||||||
|
pre[class*="language-"] {
|
||||||
|
background: #2d2d2d;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Inline code */
|
||||||
|
:not(pre) > code[class*="language-"] {
|
||||||
|
padding: 0.1em;
|
||||||
|
border-radius: 0.3em;
|
||||||
|
white-space: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
.token.comment,
|
||||||
|
.token.block-comment,
|
||||||
|
.token.prolog,
|
||||||
|
.token.doctype,
|
||||||
|
.token.cdata {
|
||||||
|
color: #999;
|
||||||
|
}
|
||||||
|
|
||||||
|
.token.punctuation {
|
||||||
|
color: #ccc;
|
||||||
|
}
|
||||||
|
|
||||||
|
.token.tag,
|
||||||
|
.token.attr-name,
|
||||||
|
.token.namespace,
|
||||||
|
.token.deleted {
|
||||||
|
color: #e2777a;
|
||||||
|
}
|
||||||
|
|
||||||
|
.token.function-name {
|
||||||
|
color: #6196cc;
|
||||||
|
}
|
||||||
|
|
||||||
|
.token.boolean,
|
||||||
|
.token.number,
|
||||||
|
.token.function {
|
||||||
|
color: #f08d49;
|
||||||
|
}
|
||||||
|
|
||||||
|
.token.property,
|
||||||
|
.token.class-name,
|
||||||
|
.token.constant,
|
||||||
|
.token.symbol {
|
||||||
|
color: #f8c555;
|
||||||
|
}
|
||||||
|
|
||||||
|
.token.selector,
|
||||||
|
.token.important,
|
||||||
|
.token.atrule,
|
||||||
|
.token.keyword,
|
||||||
|
.token.builtin {
|
||||||
|
color: #cc99cd;
|
||||||
|
}
|
||||||
|
|
||||||
|
.token.string,
|
||||||
|
.token.char,
|
||||||
|
.token.attr-value,
|
||||||
|
.token.regex,
|
||||||
|
.token.variable {
|
||||||
|
color: #7ec699;
|
||||||
|
}
|
||||||
|
|
||||||
|
.token.operator,
|
||||||
|
.token.entity,
|
||||||
|
.token.url {
|
||||||
|
color: #67cdcc;
|
||||||
|
}
|
||||||
|
|
||||||
|
.token.important,
|
||||||
|
.token.bold {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
.token.italic {
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
|
.token.entity {
|
||||||
|
cursor: help;
|
||||||
|
}
|
||||||
|
|
||||||
|
.token.inserted {
|
||||||
|
color: green;
|
||||||
|
}
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,97 @@
|
||||||
|
@import url("https://fonts.googleapis.com/css2?family=Fira+Code&family=Open+Sans:wght@400;700&display=swap");
|
||||||
|
|
||||||
|
*,
|
||||||
|
*::before,
|
||||||
|
*::after {
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
:root {
|
||||||
|
--site-color: hsl(0, 0%, 94%);
|
||||||
|
--font-color: rgb(28, 27, 27);
|
||||||
|
--codeblock-background-color: hsl(300, 1%, 33%);
|
||||||
|
--codeblock-font-color: rgb(255, 255, 255);
|
||||||
|
|
||||||
|
--left-column-width: 320px;
|
||||||
|
--right-column-width: calc(100vw-320px);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Layout */
|
||||||
|
#navbar {
|
||||||
|
position: fixed;
|
||||||
|
width: var(--left-column-width);
|
||||||
|
}
|
||||||
|
|
||||||
|
#main-doc {
|
||||||
|
width: var(--right-column-width);
|
||||||
|
margin-left: var(--left-column-width);
|
||||||
|
padding: 1rem;
|
||||||
|
border-left: 2px solid black;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Styling */
|
||||||
|
body {
|
||||||
|
font-family: "Open Sans";
|
||||||
|
background-color: var(--site-color);
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
header {
|
||||||
|
font-size: x-large;
|
||||||
|
margin-bottom: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
section {
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
section li {
|
||||||
|
width: 85%;
|
||||||
|
}
|
||||||
|
|
||||||
|
#navbar ul {
|
||||||
|
list-style: none;
|
||||||
|
padding: 0;
|
||||||
|
cursor: pointer;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
|
||||||
|
#navbar a {
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
#navbar header {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
#navbar li:first-child {
|
||||||
|
border-top: 1px solid;
|
||||||
|
}
|
||||||
|
|
||||||
|
#navbar li {
|
||||||
|
padding: 0.3125rem 0;
|
||||||
|
border-bottom: 1px dashed;
|
||||||
|
width: 90%;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (max-width: 550px) {
|
||||||
|
#navbar {
|
||||||
|
position: unset;
|
||||||
|
width: unset;
|
||||||
|
}
|
||||||
|
|
||||||
|
#main-doc {
|
||||||
|
width: unset;
|
||||||
|
margin-left: unset;
|
||||||
|
padding: 0 1rem;
|
||||||
|
border-left: unset;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (max-width: 800px) {
|
||||||
|
:root {
|
||||||
|
--left-column-width: 40%;
|
||||||
|
--right-column-width: 60%;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue