init commit

This commit is contained in:
zino
2021-02-16 23:07:41 +01:00
parent ec3fc78e0f
commit 12b4ef5db4
5000 changed files with 2596132 additions and 0 deletions

View File

@@ -0,0 +1,245 @@
@font-face {
font-family: 'PTSansNarrowRegular';
src: url('../font/ptsans/ptn57f.eot');
src: url('../font/ptsans/ptn57f.eot?#iefix') format('embedded-opentype'),
url('../font/ptsans/ptn57f.woff') format('woff'),
url('../font/ptsans/ptn57f.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'PTSansNarrowBold';
src: url('../font/ptsans/ptn77f.eot');
src: url('../font/ptsans/ptn77f.eot?#iefix') format('embedded-opentype'),
url('../font/ptsans/ptn77f.woff') format('woff'),
url('../font/ptsans/ptn77f.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'PTSansItalic';
src: url('../font/ptsans/pts56f.eot');
src: url('../font/ptsans/pts56f.eot?#iefix') format('embedded-opentype'),
url('../font/ptsans/pts56f.woff') format('woff'),
url('../font/ptsans/pts56f.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'PTSansRegular';
src: url('../font/ptsans/pts55f.eot');
src: url('../font/ptsans/pts55f.eot?#iefix') format('embedded-opentype'),
url('../font/ptsans/pts55f.woff') format('woff'),
url('../font/ptsans/pts55f.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
/* headlines ^
------------------------------------------------ */
.headline {
position: relative;
margin: 0 0 24px;
padding: 0;
line-height: 1.1em;
font-family: 'PTSansNarrowRegular';
font-weight: normal;
}
.headline, .headline a {
-webkit-transition: color 0.2s ease-in-out;
transition: color 0.2s ease-in-out;
}
.headline a {
display: block;
text-decoration: none;
color: inherit;
}
.headline:hover a {
color: #555;
}
.headline.m-orange { color: #F26F52; }
.headline.m-pastel-blue { color: #5D9B9B; }
.headline.m-green { color: #8FB25B; }
.headline.m-reddish { color: #D84C3A; }
h1 { font-size: 38px; }
h2 { font-size: 34px; }
h3 { font-size: 30px; }
h4 { font-size: 26px; }
h5 { font-size: 22px;}
h6 { font-size: 18px; }
h4 {
margin-top: 60px !important;
}
h4:first-of-type {
margin-top: 40px !important;
}
p {
margin: 20px 0;
color: #444;
}
p:last-child {
margin-bottom: 0;
}
/* LAYOUT ^
--------------------------------------------------------------------------------------------*/
body {
margin: 0;
background-color: #fff;
font: 17px/1.5em 'PTSansRegular';
color: #676767;
}
.main {
position: relative;
background-color: #fff;
}
.layout {
max-width: 960px;
min-width: 420px;
position: relative;
margin: auto;
padding: 0 20px;
}
.m-left {
float: left;
}
.m-center {
margin-left: auto;
margin-right: auto;
}
.m-right {
float: right;
}
/* HEADER ^
--------------------------------------------------------------------------------------------*/
.header {
height: 50px;
background: #444;
line-height: 50px;
color: #fff;
}
.header h1 {
margin: 0;
font: 26px/50px 'PTSansNarrowBold';
font-weight: normal;
color: #fff;
}
/* CONTENT ^
--------------------------------------------------------------------------------------------*/
.content {
padding-top: 40px;
padding-bottom: 40px;
}
.section {
padding: 60px 0;
background-color: #fff;
}
.section:first-child {
padding-top: 0;
}
.b-contents {
margin: 0;
padding: 0;
list-style: none;
}
.b-contents li {
border-bottom: 1px dashed #ccc;
}
.b-contents li:first-child {
border-top: 1px dashed #ccc;
}
.b-contents a {
display: block;
padding: 14px 4px;
text-decoration: none;
color: inherit;
}
.b-code {
overflow: auto;
margin-bottom: 30px;
padding: 15px;
background-color: #fbfbfb;
border: 1px solid #e5e5e5;
font-size: 13px;
}
.bg-preview {
display: inline-block;
margin: 0 4px 8px 0;
background-color: #fbfbfb;
border: 1px solid #e5e5e5;
}
.bg-preview div {
display: inline-block;
vertical-align: middle;
height: 50px;
line-height: 50px;
}
.bg-preview .bg-title {
padding: 0 15px;
}
.bg-preview .bg {
width: 50px;
border: 1px solid #fff;
}
.bg-wood_pattern { background: #ddd url(../img/bg/wood_pattern.png); }
.bg-shattered { background: #ddd url(../img/bg/shattered.png); }
.bg-vichy { background: #ddd url(../img/bg/vichy.png); }
.bg-random-grey-variations { background: #ddd url(../img/bg/random_grey_variations.png); }
.bg-irongrip { background: #ddd url(../img/bg/irongrip.png); }
.bg-gplaypattern { background: #ddd url(../img/bg/gplaypattern.png); }
.bg-diamond_upholstery { background: #ddd url(../img/bg/diamond_upholstery.png); }
.bg-denim { background: #ddd url(../img/bg/denim.png); }
.bg-crissXcross { background: #ddd url(../img/bg/crissXcross.png); }
.bg-climpek { background: #ddd url(../img/bg/climpek.png); }

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,81 @@
/* Generated by Font Squirrel (http://www.fontsquirrel.com) on June 10, 2012 */
@font-face {
font-family: 'PTSansCaptionBold';
src: url('ptc75f.eot');
src: url('ptc75f.eot?#iefix') format('embedded-opentype'),
url('ptc75f.woff') format('woff'),
url('ptc75f.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'PTSansNarrowRegular';
src: url('ptn57f.eot');
src: url('ptn57f.eot?#iefix') format('embedded-opentype'),
url('ptn57f.woff') format('woff'),
url('ptn57f.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'PTSansNarrowBold';
src: url('ptn77f.eot');
src: url('ptn77f.eot?#iefix') format('embedded-opentype'),
url('ptn77f.woff') format('woff'),
url('ptn77f.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'PTSansItalic';
src: url('pts56f.eot');
src: url('pts56f.eot?#iefix') format('embedded-opentype'),
url('pts56f.woff') format('woff'),
url('pts56f.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'PTSansBoldItalic';
src: url('pts76f.eot');
src: url('pts76f.eot?#iefix') format('embedded-opentype'),
url('pts76f.woff') format('woff'),
url('pts76f.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'PTSansRegular';
src: url('pts55f.eot');
src: url('pts55f.eot?#iefix') format('embedded-opentype'),
url('pts55f.woff') format('woff'),
url('pts55f.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 209 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 101 KiB

View File

@@ -0,0 +1,633 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Documentation</title>
<link rel="stylesheet" href="css/documentation.css">
<script src="js/jquery-1.8.3.min.js"></script>
<script src="js/jquery.chili-2.2.js"></script>
<script src="js/recipes.js"></script>
</head>
<body>
<div class="main">
<div class="header">
<div class="layout">
<h1 class="m-right1">Boson Template Documentation</h1>
</div>
</div>
<div class="content">
<div class="layout">
<!-- start section -->
<div id="s-0" class="section">
<h2 class="headline m-pastel-blue">Contents</h2>
<ul class="b-contents">
<li><a href="#s-1">1. Welcome</a></li>
<li><a href="#s-2">2. HTML Structure</a></li>
<li><a href="#s-3">3. CSS Structure</a></li>
<li><a href="#s-4">4. Style Settings</a></li>
<li><a href="#s-5">5. Elements Settings</a></li>
<li><a href="#s-6">6. Javascript Settings</a></li>
<li><a href="#s-7">7. Photoshop Files</a></li>
<li><a href="#s-8">8. Scripts &amp; Credits</a></li>
</ul>
</div>
<!-- end section -->
<!-- start section -->
<div id="s-1" class="section">
<h2 class="headline m-pastel-blue"><a href="#s-0">1. Welcome</a></h2>
<p>
Thank you for purchasing my theme. If you have any questions that are beyond the scope of this help file, please feel free to email via my user page contact form <a href="http://themeforest.net/user/Hatej">here</a>. Thanks so much!
</p>
<p>
For questions on basic HTML, JavaScript or CSS editing - please give your question a quick Google or
visit W3Schools as theme issues get top priority. You will need some knowledge of HTML/CSS to edit this theme.
</p>
</div>
<!-- end section -->
<!-- start section -->
<div id="s-2" class="section">
<h2 class="headline m-pastel-blue"><a href="#s-0">2. HTML Structure</a></h2>
<p>This Theme has a Responsive layout with a variation of column layouts depending on the page. The general template structure is the same throughout the template. Here is the general structure.</p>
<pre class="b-code">
<code class="html">&lt;div class="main"&gt;
&lt;!-- TOP BAR
============================================= --&gt;
&lt;div class="b-top-bar"&gt;
&lt;div class="layout"&gt;
Content...
&lt;/div&gt;
&lt;/div&gt;
&lt;!-- END TOP BAR
============================================= --&gt;
&lt;!-- HEADER
============================================= --&gt;
&lt;div class="header"&gt;
&lt;div class="layout clearfix"&gt;
Content...
&lt;/div&gt;
&lt;/div&gt;
&lt;!-- END HEADER
============================================= --&gt;
&lt;!-- REVOLUTION SLIDER
============================================= --&gt;
&lt;div class="fullwidthbanner-container top-shadow"&gt;
&lt;div class="fullwidthbanner"&gt;
Content...
&lt;/div&gt;
&lt;/div&gt;
&lt;!-- END REVOLUTION SLIDER
============================================= --&gt;
&lt;!-- FEATURED CONTENT
============================================= --&gt;
&lt;div class="content-featured"&gt;
&lt;div class="layout"&gt;
Content...
&lt;/div&gt;
&lt;/div&gt;
&lt;!-- END FEATURED CONTENT
============================================= --&gt;
&lt;!-- CONTENT
============================================= --&gt;
&lt;div class="content"&gt;
&lt;div class="layout"&gt;
Content...
&lt;/div&gt;
&lt;/div&gt;
&lt;!-- END CONTENT
============================================= --&gt;
&lt;!-- FOOTER
============================================= --&gt;
&lt;div class="footer"&gt;
&lt;!-- Widget Area --&gt;
&lt;div class="b-widgets"&gt;
&lt;div class="layout"&gt;
Content...
&lt;/div&gt;
&lt;/div&gt;
&lt;!-- End Widget Area --&gt;
&lt;!-- Copyright Area --&gt;
&lt;div class="b-copyright"&gt;
&lt;div class="layout"&gt;
Content...
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;!-- END FOOTER
============================================= --&gt;
&lt;/div&gt;
&lt;!-- END MAIN
============================================= --&gt;</code>
</pre>
<!-- -->
<h4 class="headline">2.1 Grid</h4>
<pre class="b-code">
<code class="html">&lt;div class="row"&gt;
Columns...
&lt;/div&gt;</code>
</pre>
<pre class="b-code">
<code class="html">&lt;div class="row"&gt;
&lt;!-- 1/2 column --&gt;
&lt;div class="row-item col-1_2"&gt;
Content...
&lt;/div&gt;
&lt;!-- 1/3 column --&gt;
&lt;div class="row-item col-1_3"&gt;
Content...
&lt;/div&gt;
&lt;!-- 1/4 column --&gt;
&lt;div class="row-item col-1_4"&gt;
Content...
&lt;/div&gt;
&lt;!-- 2/3 column --&gt;
&lt;div class="row-item col-2_3"&gt;
Content...
&lt;/div&gt;
&lt;!-- 3/4 column --&gt;
&lt;div class="row-item col-3_4"&gt;
Content...
&lt;/div&gt;
&lt;/div&gt;</code>
</pre>
<!-- -->
<h4 class="headline">2.2 Boxed mode</h4>
<p>To change the layout mode to add the class "boxed" to the element with the class "main"</p>
<pre class="b-code">
<code class="html">&lt;div class="main boxed"&gt;&lt;/div&gt;</code>
</pre>
</div>
<!-- end section -->
<!-- start section -->
<div id="s-3" class="section">
<h2 class="headline m-pastel-blue"><a href="#s-0">3. CSS Structure</a></h2>
<p>I'm using two main CSS files (main.css and shortcodes.css) in this theme which you are free to modify depending on the customization you require. </p>
<h4 class="headline">Main.css</h4>
<p>If you would like to edit a specific section of the site, simply find the appropriate label in the file Main.css, and then scroll down until you find the appropriate style that needs to be edited.</p>
<pre class="b-code">
<code class="css">@import 'shortcodes.css'
/* --------------------------------- Base ^ */
/* ------------------------------- Header ^ */
/* ------------------------------- Slider ^ */
/* ------------------------------ Content ^ */
/* ------------------------------- Footer ^ */
/* ---------------------------- Portfolio ^ */
/* --------------------------------- Blog ^ */
</code>
</pre>
<!-- -->
<h4 class="headline">Shortcodes.css</h4>
<p>If you would like to edit a shortcode element of the site, simply find the appropriate label in the file Shortcodes.css, and then scroll down until you find the appropriate style that needs to be edited.</p>
<pre class="b-code">
<code class="css">
/* ------------------------- Testimonials ^ */
/* -------------------------------- Icons ^ */
/* -------------------------- Color icons ^ */
/* ----------------------------- Icon box ^ */
/* --------------------------------- Tabs ^ */
/* -------------------------------- Lists ^ */
/* --------------------------------- News ^ */
/* ----------------------------- Messages ^ */
/* -------------------------------- Promo ^ */
/* -------------------------------- Table ^ */
/* ------------------------------ Buttons ^ */
/* -------------------------------- Intro ^ */
/* ------------------------ Social button ^ */
/* ------------------------------- Toggle ^ */
/* ---------------------------- Accordion ^ */
/* ------------------------ Progress Bars ^ */
/* ----------------------------- Tooltips ^ */
/* -------------------------- Element Box ^ */
/* -------------------------------- Forms ^ */
/* ----------------------------- Services ^ */
/* ------------------------------ Top Bar ^ */
/* ----------------------------- Side Nav ^ */
/* ------------------------------ Clients ^ */
/* --------------------------------- Team ^ */
/* -------------------------------- Quote ^ */
/* ---------------------------- Button Up ^ */
/* ------------------------------ Gallery ^ */
/* ----------------------------- Dropcaps ^ */
</code>
</pre>
</div>
<!-- end section -->
<!-- start section -->
<div id="s-4" class="section">
<h2 class="headline m-pastel-blue"><a href="#s-0">4. Style Settings</a></h2>
<h4 class="headline">4.1 Color Scheme</h4>
<p>You can add or modify colors and include new color file like.</p>
<pre class="b-code">
<code class="html">&lt;link rel="stylesheet" href="css/main.css"&gt;
&lt;link rel="stylesheet" href="css/responsive.css"&gt;
&lt;link rel="stylesheet" href="css/color-scheme/turquoise.css"&gt; &lt;!-- color scheme --&gt;</code>
</pre>
<!-- -->
<h4 class="headline">4.2 Main Background</h4>
<p>To change the background pattern, you need to add a class to the Body.</p>
<pre class="b-code">
<code class="html">&lt;body class="bg-climpek"&gt;&lt;/body&gt;</code>
</pre>
<div class="bg-preview"> <div class="bg-title">bg-wood_pattern</div> <div class="bg bg-wood_pattern"></div> </div>
<div class="bg-preview"> <div class="bg-title">bg-shattered</div> <div class="bg bg-shattered"></div> </div>
<div class="bg-preview"> <div class="bg-title">bg-vichy</div> <div class="bg bg-vichy"></div> </div>
<div class="bg-preview"> <div class="bg-title">bg-random-grey-variations</div> <div class="bg bg-random-grey-variations"></div> </div>
<div class="bg-preview"> <div class="bg-title">bg-irongrip</div> <div class="bg bg-irongrip"></div> </div>
<div class="bg-preview"> <div class="bg-title">bg-gplaypattern</div> <div class="bg bg-gplaypattern"></div> </div>
<div class="bg-preview"> <div class="bg-title">bg-diamond_upholstery</div> <div class="bg bg-diamond_upholstery"></div> </div>
<div class="bg-preview"> <div class="bg-title">bg-denim</div> <div class="bg bg-denim"></div> </div>
<div class="bg-preview"> <div class="bg-title">bg-crissXcross</div> <div class="bg bg-crissXcross"></div> </div>
<div class="bg-preview"> <div class="bg-title">bg-climpek</div> <div class="bg bg-climpek"></div> </div>
</div>
<!-- end section -->
<!-- start section -->
<div id="s-5" class="section">
<h2 class="headline m-pastel-blue"><a href="#s-0">5. Elements Settings</a></h2>
<h4 class="headline">5.1 Revolution Slider</h4>
<pre class="b-code">
<code class="html">&lt;div class="fullwidthbanner-container"&gt;
&lt;div class="fullwidthbanner"&gt;
&lt;ul&gt;
&lt;!-- Slide --&gt;
&lt;li data-masterspeed="300" data-slotamount="1" data-transition="fade"&gt;
&lt;!-- Main Image --&gt;
&lt;img alt="" src="img/slider/Slider-1.jpg"&gt;
&lt;!-- Captions --&gt;
&lt;div class="tp-caption m-text-black sft" data-easing="easeOutExpo" data-speed="700" data-start="1400" data-x="40" data-y="130"&gt;
&lt;span&gt;Tempora Incidunt&lt;/span&gt;
&lt;/div&gt;
&lt;/li&gt;
... other slides ...
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;</code>
</pre>
<p>For detailed documentation, see the Revolution Slider Documentation.</p>
<!-- -->
<h4 class="headline">5.2 Portfolio Filtering</h4>
<p>Filters</p>
<pre class="b-code">
<code class="html">
&lt;ul class="b-filter-list"&gt;
&lt;li data-filter="*" class="active"&gt;All&lt;/li&gt;
&lt;li data-filter=".webdesign"&gt;Web Design&lt;/li&gt;
&lt;li data-filter=".photography"&gt;Photography&lt;/li&gt;
&lt;li data-filter=".identity"&gt;Identity&lt;/li&gt;
&lt;li data-filter=".tehnology"&gt;Tehnology&lt;/li&gt;
&lt;/ul&gt;
&lt;!-- Filter for Mobile View. --&gt;
&lt;div class="b-filter-select"&gt;
&lt;div class="filter-current"&gt;
All
&lt;/div&gt;
&lt;ul&gt;
&lt;li data-filter="*" class="active"&gt;All&lt;/li&gt;
&lt;li data-filter=".webdesign"&gt;Web Design&lt;/li&gt;
&lt;li data-filter=".photography"&gt;Photography&lt;/li&gt;
&lt;li data-filter=".identity"&gt;Identity&lt;/li&gt;
&lt;li data-filter=".tehnology"&gt;Tehnology&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</code>
</pre>
<p>Thumbnails</p>
<pre class="b-code">
<code class="html">&lt;div class="row-item col-1_2 identity photography tehnology"&gt;
&lt;div class="work"&gt;
&lt;a href="#" class="work-image"&gt;
&lt;img src="img/port/smiling.jpg"&gt;
&lt;div class="link-overlay icon-chevron-right"&gt;&lt;/div&gt;
&lt;/a&gt;
&lt;a href="#" class="work-name"&gt;Smiling&lt;/a&gt;
&lt;div class="tags"&gt;Photography, Tehnology&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</code>
</pre>
<!-- -->
<h4 class="headline">5.3 Contact Form</h4>
<p>To change email adress, open "contact.php", find and edit code below:</p>
<pre class="b-code">
<code class="js">// Configuration option.
// Enter the $email $address that you want to emails to be sent to.
// Example $address = "joe.doe@yourdomain.com";
$address = "mail@example.com";</code>
</pre>
</div>
<!-- end section -->
<!-- start section -->
<div id="s-6" class="section">
<h2 class="headline m-pastel-blue"><a href="#s-0">6. Javascript Settings</a></h2>
<h5 class="headline m-pastel-blue">Main.js</h5>
<p>
Here you can modify any settings for ( Navigation Menu, Forms, Tabs, Accordion and more..)
</p>
<pre class="b-code"><code class="js">
// MENU
// FORMS: SEARCH, COMMENT
// CONTACT FORM
// TABS
// MESSAGES
// SPOILER
// PROGRESS BAR
// TEAM
// PORTFOLIO
// CAROUSEL
// CREATE CONTROLS
// CHANGE ITEM
// AUTO CHANGE
// BUTTON UP
</code></pre>
<h5 class="headline m-pastel-blue">Google Map</h5>
<p>
Here you can modify settings for Navigation Menu, Forms, Tabs, Accordion and more.
</p>
<pre class="b-code">
<code class="html">&lt;div class="b-google-map"&gt;
&lt;div id="map_canvas" style="width: 100%; height: 400px;"&gt;&lt;/div&gt;
&lt;script src="http://maps.google.com/maps/api/js?sensor=true"&gt;&lt;/script&gt;
&lt;script src="js/jquery.gmap.min.js"&gt;&lt;/script&gt;
&lt;script&gt;
jQuery('#map_canvas').gMap({
maptype: 'ROADMAP',
scrollwheel: false,
zoom: 16,
markers: [
{
address: 'Moscow', // Your Adress Here
html: '',
popup: false,
}
],
});
&lt;/script&gt;
&lt;/div&gt;</code>
</pre>
</div>
<h5 class="headline m-pastel-blue">Revolution-slider-options.js</h5>
<p>Here you can modify settings for Revolution Slider.</p>
<pre class="b-code">
<code class="js">$('.fullwidthbanner').each(function() {
$(this).revolution({
delay:10000,
startwidth:1090,
startheight:440,
onHoverStop:"on", // Stop Banner Timet at Hover on Slide on/off
thumbWidth:100, // Thumb With and Height and Amount (only if navigation Tyope set to thumb !)
thumbHeight:50,
thumbAmount:3,
hideThumbs:0,
navigationType:"bullet", // bullet, thumb, none
navigationArrows:"solo", // nexttobullets, solo (old name verticalcenteturquoise), none
navigationStyle:"round", // round,square,navbar,round-old,square-old,navbar-old, or any from the list in the docu (choose between 50+ different item), custom
navigationHAlign:"center", // Vertical Align top,center,bottom
navigationVAlign:"bottom", // Horizontal Align left,center,right
navigationHOffset:0,
navigationVOffset:20,
soloArrowLeftHalign:"left",
soloArrowLeftValign:"center",
soloArrowLeftHOffset:20,
soloArrowLeftVOffset:0,
soloArrowRightHalign:"right",
soloArrowRightValign:"center",
soloArrowRightHOffset:20,
soloArrowRightVOffset:0,
touchenabled:"on", // Enable Swipe Function : on/off
stopAtSlide:-1, // Stop Timer if Slide "x" has been Reached. If stopAfterLoops set to 0, then it stops already in the first Loop at slide X which defined. -1 means do not stop at any slide. stopAfterLoops has no sinn in this case.
stopAfterLoops:-1, // Stop Timer if All slides has been played "x" times. IT will stop at THe slide which is defined via stopAtSlide:x, if set to -1 slide never stop automatic
hideCaptionAtLimit:0, // It Defines if a caption should be shown under a Screen Resolution ( Basod on The Width of Browser)
hideAllCaptionAtLilmit:0, // Hide all The Captions if Width of Browser is less then this value
hideSliderAtLimit:0, // Hide the whole slider, and stop also functions if Width of Browser is less than this value
fullWidth:"on",
shadow:0 // 0 = no Shadow, 1,2,3 = 3 Different Art of Shadows - (No Shadow in Fullwidth Version !)
});
});</code>
</pre>
For detailed documentation, see the Revolution Slider Documentation.
<!-- end section -->
<!-- start section -->
<div id="s-7" class="section">
<h2 class="headline m-pastel-blue"><a href="#s-0">7. Photoshop Files</a></h2>
<p>
I've included two psds with this theme:
</p>
<ul style="margin-bottom: 50px;">
<li>Homepage</li>
<li>Blog</li>
</ul>
</div>
<!-- end section -->
<!-- start section -->
<div id="s-8" class="section">
<h2 class="headline m-pastel-blue"><a href="#s-0">8. Credits</a></h2>
<h5 class="headline m-pastel-blue">Preview Images:</h5>
<p>
All images used in the preview are just for demonstration purposes and not included in the Theme.
</p>
<h5 class="headline m-pastel-blue">Fonts:</h5>
<ul style="margin-bottom: 50px;">
<li><a href="http://www.fontsquirrel.com/fonts/open-sans?q=open+sans">Open Sans</a></li>
<li><a href="http://www.fontsquirrel.com/fonts/bebas-neue?q=bebas">Bebas Neue</a></li>
<li><a href="http://www.fontsquirrel.com/fonts/great-vibes">Great Vibes</a></li>
</ul>
<h5 class="headline m-pastel-blue">Scripts:</h5>
<ul style="margin-bottom: 50px;">
<li><a href="http://jquery.com/">jQuery library</a></li>
<li><a href="http://codecanyon.net/item/slider-revolution-responsive-jquery-plugin/2580848">Slider Revolution</a></li>
<li><a href="http://codecanyon.net/item/ajax-contact-form/50846">AJAX Contact Form</a></li>
<li><a href="http://www.no-margin-for-errors.com/projects/prettyphoto-jquery-lightbox-clone/">Pretty Photo</a></li>
<li><a href="http://isotope.metafizzy.co/">Isotope Filtering</a></li>
<li><a href="https://github.com/marioestrada/jQuery-gMap">Google Map</a></li>
<li><a href="http://tweet.seaofclouds.com/">jQuery Tweets</a></li>
</ul>
<h5 class="headline m-pastel-blue">Patterns:</h5>
<ul style="margin-bottom: 50px;">
<li><a href="http://subtlepatterns.com/">Subtlepatterns.com</a></li>
</ul>
<h5 class="headline m-pastel-blue">Icons:</h5>
<ul style="margin-bottom: 50px;">
<li><a href="http://fortawesome.github.io/Font-Awesome/">Font Awesome</a></li>
<li><a href="http://banzaitokyo.com/">Art Professions Icon Set</a></li>
<li><a href="http://jonasraskdesign.com/">DRF Icon Set</a></li>
</ul>
</div>
<!-- end section -->
</div>
<!-- end layout -->
</div>
<!-- end content -->
</div>
<!-- end main -->
</body>
</html>

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,706 @@
/*
===============================================================================
Chili is the jQuery code highlighter plugin
...............................................................................
LICENSE: http://www.opensource.org/licenses/mit-license.php
WEBSITE: http://noteslog.com/chili/
Copyright 2008 / Andrea Ercolino
===============================================================================
*/
( function($) {
ChiliBook = { //implied global
version: "2.2" // 2008-07-06
// options --------------------------------------------------------------------
, automatic: true
, automaticSelector: "code"
, lineNumbers: !true
, codeLanguage: function( el ) {
var recipeName = $( el ).attr( "class" );
return recipeName ? recipeName : '';
}
, recipeLoading: true
, recipeFolder: "" // used like: recipeFolder + recipeName + '.js'
// IE and FF convert &#160; to "&nbsp;", Safari and Opera do not
, replaceSpace: "&#160;"
, replaceTab: "&#160;&#160;&#160;&#160;"
, replaceNewLine: "&#160;<br/>"
, selectionStyle: [ "position:absolute; z-index:3000; overflow:scroll;"
, "width:16em;"
, "height:9em;"
, "border:1px solid gray;"
, "padding:15px;"
, "background-color:yellow;"
].join( ' ' )
// ------------------------------------------------------------- end of options
, defaultReplacement: '<span class="$0">$$</span>' // TODO: make this an option again
, recipes: {} //repository
, queue: {} //registry
, unique: function() {
return (new Date()).valueOf();
}
};
$.fn.chili = function( options ) {
var book = $.extend( {}, ChiliBook, options || {} );
function cook( ingredients, recipe, blockName ) {
function prepareBlock( recipe, blockName ) {
var steps = [];
for( var stepName in recipe[ blockName ] ) {
steps.push( prepareStep( recipe, blockName, stepName ) );
}
return steps;
} // prepareBlock
function prepareStep( recipe, blockName, stepName ) {
var step = recipe[ blockName ][ stepName ];
var exp = ( typeof step._match == "string" ) ? step._match : step._match.source;
return {
recipe: recipe
, blockName: blockName
, stepName: stepName
, exp: "(" + exp + ")"
, length: 1 // add 1 to account for the newly added parentheses
+ (exp // count number of submatches in here
.replace( /\\./g, "%" ) // disable any escaped character
.replace( /\[.*?\]/g, "%" ) // disable any character class
.match( /\((?!\?)/g ) // match any open parenthesis, not followed by a ?
|| [] // make sure it is an empty array if there are no matches
).length // get the number of matches
, replacement: step._replace ? step._replace : book.defaultReplacement
};
} // prepareStep
function knowHow( steps ) {
var prevLength = 1;
var exps = [];
for (var i = 0; i < steps.length; i++) {
var exp = steps[ i ].exp;
// adjust backreferences
exp = exp.replace( /\\\\|\\(\d+)/g, function( m, aNum ) {
return !aNum ? m : "\\" + ( prevLength + 1 + parseInt( aNum, 10 ) );
} );
exps.push( exp );
prevLength += steps[ i ].length;
}
var prolog = '((?:\\s|\\S)*?)';
var epilog = '((?:\\s|\\S)+)';
var source = '(?:' + exps.join( "|" ) + ')';
source = prolog + source + '|' + epilog;
return new RegExp( source, recipe._case ? "g" : "gi" );
} // knowHow
function escapeHTML( str ) {
return str.replace( /&/g, "&amp;" ).replace( /</g, "&lt;" );
} // escapeHTML
function replaceSpaces( str ) {
return str.replace( / +/g, function( spaces ) {
return spaces.replace( / /g, replaceSpace );
} );
} // replaceSpaces
function filter( str ) {
str = escapeHTML( str );
if( replaceSpace ) {
str = replaceSpaces( str );
}
return str;
} // filter
function applyRecipe( subject, recipe ) {
return cook( subject, recipe );
} // applyRecipe
function applyBlock( subject, recipe, blockName ) {
return cook( subject, recipe, blockName );
} // applyBlock
function applyStep( subject, recipe, blockName, stepName ) {
var replaceSpace = book.replaceSpace;
var step = prepareStep( recipe, blockName, stepName );
var steps = [step];
var perfect = subject.replace( knowHow( steps ), function() {
return chef.apply( { steps: steps }, arguments );
} );
return perfect;
} // applyStep
function applyModule( subject, module, context ) {
if( ! module ) {
return filter( subject );
}
var sub = module.split( '/' );
var recipeName = '';
var blockName = '';
var stepName = '';
switch( sub.length ) {
case 1:
recipeName = sub[0];
break;
case 2:
recipeName = sub[0]; blockName = sub[1];
break;
case 3:
recipeName = sub[0]; blockName = sub[1]; stepName = sub[2];
break;
default:
return filter( subject );
}
function getRecipe( recipeName ) {
var path = getPath( recipeName );
var recipe = book.recipes[ path ];
if( ! recipe ) {
throw {msg:"recipe not available"};
}
return recipe;
}
try {
var recipe;
if ( '' == stepName ) {
if ( '' == blockName ) {
if ( '' == recipeName ) {
//nothing to do
}
else { // ( '' != recipeName )
recipe = getRecipe( recipeName );
return applyRecipe( subject, recipe );
}
}
else { // ( '' != blockName )
if( '' == recipeName ) {
recipe = context.recipe;
}
else {
recipe = getRecipe( recipeName );
}
if( ! (blockName in recipe) ) {
return filter( subject );
}
return applyBlock( subject, recipe, blockName );
}
}
else { // ( '' != stepName )
if( '' == recipeName ) {
recipe = context.recipe;
}
else {
recipe = getRecipe( recipeName );
}
if( '' == blockName ) {
blockName = context.blockName;
}
if( ! (blockName in recipe) ) {
return filter( subject );
}
if( ! (stepName in recipe[blockName]) ) {
return filter( subject );
}
return applyStep( subject, recipe, blockName, stepName );
}
}
catch( e ) {
if (e.msg && e.msg == "recipe not available") {
var cue = 'chili_' + book.unique();
if( book.recipeLoading ) {
var path = getPath( recipeName );
if( ! book.queue[ path ] ) {
/* this is a new recipe to download */
try {
book.queue[ path ] = [ {cue: cue, subject: subject, module: module, context: context} ];
$.getJSON( path, function( recipeLoaded ) {
book.recipes[ path ] = recipeLoaded;
var q = book.queue[ path ];
for( var i = 0, iTop = q.length; i < iTop; i++ ) {
var replacement = applyModule( q[ i ].subject, q[ i ].module, q[ i ].context );
if( book.replaceTab ) {
replacement = replacement.replace( /\t/g, book.replaceTab );
}
if( book.replaceNewLine ) {
replacement = replacement.replace( /\n/g, book.replaceNewLine );
}
$( '#' + q[ i ].cue ).replaceWith( replacement );
}
} );
}
catch( recipeNotAvailable ) {
alert( "the recipe for '" + recipeName + "' was not found in '" + path + "'" );
}
}
else {
/* not a new recipe, so just enqueue this element */
book.queue[ path ].push( {cue: cue, subject: subject, module: module, context: context} );
}
return '<span id="' + cue + '">' + filter( subject ) + '</span>';
}
return filter( subject );
}
else {
return filter( subject );
}
}
} // applyModule
function addPrefix( prefix, replacement ) {
var aux = replacement.replace( /(<span\s+class\s*=\s*(["']))((?:(?!__)\w)+\2\s*>)/ig, "$1" + prefix + "__$3" );
return aux;
} // addPrefix
function chef() {
if (! arguments[ 0 ]) {
return '';
}
var steps = this.steps;
var i = 0; // iterate steps
var j = 2; // iterate chef's arguments
var prolog = arguments[ 1 ];
var epilog = arguments[ arguments.length - 3 ];
if (! epilog) {
var step;
while( step = steps[ i++ ] ) {
var aux = arguments; // this unmasks chef's arguments inside the next function
if( aux[ j ] ) {
var replacement = '';
if( $.isFunction( step.replacement ) ) {
var matches = []; //Array.slice.call( aux, j, step.length );
for (var k = 0, kTop = step.length; k < kTop; k++) {
matches.push( aux[ j + k ] );
}
matches.push( aux[ aux.length - 2 ] );
matches.push( aux[ aux.length - 1 ] );
replacement = step.replacement
.apply( {
x: function() {
var subject = arguments[0];
var module = arguments[1];
var context = {
recipe: step.recipe
, blockName: step.blockName
};
return applyModule( subject, module, context );
}
}, matches );
}
else { //we expect step.replacement to be a string
replacement = step.replacement
.replace( /(\\\$)|(?:\$\$)|(?:\$(\d+))/g, function( m, escaped, K ) {
if( escaped ) { /* \$ */
return "$";
}
else if( !K ) { /* $$ */
return filter( aux[ j ] );
}
else if( K == "0" ) { /* $0 */
return step.stepName;
}
else { /* $K */
return filter( aux[ j + parseInt( K, 10 ) ] );
}
} );
}
replacement = addPrefix( step.recipe._name, replacement );
return filter( prolog ) + replacement;
}
else {
j+= step.length;
}
}
}
else {
return filter( epilog );
}
} // chef
if( ! blockName ) {
blockName = '_main';
checkSpices( recipe );
}
if( ! (blockName in recipe) ) {
return filter( ingredients );
}
var replaceSpace = book.replaceSpace;
var steps = prepareBlock( recipe, blockName );
var kh = knowHow( steps );
var perfect = ingredients.replace( kh, function() {
return chef.apply( { steps: steps }, arguments );
} );
return perfect;
} // cook
function loadStylesheetInline( sourceCode ) {
if( document.createElement ) {
var e = document.createElement( "style" );
e.type = "text/css";
if( e.styleSheet ) { // IE
e.styleSheet.cssText = sourceCode;
}
else {
var t = document.createTextNode( sourceCode );
e.appendChild( t );
}
document.getElementsByTagName( "head" )[0].appendChild( e );
}
} // loadStylesheetInline
function checkSpices( recipe ) {
var name = recipe._name;
if( ! book.queue[ name ] ) {
var content = ['/* Chili -- ' + name + ' */'];
for (var blockName in recipe) {
if( blockName.search( /^_(?!main\b)/ ) < 0 ) {
for (var stepName in recipe[ blockName ]) {
var step = recipe[ blockName ][ stepName ];
if( '_style' in step ) {
if( step[ '_style' ].constructor == String ) {
content.push( '.' + name + '__' + stepName + ' { ' + step[ '_style' ] + ' }' );
}
else {
for (var className in step[ '_style' ]) {
content.push( '.' + name + '__' + className + ' { ' + step[ '_style' ][ className ] + ' }' );
}
}
}
}
}
}
content = content.join('\n');
loadStylesheetInline( content );
book.queue[ name ] = true;
}
} // checkSpices
function askDish( el ) {
var recipeName = book.codeLanguage( el );
if( '' != recipeName ) {
var path = getPath( recipeName );
if( book.recipeLoading ) {
/* dynamic setups come here */
if( ! book.queue[ path ] ) {
/* this is a new recipe to download */
try {
book.queue[ path ] = [ el ];
$.getJSON( path, function( recipeLoaded ) {
book.recipes[ path ] = recipeLoaded;
var q = book.queue[ path ];
for( var i = 0, iTop = q.length; i < iTop; i++ ) {
makeDish( q[ i ], path );
}
} );
}
catch( recipeNotAvailable ) {
alert( "the recipe for '" + recipeName + "' was not found in '" + path + "'" );
}
}
else {
/* not a new recipe, so just enqueue this element */
book.queue[ path ].push( el );
}
/* a recipe could have been already downloaded */
makeDish( el, path );
}
else {
/* static setups come here */
makeDish( el, path );
}
}
} // askDish
function makeDish( el, recipePath ) {
var recipe = book.recipes[ recipePath ];
if( ! recipe ) {
return;
}
var $el = $( el );
var ingredients = $el.text();
if( ! ingredients ) {
return;
}
//fix for msie: \r (13) is used instead of \n (10)
//fix for opera: \r\n is used instead of \n
ingredients = ingredients.replace(/\r\n?/g, "\n");
//reverse fix for safari: msie, mozilla and opera render the initial \n
if( $el.parent().is('pre') ) {
if( ! $.browser.safari ) {
ingredients = ingredients.replace(/^\n/g, "");
}
}
var dish = cook( ingredients, recipe ); // all happens here
if( book.replaceTab ) {
dish = dish.replace( /\t/g, book.replaceTab );
}
if( book.replaceNewLine ) {
dish = dish.replace( /\n/g, book.replaceNewLine );
}
el.innerHTML = dish; //much faster than $el.html( dish );
//tried also the function replaceHtml from http://blog.stevenlevithan.com/archives/faster-than-innerhtml
//but it was not faster nor without sideffects (it was not possible to count spans into el)
//opera and safari select PRE text correctly
if( $.browser.msie || $.browser.mozilla ) {
enableSelectionHelper( el );
}
var $that = $el.parent();
var classes = $that.attr( 'class' );
var ln = /ln-(\d+)-([\w][\w\-]*)|ln-(\d+)|ln-/.exec( classes );
if( ln ) {
addLineNumbers( el );
var start = 0;
if( ln[1] ) {
start = parseInt( ln[1], 10 );
var $pieces = $( '.ln-' + ln[1] + '-' + ln[2] );
var pos = $pieces.index( $that[0] );
$pieces.slice( 0, pos ).each( function() {
start += $( this ).find( 'li' ).length;
} );
}
else if( ln[3] ) {
start = parseInt( ln[3], 10 );
}
else {
start = 1;
}
$el.find( 'ol' )[0].start = start;
$('body').width( $('body').width() - 1 ).width( $('body').width() + 1 );
}
else if( book.lineNumbers ) {
addLineNumbers( el );
}
} // makeDish
function enableSelectionHelper( el ) {
return false;
var element = null;
$( el )
.parents()
.filter( "pre" )
.bind( "mousedown", function() {
element = this;
if( $.browser.msie ) {
document.selection.empty();
}
else {
window.getSelection().removeAllRanges();
}
} )
.bind( "mouseup", function( event ) {
if( element && (element == this) ) {
element = null;
var selected = '';
if( $.browser.msie ) {
selected = document.selection.createRange().htmlText;
if( '' == selected ) {
return;
}
selected = preserveNewLines( selected );
var container_tag = '<textarea style="STYLE">';
}
else {
selected = window.getSelection().toString(); //opera doesn't select new lines
if( '' == selected ) {
return;
}
selected = selected
.replace( /\r/g, '' )
.replace( /^# ?/g, '' )
.replace( /\n# ?/g, '\n' )
;
var container_tag = '<pre style="STYLE">';
}
var $container = $( container_tag.replace( /\bSTYLE\b/, ChiliBook.selectionStyle ) )
.appendTo( 'body' )
.text( selected )
.attr( 'id', 'chili_selection' )
.click( function() { $(this).remove(); } )
;
var top = event.pageY - Math.round( $container.height() / 2 ) + "px";
var left = event.pageX - Math.round( $container.width() / 2 ) + "px";
$container.css( { top: top, left: left } );
if( $.browser.msie ) {
// window.clipboardData.setData( 'Text', selected ); //I couldn't find anything similar for Mozilla
$container[0].focus();
$container[0].select();
}
else {
var s = window.getSelection();
s.removeAllRanges();
var r = document.createRange();
r.selectNodeContents( $container[0] );
s.addRange( r );
}
}
} )
;
} // enableSelectionHelper
function getPath( recipeName ) {
return book.recipeFolder + recipeName + ".js";
} // getPath
function getSelectedText() {
var text = '';
if( $.browser.msie ) {
text = document.selection.createRange().htmlText;
}
else {
text = window.getSelection().toString();
}
return text;
} // getSelectedText
function preserveNewLines( html ) {
do {
var newline_flag = ChiliBook.unique();
}
while( html.indexOf( newline_flag ) > -1 );
var text = '';
if (/<br/i.test(html) || /<li/i.test(html)) {
if (/<br/i.test(html)) {
html = html.replace( /\<br[^>]*?\>/ig, newline_flag );
}
else if (/<li/i.test(html)) {
html = html.replace( /<ol[^>]*?>|<\/ol>|<li[^>]*?>/ig, '' ).replace( /<\/li>/ig, newline_flag );
}
var el = $( '<pre>' ).appendTo( 'body' ).hide()[0];
el.innerHTML = html;
text = $( el ).text().replace( new RegExp( newline_flag, "g" ), '\r\n' );
$( el ).remove();
}
return text;
} // preserveNewLines
function addLineNumbers( el ) {
function makeListItem1( not_last_line, not_last, last, open ) {
var close = open ? '</span>' : '';
var aux = '';
if( not_last_line ) {
aux = '<li>' + open + not_last + close + '</li>';
}
else if( last ) {
aux = '<li>' + open + last + close + '</li>';
}
return aux;
} // makeListItem1
function makeListItem2( not_last_line, not_last, last, prev_li ) {
var aux = '';
if( prev_li ) {
aux = prev_li;
}
else {
aux = makeListItem1( not_last_line, not_last, last, '' )
}
return aux;
} // makeListItem2
var html = $( el ).html();
var br = /<br>/.test(html) ? '<br>' : '<BR>';
var empty_line = '<li>' + book.replaceSpace + '</li>';
var list_items = html
//extract newlines at the beginning of a span
.replace( /(<span [^>]+>)((?:(?:&nbsp;|\xA0)<br>)+)(.*?)(<\/span>)/ig, '$2$1$3$4' ) // I don't know why <span .*?> does not work here
//transform newlines inside of a span
.replace( /(.*?)(<span .*?>)(.*?)(?:<\/span>(?:&nbsp;|\xA0)<br>|<\/span>)/ig, // but here it does
function( all, before, open, content ) {
if (/<br>/i.test(content)) {
var pieces = before.split( br );
var lastPiece = pieces.pop();
before = pieces.join( br );
var aux = (before ? before + br : '') //+ replace1( lastPiece + content, open );
+ (lastPiece + content).replace( /((.*?)(?:&nbsp;|\xA0)<br>)|(.*)/ig,
function( tmp, not_last_line, not_last, last ) {
var aux2 = makeListItem1( not_last_line, not_last, last, open );
return aux2;
}
);
return aux;
}
else {
return all;
}
}
)
//transform newlines outside of a span
.replace( /(<li>.*?<\/li>)|((.*?)(?:&nbsp;|\xA0)<br>)|(.+)/ig,
function( tmp, prev_li, not_last_line, not_last, last ) {
var aux2 = makeListItem2( not_last_line, not_last, last, prev_li );
return aux2;
}
)
//fix empty lines for Opera
.replace( /<li><\/li>/ig, empty_line )
;
el.innerHTML = '<ol>' + list_items + '</ol>';
} // addLineNumbers
function revealChars( tmp ) {
return $
.map( tmp.split(''),
function(n, i) {
return ' ' + n + ' ' + n.charCodeAt( 0 ) + ' ';
} )
.join(' ');
} // revealChars
//-----------------------------------------------------------------------------
// the coloring starts here
this
.each( function() {
var $this = $( this );
$this.trigger( 'chili.before_coloring' );
askDish( this );
$this.trigger( 'chili.after_coloring' );
} );
return this;
//-----------------------------------------------------------------------------
};
//main
$( function() {
if( ChiliBook.automatic ) {
$( ChiliBook.automaticSelector ).chili();
}
} );
} ) ( jQuery );

View File

@@ -0,0 +1,364 @@
/*
===============================================================================
Chili is the jQuery code highlighter plugin
...............................................................................
LICENSE: http://www.opensource.org/licenses/mit-license.php
WEBSITE: http://noteslog.com/chili/
Copyright 2008 / Andrea Ercolino
===============================================================================
*/
ChiliBook.recipeLoading = false;
ChiliBook.recipes[ "php.js" ] =
/* ----------------------------------------------------------------------------
* this recipe uses a little trick for highlighting php code
* 1: replace each php snippet with a placeholder
* 2: highlight html without php and php snippets apart
* 3: replace each placeholder with its highlighted php snippet
*
* the trick is not perfect only if the html without php is broken
* however, in such a case many highlighters get fooled but Chili does not
*
* ---
* this recipe has been adapted for working with Safari
* in fact, Safari cannot match more than 101236 characters with a lazy star
* --------------------------------------------------------------------------*/
{
_name: "php"
, _case: true
, _main: {
all: {
_match: /[\w\W]*/
, _replace: function( all ) {
var placeholder = String.fromCharCode(0);
var blocks = [];
var that = this;
var no_php_1 = all.replace( /<\?[^?]*\?+(?:[^>][^?]*\?+)*>/g, function( block ) {
blocks.push( that.x( block, '/block/php_1' ) );
return placeholder;
} );
var no_php_2 = no_php_1.replace( /^[^?]*\?+(?:[^>][^?]*\?+)*>|<\?[\w\W]*$/g, function( block ) {
blocks.push( that.x( block, '/block/php_2' ) );
return placeholder;
} );
if( blocks.length ) {
var html = this.x( no_php_2, 'html' );
var count = 0;
return html.replace( new RegExp( placeholder, "g" ), function() {
return blocks[ count++ ];
} );
}
else {
return this.x( all, '/php' );
}
}
}
}
, block: {
php_1: { // --- <? +++ ?> ---
_match: /(<\?(?:php\b)?)([^?]*\?+(?:[^>][^?]*\?+)*>)/
, _replace: function( all, open, content ) {
return "<span class='start'>" + this.x( open ) + "</span>"
+ this.x( content.replace( /\?>$/, '' ), '/php' )
+ "<span class='end'>" + this.x( '?>' ) + "</span>";
}
, _style: {
start: "color: red; font-weight: bold"
, end: "color: red;"
}
}
, php_2: { // +++ ?> --- <? +++
_match: /([^?]*\?+(?:[^>][^?]*\?+)*>)|(<\?(?:php\b)?)([\w\W]*)/
, _replace: function( all, content, open2, content2 ) {
if( open2 ) {
return "<span class='start'>" + this.x( open2 ) + "</span>"
+ this.x( content2, '/php' );
}
else {
return this.x( content.replace( /\?>$/, '' ), '/php' )
+ "<span class='end'>" + this.x( '?>' ) + "</span>";
}
}
, _style: {
start: "color: red; font-weight: bold"
, end: "color: red;"
}
}
}
, php: {
mlcom: {
_match: /\/\*[^*]*\*+([^\/][^*]*\*+)*\//
, _style: "color: gray;"
}
, com: {
_match: /(?:\/\/.*)|(?:[^\\]\#.*)/
, _style: "color: green;"
}
, string1: {
_match: /\'[^\'\\]*(?:\\.[^\'\\]*)*\'/
, _style: "color: purple;"
}
, string2: {
_match: /\"[^\"\\]*(?:\\.[^\"\\]*)*\"/
, _style: "color: fuchsia;"
}
, value: {
_match: /\b(?:[Nn][Uu][Ll][Ll]|[Tt][Rr][Uu][Ee]|[Ff][Aa][Ll][Ss][Ee])\b/
, _style: "color: gray; font-weight: bold;"
}
, number: {
_match: /\b[+-]?(\d*\.?\d+|\d+\.?\d*)([eE][+-]?\d+)?\b/
, _style: "color: red;"
}
, const1: {
_match: /\b(?:DEFAULT_INCLUDE_PATH|E_(?:ALL|CO(?:MPILE_(?:ERROR|WARNING)|RE_(?:ERROR|WARNING))|ERROR|NOTICE|PARSE|STRICT|USER_(?:ERROR|NOTICE|WARNING)|WARNING)|P(?:EAR_(?:EXTENSION_DIR|INSTALL_DIR)|HP_(?:BINDIR|CONFIG_FILE_(?:PATH|SCAN_DIR)|DATADIR|E(?:OL|XTENSION_DIR)|INT_(?:MAX|SIZE)|L(?:IBDIR|OCALSTATEDIR)|O(?:S|UTPUT_HANDLER_(?:CONT|END|START))|PREFIX|S(?:API|HLIB_SUFFIX|YSCONFDIR)|VERSION))|__COMPILER_HALT_OFFSET__)\b/
, _style: "color: red;"
}
, const2: {
_match: /\b(?:A(?:B(?:DAY_(?:1|2|3|4|5|6|7)|MON_(?:1(?:0|1|2|)|2|3|4|5|6|7|8|9))|LT_DIGITS|M_STR|SSERT_(?:ACTIVE|BAIL|CALLBACK|QUIET_EVAL|WARNING))|C(?:ASE_(?:LOWER|UPPER)|HAR_MAX|O(?:DESET|NNECTION_(?:ABORTED|NORMAL|TIMEOUT)|UNT_(?:NORMAL|RECURSIVE))|R(?:EDITS_(?:ALL|DOCS|FULLPAGE|G(?:ENERAL|ROUP)|MODULES|QA|SAPI)|NCYSTR|YPT_(?:BLOWFISH|EXT_DES|MD5|S(?:ALT_LENGTH|TD_DES)))|URRENCY_SYMBOL)|D(?:AY_(?:1|2|3|4|5|6|7)|ECIMAL_POINT|IRECTORY_SEPARATOR|_(?:FMT|T_FMT))|E(?:NT_(?:COMPAT|NOQUOTES|QUOTES)|RA(?:_(?:D_(?:FMT|T_FMT)|T_FMT|YEAR)|)|XTR_(?:IF_EXISTS|OVERWRITE|PREFIX_(?:ALL|I(?:F_EXISTS|NVALID)|SAME)|SKIP))|FRAC_DIGITS|GROUPING|HTML_(?:ENTITIES|SPECIALCHARS)|IN(?:FO_(?:ALL|C(?:ONFIGURATION|REDITS)|ENVIRONMENT|GENERAL|LICENSE|MODULES|VARIABLES)|I_(?:ALL|PERDIR|SYSTEM|USER)|T_(?:CURR_SYMBOL|FRAC_DIGITS))|L(?:C_(?:ALL|C(?:OLLATE|TYPE)|M(?:ESSAGES|ONETARY)|NUMERIC|TIME)|O(?:CK_(?:EX|NB|SH|UN)|G_(?:A(?:LERT|UTH(?:PRIV|))|C(?:ONS|R(?:IT|ON))|D(?:AEMON|EBUG)|E(?:MERG|RR)|INFO|KERN|L(?:OCAL(?:0|1|2|3|4|5|6|7)|PR)|MAIL|N(?:DELAY|EWS|O(?:TICE|WAIT))|ODELAY|P(?:ERROR|ID)|SYSLOG|U(?:SER|UCP)|WARNING)))|M(?:ON_(?:1(?:0|1|2|)|2|3|4|5|6|7|8|9|DECIMAL_POINT|GROUPING|THOUSANDS_SEP)|_(?:1_PI|2_(?:PI|SQRTPI)|E|L(?:N(?:10|2)|OG(?:10E|2E))|PI(?:_(?:2|4)|)|SQRT(?:1_2|2)))|N(?:EGATIVE_SIGN|O(?:EXPR|STR)|_(?:CS_PRECEDES|S(?:EP_BY_SPACE|IGN_POSN)))|P(?:ATH(?:INFO_(?:BASENAME|DIRNAME|EXTENSION)|_SEPARATOR)|M_STR|OSITIVE_SIGN|_(?:CS_PRECEDES|S(?:EP_BY_SPACE|IGN_POSN)))|RADIXCHAR|S(?:EEK_(?:CUR|END|SET)|ORT_(?:ASC|DESC|NUMERIC|REGULAR|STRING)|TR_PAD_(?:BOTH|LEFT|RIGHT))|T(?:HOUS(?:ANDS_SEP|EP)|_FMT(?:_AMPM|))|YES(?:EXPR|STR))\b/
, _style: "color: red;"
}
, global: {
_match: /(?:\$GLOBALS|\$_COOKIE|\$_ENV|\$_FILES|\$_GET|\$_POST|\$_REQUEST|\$_SERVER|\$_SESSION|\$php_errormsg)\b/
, _style: "color: red;"
}
, keyword: {
_match: /\b(?:__CLASS__|__FILE__|__FUNCTION__|__LINE__|__METHOD__|abstract|and|array|as|break|case|catch|cfunction|class|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|eval|exception|exit|extends|extends|final|for|foreach|function|global|if|implements|include|include_once|interface|isset|list|new|old_function|or|php_user_filter|print|private|protected|public|require|require_once|return|static|switch|this|throw|try|unset|use|var|while|xor)\b/
, _style: "color: navy; font-weight: bold;"
}
, variable: {
_match: /\$(\w+)/
, _replace: '<span class="keyword">$</span><span class="variable">$1</span>'
, _style: "color: #4040c2;"
}
, heredoc: {
_match: /(\<\<\<\s*)(\w+)((?:(?!\2).*\n)+)(\2)\b/
, _replace: '<span class="keyword">$1</span><span class="string1">$2</span><span class="string2">$3</span><span class="string1">$4</span>'
}
}
}
ChiliBook.recipes[ "html.js" ] =
{
_name: 'html'
, _case: false
, _main: {
doctype: {
_match: /<!DOCTYPE\b[\w\W]*?>/
, _style: "color: #CC6600;"
}
, ie_style: {
_match: /(<!--\[[^\]]*\]>)([\w\W]*?)(<!\[[^\]]*\]-->)/
, _replace: function( all, open, content, close ) {
return "<span class='ie_style'>" + this.x( open ) + "</span>"
+ this.x( content, '//style' )
+ "<span class='ie_style'>" + this.x( close ) + "</span>";
}
, _style: "color: DarkSlateGray; font-weight: bold;"
}
, comment: {
_match: /<!--[\w\W]*?-->/
, _style: "color: #777; font-style: italic;"
}
, script: {
_match: /(<script\s+[^>]*>)([\w\W]*?)(<\/script\s*>)/
, _replace: function( all, open, content, close ) {
return this.x( open, '//tag_start' )
+ this.x( content, 'js' )
+ this.x( close, '//tag_end' );
}
}
, style: {
_match: /(<style\s+[^>]*>)([\w\W]*?)(<\/style\s*>)/
, _replace: function( all, open, content, close ) {
return this.x( open, '//tag_start' )
+ this.x( content, 'css' )
+ this.x( close, '//tag_end' );
}
}
// matches a starting tag of an element (with attrs)
// like "<div ... >" or "<img ... />"
, tag_start: {
_match: /(<\w+)((?:[?%]>|[\w\W])*?)(\/>|>)/
, _replace: function( all, open, content, close ) {
return "<span class='tag_start'>" + this.x( open ) + "</span>"
+ this.x( content, '/tag_attrs' )
+ "<span class='tag_start'>" + this.x( close ) + "</span>";
}
, _style: "color: #207cca;"
}
// matches an ending tag
// like "</div>"
, tag_end: {
_match: /<\/\w+\s*>|\/>/
, _style: "color: #207cca;"
}
, entity: {
_match: /&\w+?;/
, _style: "color: blue;"
}
}
, tag_attrs: {
// matches a name/value pair
attr: {
// before in $1, name in $2, between in $3, value in $4
_match: /(\W*?)([\w-]+)(\s*=\s*)((?:\'[^\']*(?:\\.[^\']*)*\')|(?:\"[^\"]*(?:\\.[^\"]*)*\"))/
, _replace: "$1<span class='attr_name'>$2</span>$3<span class='attr_value'>$4</span>"
, _style: { attr_name: "color: #AA6F5A;", attr_value: "color: #8FB262;" }
}
}
};
ChiliBook.recipes[ "js.js" ] =
{
_name: 'js'
, _case: true
, _main: {
ml_comment: {
_match: /\/\*[^*]*\*+(?:[^\/][^*]*\*+)*\//
, _style: 'color: gray;'
}
, sl_comment: {
_match: /\/\/.*/
, _style: 'color: #aaa;'
}
, string: {
_match: /(?:\'[^\'\\\n]*(?:\\.[^\'\\\n]*)*\')|(?:\"[^\"\\\n]*(?:\\.[^\"\\\n]*)*\")/
, _style: 'color: #8FB262;'
}
, num: {
_match: /\b[+-]?(?:\d*\.?\d+|\d+\.?\d*)(?:[eE][+-]?\d+)?\b/
, _style: 'color: #207cca;'
}
, reg_not: { //this prevents "a / b / c" to be interpreted as a reg_exp
_match: /(?:\w+\s*)\/[^\/\\\n]*(?:\\.[^\/\\\n]*)*\/[gim]*(?:\s*\w+)/
, _replace: function( all ) {
return this.x( all, '//num' );
}
}
, reg_exp: {
_match: /\/[^\/\\\n]*(?:\\.[^\/\\\n]*)*\/[gim]*/
, _style: 'color: maroon;'
}
, brace: {
_match: /[\{\}]/
, _style: 'color: #777; font-weight: bold;'
}
, statement: {
_match: /\b(with|while|var|try|throw|switch|return|if|for|finally|else|do|default|continue|const|catch|case|break)\b/
, _style: 'color: navy; font-weight: bold;'
}
, error: {
_match: /\b(URIError|TypeError|SyntaxError|ReferenceError|RangeError|EvalError|Error)\b/
, _style: 'color: Coral;'
}
, object: {
_match: /\b(String|RegExp|Object|Number|Math|Function|Date|Boolean|Array)\b/
, _style: 'color: DeepPink;'
}
, property: {
_match: /\b(undefined|arguments|NaN|Infinity)\b/
, _style: 'color: Purple; font-weight: bold;'
}
, 'function': {
_match: /\b(parseInt|parseFloat|isNaN|isFinite|eval|encodeURIComponent|encodeURI|decodeURIComponent|decodeURI)\b/
, _style: 'color: olive;'
}
, operator: {
_match: /\b(void|typeof|this|new|instanceof|in|function|delete)\b/
, _style: 'color: RoyalBlue; font-weight: bold;'
}
, liveconnect: {
_match: /\b(sun|netscape|java|Packages|JavaPackage|JavaObject|JavaClass|JavaArray|JSObject|JSException)\b/
, _style: 'text-decoration: overline;'
}
}
};
ChiliBook.recipes[ "css.js" ] =
{
_name: 'css'
, _case: true
, _main: {
comment: {
_match: /\/\*[^*]*\*+(?:[^\/][^*]*\*+)*\//
, _style: "color: olive;"
}
, directive: {
_match: /@\w+/
, _style: "color: fuchsia;"
}
, url: {
_match: /\b(url\s*\()([^)]+)(\))/
, _replace: "<span class='url'>$1</span>$2<span class='url'>$3</span>"
, _style: "color: fuchsia;"
}
, block: {
_match: /\{([\w\W]*?)\}/
, _replace: function( all, pairs ) {
return '{' + this.x( pairs, '/definition' ) + '}';
}
}
, 'class': {
_match: /\.\w+/
, _style: "color: #CC0066; font-weight: bold;"
}
, id: {
_match: /#\w+/
, _style: "color: IndianRed; font-weight: bold;"
}
, pseudo: {
_match: /:\w+/
, _style: "color: #CC9900;"
}
, element: {
_match: /\w+/
, _style: "color: Purple; font-weight: bold;"
}
}
, definition: {
comment: {
_match: /\/\*[^*]*\*+(?:[^\/][^*]*\*+)*\//
}
, property: {
_match: /\b(?:zoom|z-index|writing-mode|word-wrap|word-spacing|word-break|width|widows|white-space|volume|voice-family|visibility|vertical-align|unicode-bidi|top|text-underline-position|text-transform|text-shadow|text-overflow|text-kashida-space|text-justify|text-indent|text-decoration|text-autospace|text-align-last|text-align|table-layout|stress|speech-rate|speak-punctuation|speak-numeral|speak-header|speak|size|scrollbar-track-color|scrollbar-shadow-color|scrollbar-highlight-color|scrollbar-face-color|scrollbar-dark-shadow-color|scrollbar-base-color|scrollbar-arrow-color|scrollbar-3d-light-color|ruby-position|ruby-overhang|ruby-align|right|richness|quotes|position|play-during|pitch-range|pitch|pause-before|pause-after|pause|page-break-inside|page-break-before|page-break-after|page|padding-top|padding-right|padding-left|padding-bottom|padding|overflow-Y|overflow-X|overflow|outline-width|outline-style|outline-color|outline|orphans|min-width|min-height|max-width|max-height|marks|marker-offset|margin-top|margin-right|margin-left|margin-bottom|margin|list-style-type|list-style-position|list-style-image|list-style|line-height|line-break|letter-spacing|left|layout-grid-type|layout-grid-mode|layout-grid-line|layout-grid-char-spacing|layout-grid-char|layout-grid|layout-flow|layer-background-image|layer-background-color|include-source|ime-mode|height|font-weight|font-variant|font-style|font-stretch|font-size-adjust|font-size|font-family|font|float|filter|empty-cells|elevation|display|direction|cursor|cue-before|cue-after|cue|counter-reset|counter-increment|content|color|clip|clear|caption-side|bottom|border-width|border-top-width|border-top-style|border-top-color|border-top|border-style|border-spacing|border-right-width|border-right-style|border-right-color|border-right|border-left-width|border-left-style|border-left-color|border-left|border-color|border-collapse|border-bottom-width|border-bottom-style|border-bottom-color|border-bottom|border|behavior|background-repeat|background-position-y|background-position-x|background-position|background-image|background-color|background-attachment|background|azimuth|accelerator)\s*:/
, _style: "color: #330066;"
}
, special: {
_match: /\b(?:-use-link-source|-set-link-source|-replace|-moz-user-select|-moz-user-modify|-moz-user-input|-moz-user-focus|-moz-outline-width|-moz-outline-style|-moz-outline-color|-moz-outline|-moz-opacity|-moz-border-top-colors|-moz-border-right-colors|-moz-border-radius-topright|-moz-border-radius-topleft|-moz-border-radius-bottomright|-moz-border-radius-bottomleft|-moz-border-radius|-moz-border-left-colors|-moz-border-bottom-colors|-moz-binding)\s*:/
, _style: "color: #330066; text-decoration: underline;"
}
, url: {
_match: /\b(url\s*\()([^)]+)(\))/
, _replace: "<span class='url'>$1</span>$2<span class='url'>$3</span>"
}
, value: {
_match: /\b(?:xx-small|xx-large|x-soft|x-small|x-slow|x-low|x-loud|x-large|x-high|x-fast|wider|wait|w-resize|visible|url|uppercase|upper-roman|upper-latin|upper-alpha|underline|ultra-expanded|ultra-condensed|tv|tty|transparent|top|thin|thick|text-top|text-bottom|table-row-group|table-row|table-header-group|table-footer-group|table-column-group|table-column|table-cell|table-caption|sw-resize|super|sub|status-bar|static|square|spell-out|speech|solid|soft|smaller|small-caption|small-caps|small|slower|slow|silent|show|separate|semi-expanded|semi-condensed|se-resize|scroll|screen|s-resize|run-in|rtl|rightwards|right-side|right|ridge|rgb|repeat-y|repeat-x|repeat|relative|projection|print|pre|portrait|pointer|overline|outside|outset|open-quote|once|oblique|nw-resize|nowrap|normal|none|no-repeat|no-open-quote|no-close-quote|ne-resize|narrower|n-resize|move|mix|middle|message-box|medium|marker|ltr|lowercase|lower-roman|lower-latin|lower-greek|lower-alpha|lower|low|loud|local|list-item|line-through|lighter|level|leftwards|left-side|left|larger|large|landscape|justify|italic|invert|inside|inset|inline-table|inline|icon|higher|high|hide|hidden|help|hebrew|handheld|groove|format|fixed|faster|fast|far-right|far-left|fantasy|extra-expanded|extra-condensed|expanded|embossed|embed|e-resize|double|dotted|disc|digits|default|decimal-leading-zero|decimal|dashed|cursive|crosshair|cross|crop|counters|counter|continuous|condensed|compact|collapse|code|close-quote|circle|center-right|center-left|center|caption|capitalize|braille|bottom|both|bolder|bold|block|blink|bidi-override|below|behind|baseline|avoid|auto|aural|attr|armenian|always|all|absolute|above)\b/
, _style: "color: #3366FF;"
}
, string: {
_match: /(?:\'[^\'\\\n]*(?:\\.[^\'\\\n]*)*\')|(?:\"[^\"\\\n]*(?:\\.[^\"\\\n]*)*\")/
, _style: "color: teal;"
}
, number: {
_match: /(?:\b[+-]?(?:\d*\.?\d+|\d+\.?\d*))(?:%|(?:(?:px|pt|em|)\b))/
, _style: "color: red;"
}
, color : {
_match: /(?:\#[a-fA-F0-9]{3,6})|\b(?:yellow|white|teal|silver|red|purple|olive|navy|maroon|lime|green|gray|fuchsia|blue|black|aqua|YellowGreen|Yellow|WhiteSmoke|White|Wheat|Violet|Turquoise|Tomato|Thistle|Teal|Tan|SteelBlue|SpringGreen|Snow|SlateGrey|SlateGray|SlateBlue|SkyBlue|Silver|Sienna|SeaShell|SeaGreen|SandyBrown|Salmon|SaddleBrown|RoyalBlue|RosyBrown|Red|Purple|PowderBlue|Plum|Pink|Peru|PeachPuff|PapayaWhip|PaleVioletRed|PaleTurquoise|PaleGreen|PaleGoldenRod|Orchid|OrangeRed|Orange|OliveDrab|Olive|OldLace|Navy|NavajoWhite|Moccasin|MistyRose|MintCream|MidnightBlue|MediumVioletRed|MediumTurquoise|MediumSpringGreen|MediumSlateBlue|MediumSeaGreen|MediumPurple|MediumOrchid|MediumBlue|MediumAquaMarine|Maroon|Magenta|Linen|LimeGreen|Lime|LightYellow|LightSteelBlue|LightSlateGrey|LightSlateGray|LightSkyBlue|LightSeaGreen|LightSalmon|LightPink|LightGrey|LightGreen|LightGray|LightGoldenRodYellow|LightCyan|LightCoral|LightBlue|LemonChiffon|LawnGreen|LavenderBlush|Lavender|Khaki|Ivory|Indigo|IndianRed|HotPink|HoneyDew|Grey|GreenYellow|Green|Gray|GoldenRod|Gold|GhostWhite|Gainsboro|Fuchsia|ForestGreen|FloralWhite|FireBrick|DodgerBlue|DimGrey|DimGray|DeepSkyBlue|DeepPink|Darkorange|DarkViolet|DarkTurquoise|DarkSlateGrey|DarkSlateGray|DarkSlateBlue|DarkSeaGreen|DarkSalmon|DarkRed|DarkOrchid|DarkOliveGreen|DarkMagenta|DarkKhaki|DarkGrey|DarkGreen|DarkGray|DarkGoldenRod|DarkCyan|DarkBlue|Cyan|Crimson|Cornsilk|CornflowerBlue|Coral|Chocolate|Chartreuse|CadetBlue|BurlyWood|Brown|BlueViolet|Blue|BlanchedAlmond|Black|Bisque|Beige|Azure|Aquamarine|Aqua|AntiqueWhite|AliceBlue)\b/
, _style: "color: green;"
}
}
};