forked from Botanical/BotanJS
New site for generating "tgckpg.github.io"
This commit is contained in:
parent
b816d0cd57
commit
ebe1745429
12
botanjs/src/Astro/Penguin/Element/Footer.css
Normal file
12
botanjs/src/Astro/Penguin/Element/Footer.css
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
footer {
|
||||||
|
background-color: #001;
|
||||||
|
background-image: url(/assets/layout-images/lines.png);
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-position: right bottom;
|
||||||
|
}
|
||||||
|
|
||||||
|
#fhorizon {
|
||||||
|
position: absolute;
|
||||||
|
top: -7px;
|
||||||
|
}
|
||||||
|
|
2
botanjs/src/Astro/Penguin/Element/Footer.js
Normal file
2
botanjs/src/Astro/Penguin/Element/Footer.js
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
// __namespace( "Astro.Penguin.Element.Footer" );
|
||||||
|
// __import( "Astro.Common.Element.Footer" );
|
60
botanjs/src/Astro/Penguin/Element/Header.css
Normal file
60
botanjs/src/Astro/Penguin/Element/Header.css
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
.home {
|
||||||
|
position: relative;
|
||||||
|
width: 100%;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
header {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
#menu {
|
||||||
|
font-size: 1.75em;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
#menu > * {
|
||||||
|
font-family: custom-sans;
|
||||||
|
cursor: pointer;
|
||||||
|
line-height: 1em !important;
|
||||||
|
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
color: rgba( 0, 0, 0, 0.5 );
|
||||||
|
-webkit-filter: blur( 2px );
|
||||||
|
filter: blur( 2px );
|
||||||
|
}
|
||||||
|
|
||||||
|
#menu > *[data-active] {
|
||||||
|
-webkit-filter: blur( 0px );
|
||||||
|
filter: blur( 0px );
|
||||||
|
color: navy;
|
||||||
|
}
|
||||||
|
|
||||||
|
#menu > *:hover {
|
||||||
|
color: rgba( 0, 0, 0, 0.75 );
|
||||||
|
-webkit-filter: blur( 0px );
|
||||||
|
filter: blur( 0px );
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.horizon {
|
||||||
|
position: relative;
|
||||||
|
width: 100%;
|
||||||
|
height: 7px;
|
||||||
|
background: #76400C;
|
||||||
|
z-index: 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
.c-sep {
|
||||||
|
display: inline-block;
|
||||||
|
width: 1px;
|
||||||
|
margin: 0 2em;
|
||||||
|
}
|
||||||
|
.c-sep:after {
|
||||||
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
height: 100%;
|
||||||
|
border-left: 1px solid black;
|
||||||
|
top: 0;
|
||||||
|
}
|
1
botanjs/src/Astro/Penguin/Element/Header.js
Normal file
1
botanjs/src/Astro/Penguin/Element/Header.js
Normal file
@ -0,0 +1 @@
|
|||||||
|
// __namespace( "Astro.Penguin.Element.Header" );
|
2
botanjs/src/Astro/Penguin/Element/Layer.css
Normal file
2
botanjs/src/Astro/Penguin/Element/Layer.css
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
.mbody { z-index: 1; }
|
||||||
|
header, footer { z-index: 2; }
|
1
botanjs/src/Astro/Penguin/Element/Layer.js
Normal file
1
botanjs/src/Astro/Penguin/Element/Layer.js
Normal file
@ -0,0 +1 @@
|
|||||||
|
// __namespace( "Astro.Penguin.Element.Layer" );
|
105
botanjs/src/Astro/Penguin/Layout/MainFrame.css
Normal file
105
botanjs/src/Astro/Penguin/Layout/MainFrame.css
Normal file
@ -0,0 +1,105 @@
|
|||||||
|
html, body { height: 100%; }
|
||||||
|
|
||||||
|
html { background-color: #222; }
|
||||||
|
|
||||||
|
body {
|
||||||
|
background-color: #F0F0F0;
|
||||||
|
font-family: custom-sans,Helvetica,Arial,STHeiti,"Microsoft JhengHei","微軟正黑體";
|
||||||
|
}
|
||||||
|
|
||||||
|
pre { font-family: monospace; }
|
||||||
|
|
||||||
|
::selection {
|
||||||
|
color: white;
|
||||||
|
background: navy;
|
||||||
|
}
|
||||||
|
::-moz-selection {
|
||||||
|
color: white;
|
||||||
|
background: navy;
|
||||||
|
}
|
||||||
|
|
||||||
|
p { padding: 0.25em 0.5em; }
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: #333;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
textarea {
|
||||||
|
font-family: monospace;
|
||||||
|
}
|
||||||
|
|
||||||
|
sup { vertical-align: super; }
|
||||||
|
|
||||||
|
a:hover { text-decoration: underline; }
|
||||||
|
|
||||||
|
.clearfix {
|
||||||
|
clear: both;
|
||||||
|
padding: 0 !important;
|
||||||
|
margin: 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.begin-wrapper {
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
min-height: 100%;
|
||||||
|
background-color: #EBEAEF;
|
||||||
|
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mbody {
|
||||||
|
position: relative;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-column {
|
||||||
|
width: 85%;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.right { text-align: right; }
|
||||||
|
.panel { padding: 0.5em 1.2em 1.2em 1.2em; }
|
||||||
|
|
||||||
|
/* transition properties */
|
||||||
|
div#header, div#mbody, div#contact, div#horizon {
|
||||||
|
|
||||||
|
-webkit-transition: all 500ms cubic-bezier(0.770, 0.000, 0.175, 1.000);
|
||||||
|
-moz-transition: all 500ms cubic-bezier(0.770, 0.000, 0.175, 1.000);
|
||||||
|
-ms-transition: all 500ms cubic-bezier(0.770, 0.000, 0.175, 1.000);
|
||||||
|
-o-transition: all 500ms cubic-bezier(0.770, 0.000, 0.175, 1.000);
|
||||||
|
transition: all 500ms cubic-bezier(0.770, 0.000, 0.175, 1.000); /* easeInOutQuart */
|
||||||
|
|
||||||
|
-webkit-transition-timing-function: cubic-bezier(0.770, 0.000, 0.175, 1.000);
|
||||||
|
-moz-transition-timing-function: cubic-bezier(0.770, 0.000, 0.175, 1.000);
|
||||||
|
-ms-transition-timing-function: cubic-bezier(0.770, 0.000, 0.175, 1.000);
|
||||||
|
-o-transition-timing-function: cubic-bezier(0.770, 0.000, 0.175, 1.000);
|
||||||
|
transition-timing-function: cubic-bezier(0.770, 0.000, 0.175, 1.000); /* easeInOutQuart */
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes spin {
|
||||||
|
0% { transform: rotate( 0deg ); }
|
||||||
|
25% { transform: rotate( 90deg ); }
|
||||||
|
50% { transform: rotate( 180deg ); }
|
||||||
|
75% { transform: rotate( 270deg ); }
|
||||||
|
100% { transform: rotate( 360deg ); }
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes aspin {
|
||||||
|
0% { transform: rotate( 0deg ); }
|
||||||
|
25% { transform: rotate( -90deg ); }
|
||||||
|
50% { transform: rotate( -180deg ); }
|
||||||
|
75% { transform: rotate( -270deg ); }
|
||||||
|
100% { transform: rotate( -360deg ); }
|
||||||
|
}
|
||||||
|
|
||||||
|
.spin {
|
||||||
|
animation-duration: 60s;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
animation-name: aspin;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cw { animation-name: spin; }
|
||||||
|
|
||||||
|
/* end transition properties */
|
140
botanjs/src/Astro/Penguin/Layout/MainFrame.js
Normal file
140
botanjs/src/Astro/Penguin/Layout/MainFrame.js
Normal file
@ -0,0 +1,140 @@
|
|||||||
|
(function(){
|
||||||
|
var ns = __namespace( "Astro.Penguin.Layout.MainFrame" );
|
||||||
|
|
||||||
|
/** @type {System.Cycle} */
|
||||||
|
var Cycle = __import( "System.Cycle" );
|
||||||
|
/** @type {System.Cycle.Trigger} */
|
||||||
|
var Trigger = __import( "System.Cycle.Trigger" );
|
||||||
|
/** @type {System.utils.IKey} */
|
||||||
|
var IKey = __import( "System.utils.IKey" );
|
||||||
|
/** @type {System.utils.DataKey} */
|
||||||
|
var DataKey = __import( "System.utils.DataKey" );
|
||||||
|
/** @type {Dandelion} */
|
||||||
|
var Dand = __import( "Dandelion" );
|
||||||
|
/** @type {Dandelion.IDOMObject} */
|
||||||
|
var IDOMObject = __import( "Dandelion.IDOMObject" );
|
||||||
|
/** @type {Dandelion.IDOMElement} */
|
||||||
|
var IDOMElement = __import( "Dandelion.IDOMElement" );
|
||||||
|
/** @type {Dandelion.Window} */
|
||||||
|
var wsupp = __import( "Dandelion.Window" );
|
||||||
|
/** @type {System.Debug} */
|
||||||
|
var debug = __import( "System.Debug" );
|
||||||
|
/** @type {Astro.Bootstrap} */
|
||||||
|
var Bootstrap = __import( "Astro.Bootstrap" );
|
||||||
|
|
||||||
|
// __import( "Dandelion.CSSReset" ); CSS_RESERVATION
|
||||||
|
// __import( "Dandelion.CSSAnimations" ); CSS_RESERVATION
|
||||||
|
// __import( "Astro.Blog.SharedStyle" ); CSS_RESERVATION
|
||||||
|
// __import( "Astro.Blog.Element.Layer" ); CSS_RESERVATION
|
||||||
|
|
||||||
|
var main;
|
||||||
|
var header;
|
||||||
|
var main_h;
|
||||||
|
|
||||||
|
// menu and horizon
|
||||||
|
var horizon;
|
||||||
|
var contaht_page;
|
||||||
|
var collapse_panel;
|
||||||
|
var c_expand = false;
|
||||||
|
var savedPath;
|
||||||
|
|
||||||
|
var init = function ()
|
||||||
|
{
|
||||||
|
// Footer at bottom
|
||||||
|
var padder = Dand.wrap();
|
||||||
|
var begin_wrapper = Dand.id( "begin-wrapper" );
|
||||||
|
var content_wrapper = Dand.id( "mbody" );
|
||||||
|
var footer = Dand.tag( "footer" );
|
||||||
|
var fhorizon = Dand.id( "fhorizon" );
|
||||||
|
|
||||||
|
if( footer.length )
|
||||||
|
{
|
||||||
|
footer = footer[0];
|
||||||
|
var fheight = footer.scrollHeight || footer.offsetHeight;
|
||||||
|
var hheight = fhorizon.scrollHeight || fhorizon.offsetHeight;
|
||||||
|
|
||||||
|
padder.style.height = ( fheight + hheight ) + "px";
|
||||||
|
begin_wrapper.style.marginBottom = "-" + fheight + "px";
|
||||||
|
}
|
||||||
|
|
||||||
|
content_wrapper.appendChild( padder );
|
||||||
|
|
||||||
|
IDOMObject( window ).addEventListener( "Resize", responsify );
|
||||||
|
|
||||||
|
initTopButton();
|
||||||
|
navControl();
|
||||||
|
responsify( null, true );
|
||||||
|
};
|
||||||
|
|
||||||
|
var topButtons = [];
|
||||||
|
var initTopButton = function()
|
||||||
|
{
|
||||||
|
// init params
|
||||||
|
header = Dand.id( "header" );
|
||||||
|
horizon = Dand.id( "horizon" );
|
||||||
|
main = Dand.id( "mbody" );
|
||||||
|
|
||||||
|
collapse_panel = Dand.id( "collapse_panel" );
|
||||||
|
|
||||||
|
horizon.style.backgroundColor
|
||||||
|
= fhorizon.style.backgroundColor
|
||||||
|
= "navy";
|
||||||
|
|
||||||
|
Dand.id( "menu", true ).foreach(
|
||||||
|
1, function( e )
|
||||||
|
{
|
||||||
|
e = IDOMElement( e );
|
||||||
|
topButtons.push( e );
|
||||||
|
if( e.getDAttribute( "active" ) !== null )
|
||||||
|
{
|
||||||
|
e.setAttribute( new DataKey( "master", true ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
var navControl = function ()
|
||||||
|
{
|
||||||
|
// Page control
|
||||||
|
/** @type {Dandelion.IDOMElement} */
|
||||||
|
var page_control = Dand.id( "top_control", true );
|
||||||
|
var bottom_control = Dand.id( "bottom_control" );
|
||||||
|
|
||||||
|
if ( page_control && bottom_control )
|
||||||
|
{
|
||||||
|
var appendp = function( elem, self )
|
||||||
|
{
|
||||||
|
var clone = elem.cloneNode( true );
|
||||||
|
if( clone.className == "p_navigation" )
|
||||||
|
{
|
||||||
|
IDOMElement( clone ).reverseChild();
|
||||||
|
}
|
||||||
|
bottom_control.appendChild( clone );
|
||||||
|
return true;
|
||||||
|
};
|
||||||
|
|
||||||
|
page_control.last( document.ELEMENT_NODE, appendp );
|
||||||
|
page_control.first( document.ELEMENT_NODE, appendp );
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
/** @type {Dandelion.IDOMElement} */
|
||||||
|
var rspd_ratio = 0;
|
||||||
|
var responsify = function( e, override )
|
||||||
|
{
|
||||||
|
// Ratio changes would trigger content
|
||||||
|
var ratio = wsupp.clientWidth / wsupp.clientHeight;
|
||||||
|
|
||||||
|
// Swap only on ration changes from 1 < x OR x < 1
|
||||||
|
if( ( ratio < 1.2 && 1.2 < rspd_ratio ) || ( 1.2 < ratio && rspd_ratio < 1.2 ) || override )
|
||||||
|
{
|
||||||
|
rspd_ratio = ratio;
|
||||||
|
debug.Info( "Responsive Event: R = " + ratio );
|
||||||
|
|
||||||
|
BotanJS.dispatchEvent( new BotanEvent( "Responsive", { "ratio": ratio } ) );
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
Bootstrap.regInit( init );
|
||||||
|
})();
|
8
botanjs/src/Astro/Penguin/Page/_this.css
Normal file
8
botanjs/src/Astro/Penguin/Page/_this.css
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
.panel {
|
||||||
|
padding: 0.5em 2em;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
ol {
|
||||||
|
padding: 0 2em;
|
||||||
|
}
|
2
botanjs/src/Astro/Penguin/Page/_this.js
Normal file
2
botanjs/src/Astro/Penguin/Page/_this.js
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
// __namespace( "Astro.Penguin.Page" );
|
||||||
|
// __import( "Astro.Penguin.Layout.MainFrame" );
|
Loading…
Reference in New Issue
Block a user