Skip to content

Instantly share code, notes, and snippets.

@shgysk8zer0
Last active August 29, 2015 14:22
Show Gist options
  • Save shgysk8zer0/ba1b82709aec256a7af1 to your computer and use it in GitHub Desktop.
Save shgysk8zer0/ba1b82709aec256a7af1 to your computer and use it in GitHub Desktop.
HTML Import Demo
# Auto detect text files and perform LF normalization
* text=auto
# Custom for Visual Studio
*.cs diff=csharp
# Standard to msysgit
*.doc diff=astextplain
*.DOC diff=astextplain
*.docx diff=astextplain
*.DOCX diff=astextplain
*.dot diff=astextplain
*.DOT diff=astextplain
*.pdf diff=astextplain
*.PDF diff=astextplain
*.rtf diff=astextplain
*.RTF diff=astextplain
# Ignore
*.dav
*.bak
*.save
*~
*.log
*.orig
Thumbs.db
#################
## Eclipse
#################
*.pydevproject
.project
.metadata
bin/
tmp/
*.tmp
*.bak
*.swp
*~.nib
local.properties
.classpath
.settings/
.loadpath
# External tool builders
.externalToolBuilders/
# Locally stored "Eclipse launch configurations"
*.launch
# CDT-specific
.cproject
# PDT-specific
.buildpath
#################
## Visual Studio
#################
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
# User-specific files
*.suo
*.user
*.sln.docstates
# Build results
[Dd]ebug/
[Rr]elease/
x64/
build/
[Bb]in/
[Oo]bj/
# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*
*_i.c
*_p.c
*.ilk
*.meta
*.obj
*.pch
*.pdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.log
*.scc
# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opensdf
*.sdf
*.cachefile
# Visual Studio profiler
*.psess
*.vsp
*.vspx
# Guidance Automation Toolkit
*.gpState
# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
# TeamCity is a build add-in
_TeamCity*
# DotCover is a Code Coverage Tool
*.dotCover
# NCrunch
*.ncrunch*
.*crunch*.local.xml
# Installshield output folder
[Ee]xpress/
# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html
# Click-Once directory
publish/
# Publish Web Output
*.Publish.xml
*.pubxml
*.publishproj
# NuGet Packages Directory
## TODO: If you have NuGet Package Restore enabled, uncomment the next line
#packages/
# Windows Azure Build Output
csx
*.build.csdef
# Windows Store app package directory
AppPackages/
# Others
sql/
*.Cache
ClientBin/
[Ss]tyle[Cc]op.*
~$*
*~
*.dbmdl
*.[Pp]ublish.xml
*.pfx
*.publishsettings
# RIA/Silverlight projects
Generated_Code/
# Backup & report files from converting an old project file to a newer
# Visual Studio version. Backup files are not needed, because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm
# SQL Server files
App_Data/*.mdf
App_Data/*.ldf
#############
## Windows detritus
#############
# Windows image file caches
Thumbs.db
ehthumbs.db
# Folder config file
Desktop.ini
# Recycle Bin used on file shares
$RECYCLE.BIN/
# Mac crap
.DS_Store
#############
## Python
#############
*.py[cod]
# Packages
*.egg
*.egg-info
dist/
build/
eggs/
parts/
var/
sdist/
develop-eggs/
.installed.cfg
# Installer logs
pip-log.txt
# Unit test / coverage reports
.coverage
.tox
#Translations
*.mo
#Mr Developer
.mr.developer.cfg
Options -Indexes +SymLinksIfOwnerMatch
DirectoryIndex index.html
<IfModule headers_module>
Header set X-Frame-Options "SAMEORIGIN"
Header set X-Content-Type-Options nosniff
Header set X-XSS-Protection "1; mode=block"
Header set Cache-Control "public, must-revalidate, proxy-revalidate, no-transform"
Header set X-UA-Compatible "IE=edge,chrome=1"
Header set Connection "Keep-Alive"
# `mod_headers` can't match based on the content-type, however, we only
# want to send this header for HTML pages and not for the other resources
<FilesMatch "\.(appcache|crx|css|eot|gif|htc|ico|jpe?g|js|m4a|m4v|manifest|mp4|oex|oga|ogg|ogv|otf|pdf|png|safariextz|svg|svgz|ttf|vcf|webapp|webm|webp|woff2?|xml|xpi)$">
Header set Cache-Control "public, must-revalidate, proxy-revalidate, no-transform"
Header unset X-Frame-Options
Header unset X-XSS-Protection
Header unset X-UA-Compatible
</FilesMatch>
<Files manifest.appcache>
# Header set Cache-Control "public, no-store, must-revalidate, proxy-revalidate, no-transform"
# Header set Cache-Control "public, no-cache, no-store, must-revalidate, proxy-revalidate, no-transform"
Header unset Accept-Ranges
</Files>
<IfModule ssl_module>
Header set Strict-Transport-Security max-age=16070400;
</IfModule>
<IfModule setenvif_module>
<FilesMatch "\.(gif|ico|jpe?g|png|svgz?|webp)$">
SetEnvIf Origin ":" IS_CORS
Header set Access-Control-Allow-Origin "*" env=IS_CORS
</FilesMatch>
</IfModule>
</IfModule>
# ------------------------------------------------------------------------------
# | UTF-8 encoding |
# ------------------------------------------------------------------------------
# Use UTF-8 encoding for anything served as `text/html` or `text/plain`.
AddDefaultCharset utf-8
# ------------------------------------------------------------------------------
# | Proper MIME types for all files |
# ------------------------------------------------------------------------------
<IfModule mime_module>
AddCharset utf-8 .atom .css .js .json .rss .vtt .webapp .xml
# Audio
AddType audio/mp4 .m4a .f4a .f4b
AddType audio/ogg .oga .ogg
# JavaScript
# Normalize to standard type (it's sniffed in IE anyways):
# http://tools.ietf.org/html/rfc4329#section-7.2
AddType application/javascript .js .jsonp
AddType application/json .json
# Video
AddType video/mp4 .mp4 .m4v .f4v .f4p
AddType video/ogg .ogv
AddType video/webm .webm
AddType video/x-flv .flv
# Web fonts
AddType application/font-woff .woff
AddType application/font-woff2 .woff2
AddType application/vnd.ms-fontobject .eot
# Browsers usually ignore the font MIME types and sniff the content,
# however, Chrome shows a warning if other MIME types are used for the
# following fonts.
AddType application/x-font-ttf .ttc .ttf
AddType font/opentype .otf
# Make SVGZ fonts work on iPad:
# https://twitter.com/FontSquirrel/status/14855840545
AddType image/svg+xml .svg .svgz
AddEncoding gzip .svgz
# Other
AddType application/octet-stream .safariextz
AddType application/x-chrome-extension .crx
AddType application/x-opera-extension .oex
AddType application/x-shockwave-flash .swf
AddType application/x-web-app-manifest+json .webapp
AddType application/x-xpinstall .xpi
AddType application/xml .atom .rdf .rss .xml
AddType text/x-markdown .md
AddType image/webp .webp
AddType image/x-icon .ico
AddType text/cache-manifest .appcache .manifest
AddType text/vtt .vtt
AddType text/x-component .htc
AddType text/x-vcard .vcf
AddType application/pgp-keys .gpg .pgp
</IfModule>
# Block access to backup and source files.
# These files may be left by some text editors and can pose a great security
# danger when anyone has access to them.
<FilesMatch "(^#.*|~.*|\.(bak|ht.*|dav|conf(ig)?|dist|fla|inc|ini|log|psd|sql|sw[op]|asc|(ba)?sh|md|yml|lock|log|git.*|gpg|pgp))$">
Require all denied
</FilesMatch>
<FilesMatch "^(ajax|custom|unit)\.php$">
Require all denied
</FilesMatch>
<FilesMatch "\.html$">
Require all granted
</FilesMatch>
<IfModule deflate_module>
# Force compression for mangled headers.
# http://developer.yahoo.com/blogs/ydn/posts/2010/12/pushing-beyond-gzipping
<IfModule setenvif_module>
<IfModule headers_module>
SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
</IfModule>
</IfModule>
# Compress all output labeled with one of the following MIME-types
# (for Apache versions below 2.3.7, you don't need to enable `mod_filter`
# and can remove the `<IfModule filter_module>` and `</IfModule>` lines
# as `AddOutputFilterByType` is still in the core directives).
<IfModule filter_module>
AddOutputFilterByType DEFLATE application/atom+xml \
application/javascript \
application/json \
application/rss+xml \
application/vnd.ms-fontobject \
application/x-font-ttf \
application/x-web-app-manifest+json \
application/xhtml+xml \
application/xml \
font/opentype \
image/svg+xml \
image/x-icon \
text/css \
text/html \
text/plain \
text/x-component \
text/xml
</IfModule>
</IfModule>
# ------------------------------------------------------------------------------
# | Content transformations |
# ------------------------------------------------------------------------------
# Prevent some of the mobile network providers from modifying the content of
# your site: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.5.
# ------------------------------------------------------------------------------
# | ETag removal |
# ------------------------------------------------------------------------------
# Since we're sending far-future expires headers (see below), ETags can
# be removed: http://developer.yahoo.com/performance/rules.html#etags.
# `FileETag None` is not enough for every server.
# <IfModule headers_module>
# Header unset ETag
# </IfModule>
#
# FileETag None
# ------------------------------------------------------------------------------
# | Expires headers (for better cache control) |
# ------------------------------------------------------------------------------
# The following expires headers are set pretty far in the future. If you don't
# control versioning with filename-based cache busting, consider lowering the
# cache time for resources like CSS and JS to something like 1 week.
# The following expires headers are set pretty far in the future. If you don't
# control versioning with filename-based cache busting, consider lowering the
# cache time for resources like CSS and JS to something like 1 week.
<IfModule expires_module>
ExpiresActive on
ExpiresDefault "access plus 1 month"
# CSS
ExpiresByType text/css "access plus 1 year"
# Data interchange
ExpiresByType application/json "access plus 0 seconds"
ExpiresByType application/xml "access plus 0 seconds"
ExpiresByType text/xml "access plus 0 seconds"
# Favicon (cannot be renamed!)
ExpiresByType image/x-icon "access plus 1 week"
# HTML components (HTCs)
ExpiresByType text/x-component "access plus 1 month"
# HTML
ExpiresByType text/html "access plus 0 seconds"
# JavaScript
ExpiresByType application/javascript "access plus 1 year"
# Manifest files
ExpiresByType application/x-web-app-manifest+json "access plus 0 seconds"
ExpiresByType text/cache-manifest "access plus 0 seconds"
# Media
ExpiresByType audio/ogg "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType video/mp4 "access plus 1 month"
ExpiresByType video/ogg "access plus 1 month"
ExpiresByType video/webm "access plus 1 month"
# Web feeds
ExpiresByType application/atom+xml "access plus 1 hour"
ExpiresByType application/rss+xml "access plus 1 hour"
# Web fonts
ExpiresByType application/font-woff "access plus 1 month"
ExpiresByType application/vnd.ms-fontobject "access plus 1 month"
ExpiresByType application/x-font-ttf "access plus 1 month"
ExpiresByType font/opentype "access plus 1 month"
ExpiresByType image/svg+xml "access plus 1 month"
</IfModule>
# ------------------------------------------------------------------------------
# | Filename-based cache busting |
# ------------------------------------------------------------------------------
# If you're not using a build process to manage your filename version revving,
# you might want to consider enabling the following directives to route all
# requests such as `/css/style.12345.css` to `/css/style.css`.
# To understand why this is important and a better idea than `*.css?v231`, read:
# http://stevesouders.com/blog/2008/08/23/revving-filenames-dont-use-querystring
# ------------------------------------------------------------------------------
# | File concatenation |
# ------------------------------------------------------------------------------
# Allow concatenation from within specific CSS and JS files, e.g.:
# Inside of `script.combined.js` you could have
# <!--#include file="libs/jquery.js" -->
# <!--#include file="plugins/jquery.idletimer.js" -->
# and they would be included into this single file.
# <IfModule include_module>
# <FilesMatch "\.?(combined|polyfills)\.js$">
# Options +Includes
# AddOutputFilterByType INCLUDES application/javascript application/json
# SetOutputFilter INCLUDES
# </FilesMatch>
# </IfModule>
<IfModule rewrite_module>
# Redirect all non-existing to index.php
RewriteEngine on
<IfModule ssl_module>
# Force HTTPS
RewriteCond %{HTTPS} !=on
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
</IfModule>
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule . ./index.php [L]
</IfModule>
# ------------------------------------------------------------------------------
# | Error pages |
# ------------------------------------------------------------------------------
ErrorDocument 400 /index.php
ErrorDocument 401 /index.php
ErrorDocument 402 /index.php
ErrorDocument 403 /index.php
ErrorDocument 404 /index.php
ErrorDocument 500 /index.php
if (('applicationCache' in window) && document.documentElement.hasAttribute('manifest')) {
applicationCache.addEventListener('updateready', function(event) {
if (applicationCache.status === applicationCache.UPDATEREADY) {
applicationCache.update() && applicationCache.swapCache();
if (confirm('A new version of this site is available. Load it?')) {
location.reload();
}
}
});
}
.links {
font-size: 2em;
}
.icon {
height: 1em;
width: 1em;
}
.icon > use {
fill: currentColor;
}
.flex {
display: flex;
}
.flex.row {
flex-direction: row;
}
.flex.column {
flex-direction: column;
}
.flex.wrap {
flex-wrap: wrap;
}
Display the source blob
Display the rendered blob
Raw
<svg height="1024" width="896" xmlns="http://www.w3.org/2000/svg">
<path d="M608 192l-96 96 224 224L512 736l96 96 288-320L608 192zM288 192L0 512l288 320 96-96L160 512l224-224L288 192z" />
</svg>
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@supports(filter: none) {
[data-filter="blur"] {filter: blur(50%);}
[data-filter="brightness"] {filter: brightness(50%);}
[data-filter="contrast"] {filter: contrast(50%);}
[data-filter="drop-shadow"] {filter: drop-shadow(.5em .5em 1em #222);}
[data-filter="grayscale"] {filter: grayscale(50%);}
[data-filter="invert"] {filter: invert(50%);}
[data-filter="opacity"] {filter: opacity(50%);}
[data-filter="sepia"] {filter: sepia(50%);}
[data-filter="saturate"] {filter: saturate(50%);}
[data-hover-filter="blur"]:hover {filter: blur(50%);}
[data-hover-filter="brightness"]:hover {filter: brightness(50%);}
[data-hover-filter="contrast"]:hover {filter: contrast(50%);}
[data-hover-filter="drop-shadow"]:hover {filter: drop-shadow(.5em .5em 1em #222);}
[data-hover-filter="grayscale"]:hover {filter: grayscale(50%);}
[data-hover-filter="invert"]:hover {filter: invert(50%);}
[data-hover-filter="opacity"]:hover {filter: opacity(50%);}
[data-hover-filter="sepia"]:hover {filter: sepia(50%);}
[data-hover-filter="saturate"]:hover {filter: saturate(50%);}
[data-hover-filter] {transition: filter 800ms;}
}
/**
blur()
brightness()
contrast()
drop-shadow()
grayscale()
hue-rotate()
invert()
opacity()
saturate()
sepia()
*/
<datalist id="search_suggestions">
<option value="Red"></option>
<option value="Green"></option>
<option value="Blue"></option>
<option value="Yellow"></option>
<option value="Wait... I'm not a color!"></option>
</datalist>
.no-details details[open] > summary::before {
font-family: var(--icon-font);
content: var(--dropdown-open-icon);
}
.no-details details:not([open]) > summary::before {
font-family: var(--icon-font);
content: var(--dropdown-closed-icon);
}
.no-details details:not([open]) > :not(summary) {
display: none;
}
details > summary:only-child,
details > summary:only-child::before,
details > summary:only-child::after
{
display: none;
}
details > summary {
cursor: var(--pointer);
}
.no-js dialog {
display: none;
}
dialog {
border: 0.4rem outset var(--primary-color);
border-radius: 1rem;
box-shadow: 1rem 1rem 1rem black;
}
.no-dialog dialog {
z-index: 9;
}
dialog.modal {
position: fixed;
top: 10vh;
max-height: 85vh;
max-width: 100vw;
overflow: auto;
}
dialog.modal + .backdrop {
background-color: rgb(0, 0, 0);
background-color: rgba(0, 0, 0, 0.7);
position: fixed;
top: 0;
left: 0;
bottom: 0;
right: 0;
z-index: 8;
}
dialog[open]::backdrop {
background-color: rgba(0, 0, 0, 0.7);
position: fixed;
top: 0;
left: 0;
bottom: 0;
right: 0;
}
if (! ('forEach' in NodeList.prototype)) {
NodeList.prototype.forEach = Array.prototype.forEach;
}
if (! ('filter' in NodeList.prototype)) {
NodeList.prototype.filter = Array.prototype.filter;
}
if (! ('map' in NodeList.prototype)) {
NodeList.prototype.map = Array.prototype.map;
}
if (! ('import' in HTMLLinkElement.prototype)) {
var script = document.createElement('script');
script.async = true;
script.src = "htmlimport.js";
document.head.appendChild(script);
if ('contextMenu' in HTMLElement.prototype) {
}
(function(head) {
var script = document.createElement('script');
var link = document.createElement('link');
script.src = 'wysiwyg.js';
script.async = true;
script.type = 'application/javascript';
link.href = 'menu.html';
link.rel = 'import';
link.dataset.target = 'body';
head.appendChild(script);
head.appendChild(link);
})(document.head);
}
window.addEventListener('load', function() {
document.head.querySelectorAll('link[rel="import"][data-target]').map(function(link) {
link.importHTML(link.dataset.target);
});
document.querySelectorAll('[data-import]').map(importContent);
if ('contextMenu' in HTMLElement.prototype) {
document.querySelectorAll('[contenteditable]').map(function(el) {
el.setAttribute('contextmenu', 'wysiwyg_menu');
});
}
document.querySelectorAll('menu[type="context"]').map(WYSIWYG);
});
function nodeIsElement(node) {
return node.nodeType === 1;
}
/*function importLink(link) {
var target = document.querySelector(link.dataset.target);
link.import.body.childNodes.filter(nodeIsElement).map(function(node) {
target.appendChild(node);
});
link.importHTML(link.dataset.target);
return link;
}*/
function importContent(container) {
var link = document.head.querySelector('link[name="' + container.dataset.import + '"]');
link.import.body.childNodes.filter(nodeIsElement).map(function(node) {
container.appendChild(node);
});
return container;
}
HTMLLinkElement.prototype.importHTML = function(node) {
if (typeof node === 'string') {
node = document.querySelector(node);
}
this.import.body.childNodes.filter(nodeIsElement).map(function(importedNode) {
node.appendChild(importedNode);
})
}
<header role="heading">
<h1>
<a href="./" rel="bookmark">
<svg class="icon"><use xlink:href="combined.svg#home"/></svg>
<span>HTML Import Test</span>
</a>
</h1>
<nav role="navigation" data-import="Navigation" class="flex"></nav>
<div data-import="Search"></div>
<div data-import="Search Suggestions" hidden></div>
</header>
if (! ('import' in HTMLLinkElement.prototype)) {
Object.defineProperty(HTMLLinkElement.prototype, 'import', {
get: function() {
var xhr = new XMLHttpRequest();
xhr.open('GET', this.href, false);
xhr.send();
return new DOMParser().parseFromString(xhr.response, "text/html");
}
});
}
@charset 'UTF-8';
@import url(normalize.css);
@import url(https://fonts.googleapis.com/css?family=Acme|Alice|Ubuntu|Roboto|Press+Start+2P|Open+Sans);
@import url(details.css);
@import url(dialog.css);
@import url(style.css);
@import url(sidebar.css);
@import url(classes.css);
@import url(data-filter.css);
@import url(responsive.css);
<!DOCTYPE html>
<html lang="en" dir="ltr" manifest="manifest.appcache?nocache=true" itemscope itemtype="http://schema.org/WebPage">
<head>
<meta charset="utf-8">
<meta name="referrer" content="origin"/>
<meta name="author" content="Chris Zuber"/>
<meta name="viewport" content="width=device-width, height=device-height"/>
<title>HTML Import Demo</title>
<link rel="stylesheet" type="text/css" href="import.css" media="all">
<link rel="prefetch" type="image/svg+xml" href="combined.svg">
<link rel="import" type="text/html" href="nav.html" name="Navigation">
<link rel="import" type="text/html" href="license.html" name="Creative Commons">
<link rel="import" type="text/html" href="search.html" name="Search">
<link rel="import" type="text/html" href="datalist.html" name="Search Suggestions">
<link rel="import" type="text/html" href="header.html" data-target="body">
<link rel="import" type="text/html" href="sidebar.html" data-target="body">
<link rel="import" type="text/html" href="main.html" data-target="body">
<link rel="import" type="text/html" href="footer.html" data-target="body">
<link rel="icon" type="image/xvg+xml" href="code.svg" sizes="any">
<link rel="icon" type="image/png" href="icon-16.png" sizes="16x16">
<link rel="icon" type="image/png" href="icon-48.png" sizes="48x48">
<link rel="icon" type="image/png" href="icon-60.png" sizes="60x60">
<link rel="icon" type="image/png" href="icon-128.png" sizes="128x128">
<link rel="icon" type="image/png" href="icon-256.png" sizes="256x256">
<link rel="icon" type="image/png" href="icon-512.png" sizes="512x512">
<script type="application/javascript" src="functions.js"></script>
<script type="application/javascript" src="appcache.js" async=""></script>
</head>
<body class="flex wrap"></body>
</html>
<div>
<a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/"><svg width="88" height="31"><use xlink:href="combined.svg#CreativeCommons"/></svg></a><br /><span xmlns:dct="http://purl.org/dc/terms/" property="dct:title">HTML Import Demo</span> by <a xmlns:cc="http://creativecommons.org/ns#" itemprop="author" href="https://gist.github.com/shgysk8zer0/ba1b82709aec256a7af1" property="cc:attributionName" rel="cc:attributionURL">shgysk8zer0</a> is licensed under a <a rel="license" itemprop="license" href="http://creativecommons.org/licenses/by-sa/4.0/">Creative Commons Attribution-ShareAlike 4.0 International License</a>.
</div>
<main role="main" itemcope="" itemtype="http://schema.org/WebPageElement" itemprop="mainContentofPage">
<article role="article">
<header>
<h2 itemprop="headline">Lorem Ipsum</h2>
</header>
<section id="section-1" contenteditable="true" itemprop="text">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent accumsan ullamcorper nunc in efficitur. Maecenas ornare turpis sed turpis tempor suscipit. Nam imperdiet mauris eu dapibus venenatis. Cras elementum dolor quis metus posuere, a pharetra urna vehicula. Nulla elit enim, mattis et varius at, vestibulum dictum nisl. In mauris mi, ultricies at mauris at, sodales consequat ex. Maecenas vel ex nibh. Nullam eu mi risus.</p>
<svg data-filter="drop-shadow"><use xlink:href="combined.svg#git"/></svg>
<br>
<p>Pellentesque blandit et velit non sagittis. Quisque finibus pulvinar nisi, vel vulputate orci molestie quis. Mauris vel metus tempus, malesuada metus ac, laoreet sem. Sed non urna ut lacus varius ultrices. Pellentesque vel dignissim massa, vitae placerat magna. Donec ac dolor pharetra, blandit sem eget, gravida lorem. Quisque tincidunt nisi non ultricies varius.</p>
</section>
<footer>&copy; 2015</footer>
</article>
</main>
CACHE MANIFEST
# VERSION 2015-06-03 01:26
CACHE:
# SCRIPTS
appcache.js
functions.js
wysiwyg.js
htmlimport.js
# STYLESHEETS
classes.css
data-filter.css
details.css
dialog.css
import.css
misc.css
normalize.css
responsive.css
sidebar.css
style.css
https://fonts.googleapis.com/css?family=Acme|Alice|Ubuntu|Roboto|Press+Start+2P|Open+Sans
# IMAGES
combined.svg
# ICONS
icon-16.png
icon-48.png
icon-60.png
icon-128.png
icon-256.png
icon-512.png
code.svg
# CURSORS
# HTML IMPORTS
datalist.html
footer.html
header.html
license.html
main.html
menu.html
nav.html
search.html
sidebar.html
# FONTS
https://fonts.gstatic.com/s/acme/v5/CMfjQTCaAjBuWy3e4bQMZA.woff2
https://fonts.gstatic.com/s/acme/v5/-nVwQJDyFoBcrvpER8f-lA.woff
https://fonts.gstatic.com/s/alice/v7/l5RFQT5MQiajQkFxjDLySg.woff2
https://fonts.gstatic.com/s/alice/v7/_H4kMcdhHr0B8RDaQcqpTA.woff
https://fonts.gstatic.com/s/opensans/v13/cJZKeOuBrn4kERxqtaUH3VtXRa8TVwTICgirnJhmVJw.woff2
https://fonts.gstatic.com/s/opensans/v13/cJZKeOuBrn4kERxqtaUH3T8E0i7KZn-EPnyo3HZu7kw.woff
https://fonts.gstatic.com/s/pressstart2p/v4/8Lg6LX8-ntOHUQnvQ0E7o08SWvhA5BcWCS8xVZDIH7E.woff2
https://fonts.gstatic.com/s/pressstart2p/v4/8Lg6LX8-ntOHUQnvQ0E7o3dD2UuwsmbX3BOp4SL_VwM.woff
https://fonts.gstatic.com/s/roboto/v15/CWB0XYA8bzo0kSThX0UTuA.woff2
https://fonts.gstatic.com/s/roboto/v15/2UX7WLTfW3W8TclTUvlFyQ.woff
https://fonts.gstatic.com/s/ubuntu/v7/sDGTilo5QRsfWu6Yc11AXg.woff2
https://fonts.gstatic.com/s/ubuntu/v7/_xyN3apAT_yRRDeqB3sPRg.woff
NETWORK:
FALLBACK:
SETTINGS:
fast
{
"version": "0.0.1",
"name": "HTML Import Demo",
"description": "A demo showing some advanced HTML features, such as HTML Imports.",
"launch_path": "/",
"icons": {
"16": "icon-16.png",
"48": "icon-48.png",
"60": "icon-60.png",
"128": "icon-128.png",
"256": "icon-256.png",
"512": "icon-512.png"
},
"developer": {
"name": "Chris Zuber",
"url": "https://chriszuber.com"
},
"type": "web",
"permissions": {
"desktop-notification": {
"description": "Allow notifications of certain events. I.E. Login/out"
}
},
"installs_allowed_from": ["*"],
"csp": "default-src 'self';script-src 'self' ;style-src 'self' //fonts.googleapis.com;font-src 'self' //fonts.gstatic.com;img-src 'self' data:;media-src 'self' mediastream:;connect-src 'self';frame-src 'self';frame-ancestors 'self';object-src 'self'"
}
<menu type="context" id="wysiwyg_menu">
<!--https://developer.mozilla.org/en-US/docs/Midas--><menu label="Attributes">
<menuitem label="Add Class"></menuitem><menuitem label="Remove Class"></menuitem><menuitem label="Set Attribute"></menuitem><menuitem label="Remove Attribute"></menuitem>
</menu>
<menu label="Create">
<menu label="Headings">
<menuitem label="H1" data-editor-command="heading" data-editor-value="H1"></menuitem><menuitem label="H2" data-editor-command="heading" data-editor-value="H2"></menuitem><menuitem label="H3" data-editor-command="heading" data-editor-value="H3"></menuitem><menuitem label="H4" data-editor-command="heading" data-editor-value="H4"></menuitem><menuitem label="H5" data-editor-command="heading" data-editor-value="H5"></menuitem><menuitem label="H6" data-editor-command="heading" data-editor-value="H6"></menuitem>
</menu>
<menu label="List">
<menuitem label="Unordered" icon="data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjEwMjQiIHdpZHRoPSI3NjgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZD0iTTAgNTc2aDEyOHYtMTI4aC0xMjh2MTI4eiBtMC0yNTZoMTI4di0xMjhoLTEyOHYxMjh6IG0wIDUxMmgxMjh2LTEyOGgtMTI4djEyOHogbTI1Ni0yNTZoNTEydi0xMjhoLTUxMnYxMjh6IG0wLTI1Nmg1MTJ2LTEyOGgtNTEydjEyOHogbTAgNTEyaDUxMnYtMTI4aC01MTJ2MTI4eiIgLz4KPC9zdmc+Cg==" data-editor-command="insertunorderedlist"></menuitem><menuitem label="Ordered" icon="data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjEwMjQiIHdpZHRoPSI3NjgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZD0iTTMyMCA1NzZoNDQ4di0xMjhoLTQ0OHYxMjh6IG0wIDI1Nmg0NDh2LTEyOGgtNDQ4djEyOHogbTAtNjQwdjEyOGg0NDh2LTEyOGgtNDQ4eiBtLTI0MSAyNTZoNzh2LTI1NmgtMzZsLTg1IDIzdjUwbDQzLTJ2MTg1eiBtMTEwIDIwNmMwLTM2LTEyLTc4LTk2LTc4LTMzIDAtNjQgNi04MyAxNmwxIDY2YzIxLTEwIDQyLTE1IDY3LTE1czMyIDExIDMyIDI4YzAgMjYtMzAgNTgtMTEwIDExMnY1MGgxOTJ2LTY3bC05MSAyYzQ5LTMwIDg3LTY2IDg3LTExM2wxLTF6IiAvPgo8L3N2Zz4K" data-editor-command="insertorderedlist"></menuitem>
</menu>
<menuitem label="Link" icon="data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjEwMjQiIHdpZHRoPSIxMDI0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogIDxwYXRoIGQ9Ik03NjggMjU2aC0xMzhjNDggMzIgOTMgODkgMTA3IDEyOGgzMGM2NSAwIDEyOCA2NCAxMjggMTI4cy02NSAxMjgtMTI4IDEyOGgtMTkyYy02MyAwLTEyOC02NC0xMjgtMTI4IDAtMjMgNy00NSAxOC02NGgtMTM3Yy01IDIxLTggNDItOCA2NCAwIDEyOCAxMjcgMjU2IDI1NSAyNTZzNjUgMCAxOTMgMCAyNTYtMTI4IDI1Ni0yNTYtMTI4LTI1Ni0yNTYtMjU2eiBtLTQ4MSAzODRoLTMwYy02NSAwLTEyOC02NC0xMjgtMTI4czY1LTEyOCAxMjgtMTI4aDE5MmM2MyAwIDEyOCA2NCAxMjggMTI4IDAgMjMtNyA0NS0xOCA2NGgxMzdjNS0yMSA4LTQyIDgtNjQgMC0xMjgtMTI3LTI1Ni0yNTUtMjU2cy02NSAwLTE5MyAwLTI1NiAxMjgtMjU2IDI1NiAxMjggMjU2IDI1NiAyNTZoMTM4Yy00OC0zMi05My04OS0xMDctMTI4eiIgLz4KPC9zdmc+Cg==" data-editor-command="createlink" data-prompt="Enter link location"></menuitem><menuitem label="Image" icon="data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjEwMjQiIHdpZHRoPSI3NjgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZD0iTTU3NiA2NEgwdjg5Nmg3NjhWMjU2eiBtMTI4IDgzMkg2NFYxMjhoNDgwbDE2MCAxNjB6TTEyOCAyNTZ2NTEyaDEyOGMwLTcxIDU3LTEyOCAxMjgtMTI4LTcxIDAtMTI4LTU3LTEyOC0xMjhzNTctMTI4IDEyOC0xMjggMTI4IDU3IDEyOCAxMjgtNTcgMTI4LTEyOCAxMjhjNzEgMCAxMjggNTcgMTI4IDEyOGgxMjhWMzg0TDUxMiAyNTZ6IiAvPgo8L3N2Zz4K" data-editor-command="insertimage" data-prompt="Enter image location"></menuitem><menuitem label="Figure" data-editor-command="inserthtml" data-selection-to="figure"></menuitem><menuitem label="Figure Caption" data-editor-command="inserthtml" data-selection-to="figcaption"></menuitem><menuitem label="Code" icon="data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjEwMjQiIHdpZHRoPSI4OTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZD0iTTYwOCAxOTJsLTk2IDk2IDIyNCAyMjRMNTEyIDczNmw5NiA5NiAyODgtMzIwTDYwOCAxOTJ6TTI4OCAxOTJMMCA1MTJsMjg4IDMyMCA5Ni05NkwxNjAgNTEybDIyNC0yMjRMMjg4IDE5MnoiIC8+Cjwvc3ZnPgo=" data-editor-command="inserthtml" data-selection-to="code"></menuitem><menuitem label="Pre-formatted Text" data-editor-command="inserthtml" data-selection-to="pre"></menuitem><menuitem label="Custom HTML" icon="data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjEwMjQiIHdpZHRoPSI3NjgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZD0iTTI4OCAzODRMMTI4IDU0NGwxNjAgMTYwIDY0LTY0LTk2LTk2IDk2LTk2eiBtMTI4IDY0bDk2IDk2LTk2IDk2IDY0IDY0IDE2MC0xNjAtMTYwLTE2MHpNNTc2IDY0SDB2ODk2aDc2OFYyNTZ6IG0xMjggODMySDY0VjEyOGg0ODBsMTYwIDE2MHoiIC8+Cjwvc3ZnPgo=" data-editor-command="inserthtml" data-prompt="Enter the HTML to insert."></menuitem>
</menu>
<menu label="Text Style">
<menu label="Font">
<menu label="Size">
<menuitem label="+" data-editor-command="increasefontsize"></menuitem><menuitem label="-" data-editor-command="decreasefontsize"></menuitem>
</menu>
<menu label="Font Family">
<menuitem label="Acme" data-editor-command="fontname" data-editor-value="Acme"></menuitem><menuitem label="Alice" data-editor-command="fontname" data-editor-value="Alice"></menuitem><menuitem label="Press Start 2P" data-editor-command="fontname" data-editor-value="Press Start 2P"></menuitem><menuitem label="Roboto" data-editor-command="fontname" data-editor-value="Roboto"></menuitem><menuitem label="Ubuntu" data-editor-command="fontname" data-editor-value="Ubutnu"></menuitem>
</menu>
<menu label="Font Color">
<menuitem label="Red" icon="data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3Crect%20width%3D%221%22%20height%3D%221%22%20fill%3D%22red%22%2F%3E%3C%2Fsvg%3E" data-editor-command="forecolor" data-editor-value="red"></menuitem><menuitem label="Green" icon="data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3Crect%20width%3D%221%22%20height%3D%221%22%20fill%3D%22green%22%2F%3E%3C%2Fsvg%3E" data-editor-command="forecolor" data-editor-value="green"></menuitem><menuitem label="Blue" icon="data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3Crect%20width%3D%221%22%20height%3D%221%22%20fill%3D%22blue%22%2F%3E%3C%2Fsvg%3E" data-editor-command="forecolor" data-editor-value="blue"></menuitem><menuitem label="Cyan" icon="data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3Crect%20width%3D%221%22%20height%3D%221%22%20fill%3D%22cyan%22%2F%3E%3C%2Fsvg%3E" data-editor-command="forecolor" data-editor-value="cyan"></menuitem><menuitem label="Magenta" icon="data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3Crect%20width%3D%221%22%20height%3D%221%22%20fill%3D%22magenta%22%2F%3E%3C%2Fsvg%3E" data-editor-command="forecolor" data-editor-value="magenta"></menuitem><menuitem label="Yellow" icon="data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3Crect%20width%3D%221%22%20height%3D%221%22%20fill%3D%22yellow%22%2F%3E%3C%2Fsvg%3E" data-editor-command="forecolor" data-editor-value="yellow"></menuitem><menuitem label="Orange" icon="data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3Crect%20width%3D%221%22%20height%3D%221%22%20fill%3D%22orange%22%2F%3E%3C%2Fsvg%3E" data-editor-command="forecolor" data-editor-value="orange"></menuitem><menuitem label="Purple" icon="data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3Crect%20width%3D%221%22%20height%3D%221%22%20fill%3D%22purple%22%2F%3E%3C%2Fsvg%3E" data-editor-command="forecolor" data-editor-value="purple"></menuitem><menuitem label="Pink" icon="data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3Crect%20width%3D%221%22%20height%3D%221%22%20fill%3D%22pink%22%2F%3E%3C%2Fsvg%3E" data-editor-command="forecolor" data-editor-value="pink"></menuitem><menuitem label="Black" icon="data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3Crect%20width%3D%221%22%20height%3D%221%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E" data-editor-command="forecolor" data-editor-value="black"></menuitem><menuitem label="White" icon="data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3Crect%20width%3D%221%22%20height%3D%221%22%20fill%3D%22white%22%2F%3E%3C%2Fsvg%3E" data-editor-command="forecolor" data-editor-value="white"></menuitem><menuitem label="White Smoke" icon="data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3Crect%20width%3D%221%22%20height%3D%221%22%20fill%3D%22whitesmoke%22%2F%3E%3C%2Fsvg%3E" data-editor-command="forecolor" data-editor-value="whitesmoke"></menuitem><menuitem label="Azure" icon="data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3Crect%20width%3D%221%22%20height%3D%221%22%20fill%3D%22azure%22%2F%3E%3C%2Fsvg%3E" data-editor-command="forecolor" data-editor-value="azure"></menuitem><menuitem label="Gray" icon="data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3Crect%20width%3D%221%22%20height%3D%221%22%20fill%3D%22gray%22%2F%3E%3C%2Fsvg%3E" data-editor-command="forecolor" data-editor-value="gray"></menuitem><menuitem label="Dim Gray" icon="data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3Crect%20width%3D%221%22%20height%3D%221%22%20fill%3D%22dimgray%22%2F%3E%3C%2Fsvg%3E" data-editor-command="forecolor" data-editor-value="dimgray"></menuitem><menuitem label="Dark Gray" icon="data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3Crect%20width%3D%221%22%20height%3D%221%22%20fill%3D%22darkgray%22%2F%3E%3C%2Fsvg%3E" data-editor-command="forecolor" data-editor-value="darkgray"></menuitem><menuitem label="Light Gray" icon="data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3Crect%20width%3D%221%22%20height%3D%221%22%20fill%3D%22lightgray%22%2F%3E%3C%2Fsvg%3E" data-editor-command="forecolor" data-editor-value="lightgray"></menuitem><menuitem label="DarkSlateGray" icon="data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3Crect%20width%3D%221%22%20height%3D%221%22%20fill%3D%22darkslategray%22%2F%3E%3C%2Fsvg%3E" data-editor-command="forecolor" data-editor-value="darkslategray"></menuitem><menuitem label="Slate Gray" icon="data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3Crect%20width%3D%221%22%20height%3D%221%22%20fill%3D%22slategray%22%2F%3E%3C%2Fsvg%3E" data-editor-command="forecolor" data-editor-value="slategray"></menuitem><menuitem label="Ivory" icon="data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3Crect%20width%3D%221%22%20height%3D%221%22%20fill%3D%22ivory%22%2F%3E%3C%2Fsvg%3E" data-editor-command="forecolor" data-editor-value="ivory"></menuitem><menuitem label="Snow" icon="data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3Crect%20width%3D%221%22%20height%3D%221%22%20fill%3D%22snow%22%2F%3E%3C%2Fsvg%3E" data-editor-command="forecolor" data-editor-value="snow"></menuitem><menuitem label="Lavender" icon="data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3Crect%20width%3D%221%22%20height%3D%221%22%20fill%3D%22lavender%22%2F%3E%3C%2Fsvg%3E" data-editor-command="forecolor" data-editor-value="lavender"></menuitem><menuitem label="Aqua" icon="data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3Crect%20width%3D%221%22%20height%3D%221%22%20fill%3D%22aqua%22%2F%3E%3C%2Fsvg%3E" data-editor-command="forecolor" data-editor-value="aqua"></menuitem><menuitem label="Navy" icon="data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3Crect%20width%3D%221%22%20height%3D%221%22%20fill%3D%22navy%22%2F%3E%3C%2Fsvg%3E" data-editor-command="forecolor" data-editor-value="navy"></menuitem><menuitem label="Lime" icon="data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3Crect%20width%3D%221%22%20height%3D%221%22%20fill%3D%22lime%22%2F%3E%3C%2Fsvg%3E" data-editor-command="forecolor" data-editor-value="lime"></menuitem><menuitem label="Lime Green" icon="data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3Crect%20width%3D%221%22%20height%3D%221%22%20fill%3D%22limegreen%22%2F%3E%3C%2Fsvg%3E" data-editor-command="forecolor" data-editor-value="limegreen"></menuitem><menuitem label="Coral" icon="data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3Crect%20width%3D%221%22%20height%3D%221%22%20fill%3D%22coral%22%2F%3E%3C%2Fsvg%3E" data-editor-command="forecolor" data-editor-value="coral"></menuitem><menuitem label="Crimson" icon="data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3Crect%20width%3D%221%22%20height%3D%221%22%20fill%3D%22crimson%22%2F%3E%3C%2Fsvg%3E" data-editor-command="forecolor" data-editor-value="crimson"></menuitem><menuitem label="Maroon" icon="data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3Crect%20width%3D%221%22%20height%3D%221%22%20fill%3D%22maroon%22%2F%3E%3C%2Fsvg%3E" data-editor-command="forecolor" data-editor-value="maroon"></menuitem><menuitem label="Tomato" icon="data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3Crect%20width%3D%221%22%20height%3D%221%22%20fill%3D%22tomato%22%2F%3E%3C%2Fsvg%3E" data-editor-command="forecolor" data-editor-value="tomato"></menuitem><menuitem label="Fuchsia" icon="data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3Crect%20width%3D%221%22%20height%3D%221%22%20fill%3D%22fuchsia%22%2F%3E%3C%2Fsvg%3E" data-editor-command="forecolor" data-editor-value="fuchsia"></menuitem><menuitem label="Salmon" icon="data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3Crect%20width%3D%221%22%20height%3D%221%22%20fill%3D%22salmon%22%2F%3E%3C%2Fsvg%3E" data-editor-command="forecolor" data-editor-value="salmon"></menuitem><menuitem label="Gold" icon="data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3Crect%20width%3D%221%22%20height%3D%221%22%20fill%3D%22gold%22%2F%3E%3C%2Fsvg%3E" data-editor-command="forecolor" data-editor-value="gold"></menuitem><menuitem label="Green-Yellow" icon="data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201%201%22%3E%3Crect%20width%3D%221%22%20height%3D%221%22%20fill%3D%22greenyellow%22%2F%3E%3C%2Fsvg%3E" data-editor-command="forecolor" data-editor-value="greenyellow"></menuitem>
</menu>
</menu>
<menuitem label="Paragraph" icon="data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjEwMjQiIHdpZHRoPSI3NjgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZD0iTTQ0OCAyNTZIMTI4djY0aDMyMHpNNTc2IDY0SDB2ODk2aDc2OFYyNTZ6IG0xMjggODMySDY0VjEyOGg0ODBsMTYwIDE2MHpNMTI4IDc2OGg1MTJ2LTY0SDEyOHogbTAtMTI4aDUxMnYtNjRIMTI4eiBtMC0xMjhoNTEydi02NEgxMjh6IiAvPgo8L3N2Zz4K" data-editor-command="insertparagraph"></menuitem><menuitem label="Blockquote" icon="data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjEwMjQiIHdpZHRoPSI2NDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZD0iTTAgNTEydjI1NmgyNTZWNTEySDEyOGMwIDAgMC0xMjggMTI4LTEyOFYyNTZDMjU2IDI1NiAwIDI1NiAwIDUxMnpNNjQwIDM4NFYyNTZjMCAwLTI1NiAwLTI1NiAyNTZ2MjU2aDI1NlY1MTJINTEyQzUxMiA1MTIgNTEyIDM4NCA2NDAgMzg0eiIgLz4KPC9zdmc+Cg==" data-editor-command="formatblock" data-editor-value="BLOCKQUOTE"></menuitem><menuitem label="Bold" data-editor-command="bold"></menuitem><menuitem label="Italics" data-editor-command="italic"></menuitem><menuitem label="Underline" data-editor-command="underline"></menuitem><menuitem label="Strike Through" data-editor-command="strikethrough"></menuitem><menuitem label="Big" data-editor-command="big"></menuitem><menuitem label="Small" data-editor-command="small"></menuitem><menuitem label="Superscript" data-editor-command="superscript"></menuitem><menuitem label="Subscript" data-editor-command="subscript"></menuitem><menu label="Other">
<menuitem label="Span/generic" data-editor-command="inserthtml" data-selection-to="span"></menuitem><menuitem label="Strong" data-editor-command="inserthtml" data-selection-to="strong"></menuitem><menuitem label="Emphasis" data-editor-command="inserthtml" data-selection-to="em"></menuitem><menuitem label="Deleted Text" data-editor-command="inserthtml" data-selection-to="del"></menuitem><menuitem label="Inserted Text" data-editor-command="inserthtml" data-selection-to="ins"></menuitem><menuitem label="Sample Text" data-editor-command="inserthtml" data-selection-to="samp"></menuitem><menuitem label="Keyboard" data-editor-command="inserthtml" data-selection-to="kbd"></menuitem><menuitem label="Variable" data-editor-command="inserthtml" data-selection-to="var"></menuitem><menuitem label="Quote" data-editor-command="inserthtml" data-selection-to="q"></menuitem><menuitem label="Citation" data-editor-command="inserthtml" data-selection-to="cite"></menuitem><menuitem label="Highlighted Text" data-editor-command="inserthtml" data-selection-to="mark"></menuitem>
</menu>
</menu>
<menu label="Indentation">
<menuitem label="Increase" icon="data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjEwMjQiIHdpZHRoPSIxMDI0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogIDxwYXRoIGQ9Ik04MzIgMTkydjY0MGgxOTJWMTkySDgzMnpNMzIwIDM4NEgwdjI1NmgzMjB2MTkybDM4NC0zMjBMMzIwIDE5MlYzODR6IiAvPgo8L3N2Zz4K" data-editor-command="indent"></menuitem><menuitem label="Decrease" icon="data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjEwMjQiIHdpZHRoPSIxMDI0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogIDxwYXRoIGQ9Ik0wIDgzMmgxOTJWMTkySDBWODMyek03MDQgMzg0VjE5MkwzMjAgNTEybDM4NCAzMjBWNjQwaDMyMFYzODRINzA0eiIgLz4KPC9zdmc+Cg==" data-editor-command="outdent"></menuitem>
</menu>
<menu label="Justify">
<menuitem label="Center" data-editor-command="justifycenter"></menuitem><menuitem label="Left" icon="data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjEwMjQiIHdpZHRoPSI2NDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZD0iTTI1Ni4yNSA1MTJMNjQwIDg5NS43NXYtNzY3LjVMMjU2LjI1IDUxMnpNMCA4OTZoMTI4VjEyOEgwVjg5NnoiIC8+Cjwvc3ZnPgo=" data-editor-command="justifyleft"></menuitem><menuitem label="Right" icon="data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjEwMjQiIHdpZHRoPSI2NDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZD0iTTAgODk1Ljc1TDM4My43NSA1MTIgMCAxMjguMTg4Vjg5NS43NXpNNTEyIDEyOHY3NjhoMTI4VjEyOEg1MTJ6IiAvPgo8L3N2Zz4K" data-editor-command="justifyright"></menuitem><menuitem label="Full" data-editor-command="justifyfull"></menuitem>
</menu>
<menu label="Special Characters">
<menu label="Punctuation">
<menuitem label="&acirc;&#128;&#156;" data-editor-command="inserthtml" data-editor-value="&acirc;&#128;&#156;"></menuitem><menuitem label="&acirc;&#128;&#157;" data-editor-command="inserthtml" data-editor-value="&acirc;&#128;&#157;"></menuitem><menuitem label="&acirc;&#128;&#152;" data-editor-command="inserthtml" data-editor-value="&acirc;&#128;&#152;"></menuitem><menuitem label="&acirc;&#128;&#153;" data-editor-command="inserthtml" data-editor-value="&acirc;&#128;&#153;"></menuitem><menuitem label="&Acirc;&laquo;" data-editor-command="inserthtml" data-editor-value="&Acirc;&laquo;"></menuitem><menuitem label="&Acirc;&raquo;" data-editor-command="inserthtml" data-editor-value="&Acirc;&raquo;"></menuitem><menuitem label="&acirc;&#128;&#154;" data-editor-command="inserthtml" data-editor-value="&acirc;&#128;&#154;"></menuitem><menuitem label="&Acirc;&iquest;" data-editor-command="inserthtml" data-editor-value="&Acirc;&iquest;"></menuitem><menuitem label="&acirc;&#128;&#147;" data-editor-command="inserthtml" data-editor-value="&acirc;&#128;&#147;"></menuitem><menuitem label="&acirc;&#128;&#148;" data-editor-command="inserthtml" data-editor-value="&acirc;&#128;&#148;"></menuitem><menuitem label="&acirc;&#128;&brvbar;" data-editor-command="inserthtml" data-editor-value="&acirc;&#128;&brvbar;"></menuitem><menuitem label="&acirc;&#128;&nbsp;" data-editor-command="inserthtml" data-editor-value="&acirc;&#128;&nbsp;"></menuitem><menuitem label="&acirc;&#128;&iexcl;" data-editor-command="inserthtml" data-editor-value="&acirc;&#128;&iexcl;"></menuitem>
</menu>
<menu label="Legal">
<menuitem label="&Acirc;&copy;" data-editor-command="inserthtml" data-editor-value="&Acirc;&copy;"></menuitem><menuitem label="&acirc;&#132;&cent;" data-editor-command="inserthtml" data-editor-value="&acirc;&#132;&cent;"></menuitem><menuitem label="&Acirc;&reg;" data-editor-command="inserthtml" data-editor-value="&Acirc;&reg;"></menuitem>
</menu>
<menu label="Currency">
<menuitem label="&Acirc;&curren;" data-editor-command="inserthtml" data-editor-value="&Acirc;&curren;"></menuitem><menuitem label="&Acirc;&cent;" data-editor-command="inserthtml" data-editor-value="&Acirc;&cent;"></menuitem><menuitem label="&Acirc;&pound;" data-editor-command="inserthtml" data-editor-value="&Acirc;&pound;"></menuitem><menuitem label="&Acirc;&yen;" data-editor-command="inserthtml" data-editor-value="&Acirc;&yen;"></menuitem><menuitem label="&acirc;&#130;&not;" data-editor-command="inserthtml" data-editor-value="&acirc;&#130;&not;"></menuitem>
</menu>
<menu label="Fractions">
<menuitem label="&Acirc;&frac12;" data-editor-command="inserthtml" data-editor-value="&Acirc;&frac12;"></menuitem><menuitem label="&acirc;&#133;&#147;" data-editor-command="inserthtml" data-editor-value="&acirc;&#133;&#147;"></menuitem><menuitem label="&Acirc;&frac14;" data-editor-command="inserthtml" data-editor-value="&Acirc;&frac14;"></menuitem><menuitem label="&acirc;&#133;&#155;" data-editor-command="inserthtml" data-editor-value="&acirc;&#133;&#155;"></menuitem><menuitem label="&acirc;&#133;&#156;" data-editor-command="inserthtml" data-editor-value="&acirc;&#133;&#156;"></menuitem><menuitem label="&acirc;&#133;&#157;" data-editor-command="inserthtml" data-editor-value="&acirc;&#133;&#157;"></menuitem><menuitem label="&Acirc;&frac34;" data-editor-command="inserthtml" data-editor-value="&Acirc;&frac34;"></menuitem><menuitem label="&acirc;&#133;&#158;" data-editor-command="inserthtml" data-editor-value="&acirc;&#133;&#158;"></menuitem>
</menu>
<menu label="Operators">
<menuitem label="&Acirc;&plusmn;" data-editor-command="inserthtml" data-editor-value="&Acirc;&plusmn;"></menuitem><menuitem label="&Atilde;&#151;" data-editor-command="inserthtml" data-editor-value="&Atilde;&#151;"></menuitem><menuitem label="&acirc;&#136;&#153;" data-editor-command="inserthtml" data-editor-value="&acirc;&#136;&#153;"></menuitem><menuitem label="&Atilde;&middot;" data-editor-command="inserthtml" data-editor-value="&Atilde;&middot;"></menuitem><menuitem label="&acirc;&#136;&#154;" data-editor-command="inserthtml" data-editor-value="&acirc;&#136;&#154;"></menuitem><menuitem label="&acirc;&#137;&nbsp;" data-editor-command="inserthtml" data-editor-value="&acirc;&#137;&nbsp;"></menuitem><menuitem label="&acirc;&#137;&#136;" data-editor-command="inserthtml" data-editor-value="&acirc;&#137;&#136;"></menuitem><menuitem label="&acirc;&#137;&curren;" data-editor-command="inserthtml" data-editor-value="&acirc;&#137;&curren;"></menuitem><menuitem label="&acirc;&#137;&yen;" data-editor-command="inserthtml" data-editor-value="&acirc;&#137;&yen;"></menuitem><menuitem label="&acirc;&#136;&laquo;" data-editor-command="inserthtml" data-editor-value="&acirc;&#136;&laquo;"></menuitem><menuitem label="&acirc;&#136;&#145;" data-editor-command="inserthtml" data-editor-value="&acirc;&#136;&#145;"></menuitem><menuitem label="&acirc;&#136;&#130;" data-editor-command="inserthtml" data-editor-value="&acirc;&#136;&#130;"></menuitem><menuitem label="&acirc;&#136;&#134;" data-editor-command="inserthtml" data-editor-value="&acirc;&#136;&#134;"></menuitem><menuitem label="&AElig;&#146;" data-editor-command="inserthtml" data-editor-value="&AElig;&#146;"></menuitem><menuitem label="&Acirc;&deg;" data-editor-command="inserthtml" data-editor-value="&Acirc;&deg;"></menuitem>
</menu>
<menu label="Other">
<menuitem label="&acirc;&#153;&nbsp;" data-editor-command="inserthtml" data-editor-value="&acirc;&#153;&nbsp;"></menuitem><menuitem label="&acirc;&#153;&pound;" data-editor-command="inserthtml" data-editor-value="&acirc;&#153;&pound;"></menuitem><menuitem label="&acirc;&#153;&brvbar;" data-editor-command="inserthtml" data-editor-value="&acirc;&#153;&brvbar;"></menuitem><menuitem label="&acirc;&#153;&yen;" data-editor-command="inserthtml" data-editor-value="&acirc;&#153;&yen;"></menuitem><menuitem label="&acirc;&#153;&#128;" data-editor-command="inserthtml" data-editor-value="&acirc;&#153;&#128;"></menuitem><menuitem label="&acirc;&#153;&#130;" data-editor-command="inserthtml" data-editor-value="&acirc;&#153;&#130;"></menuitem><menuitem label="&acirc;&#134;&#144;" data-editor-command="inserthtml" data-editor-value="&acirc;&#134;&#144;"></menuitem><menuitem label="&acirc;&#134;&#146;" data-editor-command="inserthtml" data-editor-value="&acirc;&#134;&#146;"></menuitem><menuitem label="&acirc;&#134;&#145;" data-editor-command="inserthtml" data-editor-value="&acirc;&#134;&#145;"></menuitem><menuitem label="&acirc;&#134;&#147;" data-editor-command="inserthtml" data-editor-value="&acirc;&#134;&#147;"></menuitem><menuitem label="&acirc;&#153;&copy;" data-editor-command="inserthtml" data-editor-value="&acirc;&#153;&copy;"></menuitem><menuitem label="&acirc;&#153;&ordf;" data-editor-command="inserthtml" data-editor-value="&acirc;&#153;&ordf;"></menuitem><menuitem label="&acirc;&#153;&not;" data-editor-command="inserthtml" data-editor-value="&acirc;&#153;&not;"></menuitem><menuitem label="&acirc;&#153;&shy;" data-editor-command="inserthtml" data-editor-value="&acirc;&#153;&shy;"></menuitem><menuitem label="&acirc;&#153;&macr;" data-editor-command="inserthtml" data-editor-value="&acirc;&#153;&macr;"></menuitem>
</menu>
</menu>
<menuitem label="Line Break" data-editor-command="inserthtml" data-editor-value="&lt;br&gt;"></menuitem><menuitem label="Horizontal Rule" icon="data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjEwMjQiIHdpZHRoPSI2MzkuODc1IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogIDxwYXRoIGQ9Ik02My45MzggNDQ4aDEyOHYxMjhoNjRWMTkyLjA2MmgtNjRWMzg0aC0xMjhWMTkyLjA2MkgwVjU3Nmg2My45MzhWNDQ4ek02MzkuODc1IDU3NlY0NDhoLTYzLjkzOHYxMjhINjM5Ljg3NXpNNjM5Ljg3NSAzODRWMjU2LjA2MmgtNjMuOTM4VjM4NEg2MzkuODc1ek00NDcuOTM4IDM4NFYyNTYuMDYyaDEyOHYtNjRoLTE5MlY1NzZoNjRWNDQ4aDEyOHYtNjRINDQ3LjkzOHpNMCA4MzJoNjM5Ljg3NVY3MDRIMFY4MzJ6IiAvPgo8L3N2Zz4K" data-editor-command="inserthorizontalrule"></menuitem><menu label="Selection">
<menuitem label="Select All" data-editor-command="selectall"></menuitem><menuitem label="Clear Formatting" icon="data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjEwMjQiIHdpZHRoPSI2NDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZD0iTTMyMCAxOTJDMTQzLjIxOSAxOTIgMCAzMzUuMjE5IDAgNTEyYzAgMTc2Ljc1IDE0My4yMTkgMzIwIDMyMCAzMjAgMTc2Ljc1IDAgMzIwLTE0My4yNSAzMjAtMzIwQzY0MCAzMzUuMjE5IDQ5Ni43NSAxOTIgMzIwIDE5MnpNMzIwIDMyMGMyNy42NTYgMCA1My42ODggNi4wOTQgNzcuNDM4IDE2LjU2MkwxNDQuNTYyIDU4OS40MzhDMTM0LjA5NCA1NjUuNjg4IDEyOCA1MzkuNjU2IDEyOCA1MTIgMTI4IDQwNiAyMTMuOTM4IDMyMCAzMjAgMzIwek0zMjAgNzA0Yy0yOC4wMzEgMC01NC41MzEtNi4zNzUtNzguNTk0LTE3LjEyNWwyNTMuOTA2LTI1Mi41QzUwNS44NzUgNDU4LjE4OCA1MTIgNDg0LjI4MSA1MTIgNTEyIDUxMiA2MTguMDYyIDQyNi4wNjIgNzA0IDMyMCA3MDR6IiAvPgo8L3N2Zz4K" data-editor-command="removeformat"></menuitem><menuitem label="Remove Links" data-editor-command="unlink"></menuitem>
</menu>
<menu label="History">
<menuitem label="Undo" icon="data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjEwMjQiIHdpZHRoPSI4OTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZD0iTTQ0OCA2NGMtOTAuOTM4IDAtMTc1LjMxMiAyNy41MzEtMjQ1LjkzOCA3NC4wNjJMMTI4IDY0djI1NmgyNTZsLTg4LTg4YzQ1LjQzOC0yNC42ODggOTYuNjg4LTQwIDE1Mi00MCAxNzYuNzUgMCAzMjAgMTQzLjIxOSAzMjAgMzIwIDAgMTc2Ljc1LTE0My4yNSAzMjAtMzIwIDMyMC0xNzYuNzgxIDAtMzIwLTE0My4yNS0zMjAtMzIwIDAtNDUuNTYyIDkuNzgxLTg4Ljc4MSAyNy0xMjhINjR2LTk5LjQwNkMyNC4zMTIgMzUxLjUgMCA0MjguNTk0IDAgNTEyYzAgMjQ3LjQzOCAyMDAuNTYyIDQ0OCA0NDggNDQ4IDI0Ny40MzggMCA0NDgtMjAwLjU2MiA0NDgtNDQ4Qzg5NiAyNjQuNTYyIDY5NS40MzggNjQgNDQ4IDY0ek00NDcuMDMxIDgzMUw1MTIgNzY4VjU3NmgxMjhsNjQtNjQtNjQtNjRINTEybC02NC02NEwzMjAgNTEybDY0IDY0djE5Mkw0NDcuMDMxIDgzMXoiIC8+Cjwvc3ZnPgo=" data-editor-command="undo"></menuitem><menuitem label="Redo" icon="data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjEwMjQiIHdpZHRoPSI4OTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZD0iTTQ0OCA2NGMtOTAuOTM4IDAtMTc1LjMxMiAyNy41MzEtMjQ1LjkzOCA3NC4wNjJMMTI4IDY0djI1NmgyNTZsLTg4LTg4YzQ1LjQzOC0yNC42ODggOTYuNjg4LTQwIDE1Mi00MCAxNzYuNzUgMCAzMjAgMTQzLjIxOSAzMjAgMzIwIDAgMTc2Ljc1LTE0My4yNSAzMjAtMzIwIDMyMC0xNzYuNzgxIDAtMzIwLTE0My4yNS0zMjAtMzIwIDAtNDUuNTYyIDkuNzgxLTg4Ljc4MSAyNy0xMjhINjR2LTk5LjQwNkMyNC4zMTIgMzUxLjUgMCA0MjguNTk0IDAgNTEyYzAgMjQ3LjQzOCAyMDAuNTYyIDQ0OCA0NDggNDQ4IDI0Ny40MzggMCA0NDgtMjAwLjU2MiA0NDgtNDQ4Qzg5NiAyNjQuNTYyIDY5NS40MzggNjQgNDQ4IDY0ek00NDcuMDMxIDgzMUw1MTIgNzY4VjU3NmgxMjhsNjQtNjQtNjQtNjRINTEybC02NC02NEwzMjAgNTEybDY0IDY0djE5Mkw0NDcuMDMxIDgzMXoiIC8+Cjwvc3ZnPgo=" data-editor-command="redo"></menuitem>
</menu>
</menu>
::-moz-selection {
background-color: var(--primary-color);
text-shadow: none;
}
::selection {
background-color: var(--primary-color);
text-shadow: none;
}
a[target="_blank"]::after {
content: var(--new-tab-icon);
}
[download]::after {
content: var(--download-icon);
}
button,
[role=button]
{
min-width: 2rem;
padding: 0.2rem;
background-color: var(--primary-color);
background-image: url('../../images/gradients/header_links.png');
background-image: linear-gradient(var(--primary-color), var(--highlight-color));
font-family: inherit;
color: var(--default-color);
border: 0.2rem outset var(--primary-color);
}
button:disabled,
button:active
{
background-color: var(--highlight-color);
background-image: linear-gradient(var(--highlight-color), var(--primary-color));
border: 0.2rem inset var(--primary-color);
box-shadow: 0 0 0.3rem var(--shadow) inset;
cursor: not-allowed;
}
a,
[download]
{
font-family: inherit;
color: var(--link-color);
text-decoration: none;
}
a::after {
font-family: var(--icon-font);
}
menu[type=list] li {
display: inline;
}
img {
max-width: 100%;
height: auto;
}
figure {
border: 0.1em solid dimgray;
text-align: center;
}
figure figcaption {
color: dimgray;
text-decoration: underline;
font-style: italic;
}
blockquote {
color: #777;
font-family: 'Libertine';
font-style: italic;
padding: 0px 15px;
border-left: 4px solid #DDD;
}
blockquote cite {
display: block;
}
blockquote cite::before {
content: ' — ';
}
a,
button:not(:disabled),
[role=button],
input[type=submit],
input[type=reset],
input[type=image],
[data-show],
[data-show-modal],
[data-close],
[data-delete]
{
cursor: var(--pointer);
}
[data-icon]::after {
display: inline;
font-family: var(--icon-font);
font-size: inherit;
font-size-adjust: none;
font-stretch: none;
content: ' 'attr(data-icon)' ';
vertical-align: baseline;
}
[data-close]::after,
[data-delete]::after
{
font-family: var(--icon-font);
content: var(--close-icon);
}
code {
font-size: 0.9rem;
padding: 0.1rem;
background-color: hsl(0, 0%, 93%);
border-radius: 0.2rem;
display: inline-block;
white-space: pre;
}
pre > code {
display: block;
padding: 1rem;
background-color: rgb(51, 51, 51);
color: rgb(255, 249, 217);
border-radius: 0.3rem;
overflow-x: auto;
}
[contenteditable=true]:empty {
min-height: 1.3rem;
border: 1px dotted dimgray;
}
ol > ol {
list-style-type: upper-alpha;
}
ol > ol > ol {
list-style-type: upper-roman;
}
ol > ol > ol > ol {
list-style-type: lower-alpha;
}
ol > ol > ol > ol > ol {
list-style-type: lower-roman;
}
<!-- <div> -->
<a href="#" rel="prev" data-filter="invert">
<svg class="icon"><use xlink:href="combined.svg#prev"/></svg>
</a>
<a href="#">Link 1</a>
<a href="#">Link 2</a>
<a href="#" rel="next" data-filter="invert">
<svg class="icon"><use xlink:href="combined.svg#next"/></svg>
</a>
<!-- </div> -->
/*! normalize.css v1.1.2 | MIT License | git.io/normalize */
@-moz-viewport{
width:auto;
width:100%;
width:device-width;
height:auto;
height:100%;
height:device-height;
zoom:1;
min-zoom:1;
max-zoom:1;
user-zoom:fixed;
}
@-webkit-viewport{
width:auto;
width:100%;
width:device-width;
height:auto;
height:100%;
height:device-height;
zoom:1;
min-zoom:1;
max-zoom:1;
user-zoom:fixed;
}
@-o-viewport{
width:auto;
width:100%;
width:device-width;
height:auto;
height:100%;
height:device-height;
zoom:1;
min-zoom:1;
max-zoom:1;
user-zoom:fixed;
}
@-ms-viewport{
width:auto;
width:100%;
width:device-width;
height:auto;
height:100%;
height:device-height;
zoom:1;
min-zoom:1;
max-zoom:1;
user-zoom:fixed;
}
@viewport{
width:auto;
width:100%;
width:device-width;
height:auto;
height:100%;
height:device-height;
zoom:1;
min-zoom:1;
max-zoom:1;
user-zoom:fixed;
}
body{
min-height:100%;
min-height:100vh;
}
*, *::after, *::before, *:after, *:before{
margin:0;
padding:0;
box-sizing:border-box;
-webkit-animation-fill-mode:forwards;
animation-fill-mode:forwards;
max-width: 100%;
}
article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary,picture{
display:block;
}
audio,canvas,video{
display:inline-block;
*display:inline;
*zoom:1;
}
audio:not([controls]){
display:none;
height:0;
}
[hidden], menu[type=context], datalist{
display:none;
}
html{
-ms-text-size-adjust:100%;
-webkit-text-size-adjust:100%;
}
body{
margin:0;
}
a:focus{
outline:thin dotted;
}
a:active,a:hover{
outline:0;
}
abbr[title]{
border-bottom:1px dotted;
}
b,strong{
font-weight:bold;
}
blockquote{
margin:1em 40px;
}
dfn{
font-style:italic;
}
hr{
-moz-box-sizing:content-box;
box-sizing:content-box;
height:0;
}
mark{
background:#ff0;
color:#000;
}
p,pre{
margin:1em 0;
}
code,kbd,pre,samp{
font-family:monospace,serif;
_font-family:'courier new',monospace;
font-size:1em;
}
pre{
white-space:pre;
white-space:pre-wrap;
word-wrap:break-word;
}
small{
font-size:80%;
}
sub,sup{
font-size:75%;
line-height:0;
position:relative;
vertical-align:baseline;
}
sup{
top:-0.5em;
}
sub{
bottom:-0.25em;
}
dl,ol,ul{
margin:1em 0;
}
dd{
margin:0 0 0 40px;
}
menu,ol,ul{
padding:0 0 0 40px;
}
nav ul,nav ol{
list-style:none;
list-style-image:none;
}
menu[type=list]{
list-style:none;
}
img{
border:0;
-ms-interpolation-mode:bicubic;
}
svg:not(:root){
overflow:hidden;
}
figure{
margin:0;
}
form{
margin:0;
}
fieldset{
border:1px solid silver;
margin:0 2px;
padding:.35em .625em .75em;
}
legend{
border:0;
padding:0;
white-space:normal;
*margin-left:-7px;
}
button,input,select,textarea{
font-size:100%;
margin:0;
vertical-align:baseline;
*vertical-align:middle;
}
button,input{
line-height:normal;
}
button,select{
text-transform:none;
}
button,html input[type="button"],input[type="reset"],input[type="submit"]{
-webkit-appearance:button;
*overflow:visible;
}
button[disabled],html input[disabled]{
cursor:default;
}
input[type="checkbox"],input[type="radio"]{
padding:0;
*height:13px;
*width:13px;
}
input[type="search"]{
-webkit-appearance:textfield;
}
input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{
-webkit-appearance:none;
}
button::-moz-focus-inner,input::-moz-focus-inner{
border:0;
padding:0;
}
dialog:not([open]){
display:none;
}
dialog {
position: absolute;
left: 0px;
right: 0px;
width: -moz-fit-content;
width: -webkit-fit-content;
width: fit-content;
height: -moz-fit-content;
height: -webkit-fit-content;
height: -fit-content;
margin: auto;
border: solid;
border-image-source: initial;
border-image-slice: initial;
border-image-width: initial;
border-image-outset: initial;
border-image-repeat: initial;
padding: 1em;
background: white;
color: black;
}
textarea{
overflow:auto;
vertical-align:top;
}
table{
border-collapse:collapse;
border-spacing:0;
}
@media screen and (min-width:1000px) {
:root{
font-size:1.3vw;
}
}
@media screen and (max-width:999px) and (min-width:500px) {
:root{
font-size:2vw;
}
}
@media screen and (max-width: 499px) {
:root{
font-size:3vw;
}
}
@media (max-width: 800px) {
aside {
flex: 0 0 100%;
order: 2;
transform: none;
}
main {
flex: 0 0 100%;
order: 1;
}
article header {
position: static;
}
}
<form name="search" role="search">
<fieldset form="search">
<label for="search_terms">
<svg class="icon"><use xlink:href="combined.svg#search"/></svg>
</label>
<input name="search[terms]" id="search_terms" type="search" placeholder="Enter Search Terms" list="search_suggestions" required>
<button type="submit" hidden>
<svg class="icon"><use xlink:href="combined.svg#search"/></svg>
</button>
</fieldset>
</form>
aside {
flex: 0 0 12%;
order: 1;
background-color: whitesmoke;
color: dimgray;
border-radius: 0 1em 1em 0;
border-width: 5px 5px 5px 0;
border-style: outset;
border-color: silver;
padding: 1em 3em;
}
aside[role="slider"] {
transform: translatex(-8rem);
transition: transform 500ms;
}
aside[role="slider"]:hover {
transform: none;
}
<aside role="slider">
<h3>Sidebar</h3>
<menu type="list">
<li><a href="#">Item 1</a></li>
<li><a href="#">Item 2</a></li>
</menu>
</aside>
:root {
min-height: 100vh;
}
* {
box-sizing: inherit;
margin: 0;
padding: 0;
}
body {
font-family: Ubuntu;
box-sizing: border-box;
overflow-y: auto;
background-color: #222;
color: #ddd;
min-height: 100vh;
justify-content: space-between;
}
body > header {
flex: 0 0 100vw;
order: 0;
align-self: flex-start;
text-align: center;
}
header nav {
justify-content: space-around;
}
article header {
position: sticky;
top: 0;
}
h1, h2 {
font-family: Acme;
}
a {
text-decoration: none;
transition: color 800ms;
}
a:not(:hover) {
color: inherit;
}
label {
cursor: pointer;
}
main {
flex: 0 0 80%;
order: 2;
align-self: center;
padding: 3em;
background-color: whitesmoke;
color: #333;
border: 3px outset silver;
border-radius: 1em;
}
article > :not(header) {
font-family: Roboto;
}
footer {
flex: 0 0 100%;
order: 3;
align-self: flex-end;
text-align: center;
}
function WYSIWYG(menu)
{
menu.querySelectorAll('menuitem[data-editor-command]').forEach(function(item)
{
item.addEventListener('click', function()
{
var arg = null;
if (this.dataset.hasOwnProperty('editorValue')) {
arg = this.dataset.editorValue;
} else if (this.dataset.hasOwnProperty('prompt')) {
arg = prompt(this.dataset.prompt.toString());
} else if (this.dataset.hasOwnProperty('selectionTo')) {
var createdEl = document.createElement(this.dataset.selectionTo);
createdEl.textContent = getSelection().toString();
arg = createdEl.outerHTML;
}
document.execCommand(this.dataset.editorCommand, null, arg);
});
});
menu.querySelectorAll('menuitem[label="Add Class"]').forEach(function(menuitem) {
menuitem.addEventListener('click', function() {
var addClass = prompt('Enter class name to add');
if (addClass.length !== 0) {
getSelection().anchorNode.parentElement.classList.add(addClass);
}
});
});
menu.querySelectorAll('menuitem[label="Remove Class"]').forEach(function(menuitem) {
menuitem.addEventListener('click', function() {
var removeClass = prompt('Enter class name to remove');
if (removeClass.length !== 0) {
var el = getSelection().anchorNode.parentElement;
el.classList.remove(removeClass);
if (el.classList.length === 0) {
el.removeAttribute('class');
}
}
});
});
menu.querySelectorAll('menuitem[label="Set Attribute"]').forEach(function(menuitem) {
menuitem.addEventListener('click', function() {
var name = prompt('Enter attribute name');
if (name.length !== 0) {
var value = prompt('Enter attribute value');
getSelection().anchorNode.parentElement.setAttribute(name, value.toString());
}
})
});
menu.querySelectorAll('menuitem[label="Remove Attribute"]').forEach(function(menuitem) {
menuitem.addEventListener('click', function() {
var attr = prompt('Enter name of attribute to remove');
if (attr.length !== 0) {
getSelection().anchorNode.parentElement.removeAttribute(attr);
}
});
});
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment