forked from Botanical/BotanJS
Various bug fix due to CSP headers
SiteLibrary added name display on album view Optimizations & removed some obsolete files
This commit is contained in:
parent
3b4ba29b6e
commit
b0ecbe42c3
@ -8,7 +8,7 @@ DEBUG = os.getenv( "DEBUG" )
|
|||||||
if DEBUG is None:
|
if DEBUG is None:
|
||||||
DEBUG = Config[ "Env" ][ "Debug" ]
|
DEBUG = Config[ "Env" ][ "Debug" ]
|
||||||
else:
|
else:
|
||||||
Config[ "Env" ][ "Debug" ] = DEBUG
|
Config[ "Env" ][ "Debug" ] = str( DEBUG == "1" )
|
||||||
|
|
||||||
REDIS_CONN = os.getenv( "REDIS_CONN" )
|
REDIS_CONN = os.getenv( "REDIS_CONN" )
|
||||||
if not REDIS_CONN is None:
|
if not REDIS_CONN is None:
|
||||||
|
@ -146,14 +146,55 @@
|
|||||||
.canvasImage > span {
|
.canvasImage > span {
|
||||||
width: 100px;
|
width: 100px;
|
||||||
height: 100px;
|
height: 100px;
|
||||||
float: left;
|
|
||||||
margin: 0.2em;
|
margin: 0.2em;
|
||||||
|
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
background-position: center;
|
background-position: center;
|
||||||
|
|
||||||
border: 1px solid transparent;
|
border: 1px solid transparent;
|
||||||
|
display: inline-block;
|
||||||
|
vertical-align: middle;
|
||||||
|
|
||||||
|
position: relative;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.canvasImage > span:before {
|
||||||
|
content: '';
|
||||||
|
display: inline-block;
|
||||||
|
height: 100%;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
|
||||||
|
.canvasImage > span img {
|
||||||
|
vertical-align: middle;
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.canvasImage > span:after {
|
||||||
|
content: attr(data-title);
|
||||||
|
background-color: rgba(0,0,0,0.6);
|
||||||
|
color: white;
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
bottom: -2em;
|
||||||
|
font-size: 0.8em;
|
||||||
|
width: 100%;
|
||||||
|
padding-left: 0.5em;
|
||||||
|
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
|
||||||
|
-webkit-transition: all .25s ease-out;
|
||||||
|
-moz-transition: all .25s ease-out;
|
||||||
|
-o-transition: all .25s ease-out;
|
||||||
|
transition: all .25s ease-out;
|
||||||
|
}
|
||||||
|
|
||||||
|
.canvasImage > span:hover:after {
|
||||||
|
bottom: 0%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.canvasImage > span[selected] {
|
.canvasImage > span[selected] {
|
||||||
|
@ -145,10 +145,10 @@
|
|||||||
|
|
||||||
////// Album item
|
////// Album item
|
||||||
? Dand.wrap(
|
? Dand.wrap(
|
||||||
"span", "img_" + Perf.uuid, "ci_album", Dand.wrap("span")
|
"span", "img_" + Perf.uuid, "ci_album"
|
||||||
|
, Dand.wrapna( "img", new IKey( "src", basePath + "image/s100/" + file.hash + ".jpg" ) )
|
||||||
, [
|
, [
|
||||||
new IKey("style", "background-image: url(" + basePath + "image/s100/" + file.hash + ".jpg);" )
|
new IKey("title"
|
||||||
, new IKey("title"
|
|
||||||
, "Album: " + file.name
|
, "Album: " + file.name
|
||||||
+ "\n" + file.cCount + " file(s)"
|
+ "\n" + file.cCount + " file(s)"
|
||||||
+ "\nDate: " + prettyDate( new Date( file.date_created ), true )
|
+ "\nDate: " + prettyDate( new Date( file.date_created ), true )
|
||||||
@ -159,10 +159,10 @@
|
|||||||
)
|
)
|
||||||
//////// Normal filele
|
//////// Normal filele
|
||||||
: Dand.wrap(
|
: Dand.wrap(
|
||||||
"span", "img_" + Perf.uuid, null, Dand.wrap( "span" )
|
"span", "img_" + Perf.uuid, null
|
||||||
|
, Dand.wrapna( "img", new IKey( "src", basePath + "image/s100/" + file.hash + ".jpg" ) )
|
||||||
, [
|
, [
|
||||||
new IKey("style", "background-image: url(" + basePath + "image/s100/" + file.hash + ".jpg);" )
|
new IKey("title"
|
||||||
, new IKey("title"
|
|
||||||
, "File: " + file.name
|
, "File: " + file.name
|
||||||
+ "\nDate: " + prettyDate( new Date( file.date_created ), true )
|
+ "\nDate: " + prettyDate( new Date( file.date_created ), true )
|
||||||
+ "\nCreated by: " + file.author
|
+ "\nCreated by: " + file.author
|
||||||
|
@ -0,0 +1,5 @@
|
|||||||
|
.v_boundary[data-type="AcquireLib"] > span {
|
||||||
|
background-color: #444;
|
||||||
|
color: white;
|
||||||
|
padding: 0.2em 0.5em;
|
||||||
|
}
|
@ -54,12 +54,7 @@
|
|||||||
temp = Dand.wrap(
|
temp = Dand.wrap(
|
||||||
'span', null, "flsf"
|
'span', null, "flsf"
|
||||||
, "AcquireLib: " + src
|
, "AcquireLib: " + src
|
||||||
, [
|
, [ new DataKey( "value", src ) ]
|
||||||
new DataKey( "value", src )
|
|
||||||
, new IKey(
|
|
||||||
"style", "background-color: #444; color: white; padding: 0.2em 0.5em;"
|
|
||||||
)
|
|
||||||
]
|
|
||||||
);
|
);
|
||||||
insertSnippet(j = snippetWrap("AcquireLib", temp, false, 'span'), Boolean(override));
|
insertSnippet(j = snippetWrap("AcquireLib", temp, false, 'span'), Boolean(override));
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,5 @@
|
|||||||
|
.v_boundary[data-type="Meta"] > span {
|
||||||
|
background-color: #444;
|
||||||
|
color: white;
|
||||||
|
padding: 0.2em 0.5em;
|
||||||
|
}
|
@ -53,12 +53,7 @@
|
|||||||
temp = Dand.wrap(
|
temp = Dand.wrap(
|
||||||
'span', null, "flsf"
|
'span', null, "flsf"
|
||||||
, "Meta Tags"
|
, "Meta Tags"
|
||||||
, [
|
, [ new DataKey( "value", code ) ]
|
||||||
new DataKey( "value", code )
|
|
||||||
, new IKey(
|
|
||||||
"style", "background-color: #444; color: white; padding: 0.2em 0.5em;"
|
|
||||||
)
|
|
||||||
]
|
|
||||||
);
|
);
|
||||||
insertSnippet(j = snippetWrap( "Meta", temp, false, "span" ), Boolean(override));
|
insertSnippet(j = snippetWrap( "Meta", temp, false, "span" ), Boolean(override));
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,5 @@
|
|||||||
|
.v_boundary[data-type="RespH"] > span {
|
||||||
|
background-color: #444;
|
||||||
|
color: white;
|
||||||
|
padding: 0.2em 0.5em;
|
||||||
|
}
|
@ -0,0 +1,18 @@
|
|||||||
|
.v_boundary[data-type="Video"] {
|
||||||
|
width: 640px; height: 390px;
|
||||||
|
background-color: black;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.v_boundary[data-type="Video"] .v_box {
|
||||||
|
width: 640px; height: 390px;
|
||||||
|
position: relative;
|
||||||
|
display: table-cell;
|
||||||
|
text-align: center;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
|
||||||
|
.v_boundary[data-type="Video"] .v_description {
|
||||||
|
text-align: left;
|
||||||
|
padding-left: 0.5em;
|
||||||
|
}
|
@ -14,25 +14,28 @@
|
|||||||
var MessageBox = __import( "Components.MessageBox" );
|
var MessageBox = __import( "Components.MessageBox" );
|
||||||
|
|
||||||
var getData = __import( "System.Net.getData" );
|
var getData = __import( "System.Net.getData" );
|
||||||
|
var BLANK_IMG = __import( "Dandelion.StaticRes.BLANK_IMG" );
|
||||||
|
|
||||||
var video = function (insertSnippet, snippetWrap, createContext, override)
|
var video = function (insertSnippet, snippetWrap, createContext, override)
|
||||||
{
|
{
|
||||||
var temp, i, j
|
var temp, i, j, imgSrc
|
||||||
|
|
||||||
, getVimeoThumbnail = function (vtag)
|
, getVimeoThumbnail = function( v )
|
||||||
{
|
{
|
||||||
getData("//vimeo.com/api/oembed.json?url=https%3A//vimeo.com/" + vtag.getAttribute("data-value"), setThumbnail.bind(vtag), noThumb.bind(vtag));
|
getData(
|
||||||
|
"//vimeo.com/api/oembed.json?url=https%3A//vimeo.com/" + v
|
||||||
|
, setThumbnail
|
||||||
|
, noThumb
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
, setImgSrc = function( url )
|
||||||
, noThumb = function ()
|
|
||||||
{
|
{
|
||||||
|
if( imgSrc ) imgSrc.src = url;
|
||||||
}
|
}
|
||||||
|
, noThumb = function () { }
|
||||||
, setThumbnail = function (str)
|
, setThumbnail = function (str)
|
||||||
{
|
{
|
||||||
this.style.background = "black url(" + JSON.parse(str)["thumbnail_url"] + ") center center no-repeat";
|
setImgSrc( JSON.parse(str)["thumbnail_url"] );
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
, handler = function ()
|
, handler = function ()
|
||||||
@ -86,22 +89,22 @@
|
|||||||
|
|
||||||
if (submitted)
|
if (submitted)
|
||||||
{
|
{
|
||||||
|
|
||||||
// Visualize component
|
// Visualize component
|
||||||
temp = Dand.wrapc('v_box', Dand.wrapc('v_description', "Video(url): " + t)
|
temp = Dand.wrapc('v_box'
|
||||||
, [
|
, [
|
||||||
new DataKey("value", v)
|
Dand.wrapc( 'v_description', i[0].toUpperCase() + i.substr(1) + ": " + v )
|
||||||
, new DataKey("type", i)
|
, imgSrc = Dand.wrapna( "img", [ new IKey( "src", BLANK_IMG ) ] )
|
||||||
, new IKey("style"
|
|
||||||
, "width: 640px; height: 390px;"
|
|
||||||
+ ( (i[0] == "v") ? "" : ("background: black url(//img.youtube.com/vi/" + v + "/hqdefault.jpg) no-repeat center center;") )
|
|
||||||
)
|
|
||||||
]
|
]
|
||||||
|
, [ new DataKey("value", v), new DataKey("type", i) ]
|
||||||
);
|
);
|
||||||
|
|
||||||
if (i[0] == "v")
|
if( i[0] == "v" )
|
||||||
{
|
{
|
||||||
getVimeoThumbnail(temp);
|
getVimeoThumbnail( v );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
setImgSrc( "//img.youtube.com/vi/" + v + "/hqdefault.jpg" );
|
||||||
}
|
}
|
||||||
|
|
||||||
insertSnippet(j = snippetWrap("Video", temp), Boolean(override));
|
insertSnippet(j = snippetWrap("Video", temp), Boolean(override));
|
||||||
@ -110,7 +113,6 @@
|
|||||||
createContext(null, j);
|
createContext(null, j);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
;
|
|
||||||
|
|
||||||
if (override)
|
if (override)
|
||||||
{
|
{
|
||||||
|
@ -104,3 +104,19 @@ div[data-type="token"]:after {
|
|||||||
div[data-type="token"]:hover:after {
|
div[data-type="token"]:hover:after {
|
||||||
color: rgba( 255, 255, 255, 0.5 );
|
color: rgba( 255, 255, 255, 0.5 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ae_visual_snippets > span[data-name="code"] { background: white; color: cornflowerblue; }
|
||||||
|
#ae_visual_snippets > span[data-name="image"] { background: #ff0084; }
|
||||||
|
#ae_visual_snippets > span[data-name="sound"] { background: YellowGreen; }
|
||||||
|
#ae_visual_snippets > span[data-name="video"] { background: Crimson; }
|
||||||
|
#ae_visual_snippets > span[data-name="spoiler"] { background: cornflowerblue; }
|
||||||
|
#ae_visual_snippets > span[data-name="link"] { background: blue; }
|
||||||
|
#ae_visual_snippets > span[data-name="acquirelib"] { background: black; }
|
||||||
|
#ae_visual_snippets > span[data-name="html"] { background: coral; }
|
||||||
|
#ae_visual_snippets > span[data-name="sitefile"] { background: royalblue; }
|
||||||
|
#ae_visual_snippets > span[data-name="heading"] { }
|
||||||
|
#ae_visual_snippets > span[data-name="footnote"] { }
|
||||||
|
#ae_visual_snippets > span[data-name="resph"] { }
|
||||||
|
#ae_visual_snippets > span[data-name="meta"] { }
|
||||||
|
#ae_visual_snippets > span[data-name="articlelink"] { }
|
||||||
|
#ae_visual_snippets > span[data-name="articlecontent"] { }
|
||||||
|
@ -26,23 +26,23 @@
|
|||||||
/** @type {Astro.Blog.Config} */
|
/** @type {Astro.Blog.Config} */
|
||||||
var Config = __import( "Astro.Blog.Config" );
|
var Config = __import( "Astro.Blog.Config" );
|
||||||
|
|
||||||
var snippetList = IKey.quickDef(
|
var snippetList = [
|
||||||
"Code" , "background: white; color: cornflowerblue;"
|
"Code"
|
||||||
, "Image" , "background: #ff0084;"
|
, "Image"
|
||||||
, "Sound" , "background: YellowGreen;"
|
, "Sound"
|
||||||
, "Video" , "background: Crimson;"
|
, "Video"
|
||||||
, "Spoiler" , "background: cornflowerblue;"
|
, "Spoiler"
|
||||||
, "Link" , "background: blue;"
|
, "Link"
|
||||||
, "AcquireLib" , "background: black;"
|
, "AcquireLib"
|
||||||
, "Html" , "background: coral;"
|
, "Html"
|
||||||
, "SiteFile" , "background: royalblue;"
|
, "SiteFile"
|
||||||
, "Heading" , ""
|
, "Heading"
|
||||||
, "Footnote" , ""
|
, "Footnote"
|
||||||
, "RespH" , ""
|
, "RespH"
|
||||||
, "Meta" , ""
|
, "Meta"
|
||||||
, "ArticleLink" , ""
|
, "ArticleLink"
|
||||||
, "ArticleContent" , ""
|
, "ArticleContent"
|
||||||
);
|
];
|
||||||
|
|
||||||
var snippetNs = "Astro.Blog.AstroEdit.Visualizer.Snippet.";
|
var snippetNs = "Astro.Blog.AstroEdit.Visualizer.Snippet.";
|
||||||
//// Document Visualizer visualize snippets, used in AstroEdit and comments
|
//// Document Visualizer visualize snippets, used in AstroEdit and comments
|
||||||
@ -388,19 +388,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Append module"s control
|
// Append module"s control
|
||||||
temp = Dand.wrapne(
|
temp = Dand.wrapne( "span", mod_name, new IKey( "data-name", mod_name ) );
|
||||||
"span"
|
|
||||||
, mod_name
|
|
||||||
, new IKey(
|
|
||||||
"style"
|
|
||||||
, utils.objSearch(
|
|
||||||
snippetList
|
|
||||||
/** @param {System.utils.IKey} a */
|
|
||||||
, function( a ) { return a.keyName.toLowerCase() == mod_name }
|
|
||||||
, "keyValue"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
snippetControls.appendChild( temp );
|
snippetControls.appendChild( temp );
|
||||||
snippetControls.appendChild( Dand.textNode( "\t" ) );
|
snippetControls.appendChild( Dand.textNode( "\t" ) );
|
||||||
@ -502,9 +490,9 @@
|
|||||||
article.invoke(this);
|
article.invoke(this);
|
||||||
|
|
||||||
var modules = [];
|
var modules = [];
|
||||||
for( var i in snippetList )
|
for( var i = 0; i < snippetList.length; i ++ )
|
||||||
{
|
{
|
||||||
modules[ modules.length ] = snippetNs + snippetList[i].keyName;
|
modules[ modules.length ] = snippetNs + snippetList[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
var ldr = new Loader( service_uri, "o" );
|
var ldr = new Loader( service_uri, "o" );
|
||||||
|
@ -22,6 +22,7 @@
|
|||||||
var config = null;
|
var config = null;
|
||||||
|
|
||||||
var SiteFile = ns[ NS_INVOKE ]( "SiteFile" );
|
var SiteFile = ns[ NS_INVOKE ]( "SiteFile" );
|
||||||
|
var BLANK_IMG = __import( "Dandelion.StaticRes.BLANK_IMG" );
|
||||||
|
|
||||||
var Album = function ( id, hash )
|
var Album = function ( id, hash )
|
||||||
{
|
{
|
||||||
@ -56,9 +57,7 @@
|
|||||||
|
|
||||||
ostage.appendChild( Dand.wrapne(
|
ostage.appendChild( Dand.wrapne(
|
||||||
"div"
|
"div"
|
||||||
, Dand.wrapna( "img", [
|
, Dand.wrapna( "img", [ new IKey( "src", BLANK_IMG ) ] )
|
||||||
new IKey( "src", "data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" )
|
|
||||||
] )
|
|
||||||
, [ new IKey( "id", uuid ), new DataKey( "size", "medium" ) ]
|
, [ new IKey( "id", uuid ), new DataKey( "size", "medium" ) ]
|
||||||
) );
|
) );
|
||||||
|
|
||||||
|
@ -159,10 +159,12 @@
|
|||||||
border-bottom: 1em solid white;
|
border-bottom: 1em solid white;
|
||||||
|
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: -1em;
|
top: 0;
|
||||||
right: 1em;
|
right: 1em;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ri_switch[data-pointy="1"] { top: -1em; }
|
||||||
|
|
||||||
.c_relative_wrap {
|
.c_relative_wrap {
|
||||||
position: relative;
|
position: relative;
|
||||||
padding: 1em;
|
padding: 1em;
|
||||||
@ -249,8 +251,12 @@
|
|||||||
|
|
||||||
.info_field > div{
|
.info_field > div{
|
||||||
margin: 0.2em 0;
|
margin: 0.2em 0;
|
||||||
|
text-align: right;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.info_field .website span { width: 20%; }
|
||||||
|
.info_field .website input { width: 80%; }
|
||||||
|
|
||||||
#capcha_wrapper {
|
#capcha_wrapper {
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
height: 0;
|
height: 0;
|
||||||
|
@ -107,7 +107,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
, doReply = function ()
|
, doReply = function ()
|
||||||
{
|
{
|
||||||
var c_reply = this;
|
var c_reply = this;
|
||||||
@ -116,13 +115,12 @@
|
|||||||
// Set comment id
|
// Set comment id
|
||||||
submit_button.setAttribute( new DataKey( "cid", c_reply.getAttribute( "value" ) ) );
|
submit_button.setAttribute( new DataKey( "cid", c_reply.getAttribute( "value" ) ) );
|
||||||
|
|
||||||
// Close reply indicator
|
// close the triangle in the top rigth corner
|
||||||
Dand.id("ri_switch").style.top = "0";
|
Dand.id( "ri_switch", true ).removeAttribute( "data-pointy" );
|
||||||
|
|
||||||
// If this button is not that button
|
// If this button is not that button
|
||||||
button && ( c_reply != button ) && releaseReplyButton();
|
button && ( c_reply != button ) && releaseReplyButton();
|
||||||
|
|
||||||
|
|
||||||
// Lock reply button
|
// Lock reply button
|
||||||
c_reply.setAttribute("locked", "1");
|
c_reply.setAttribute("locked", "1");
|
||||||
c_reply.onclick = null;
|
c_reply.onclick = null;
|
||||||
@ -313,7 +311,8 @@
|
|||||||
cp.style.height = "";
|
cp.style.height = "";
|
||||||
cp.style.overflow = "";
|
cp.style.overflow = "";
|
||||||
|
|
||||||
Dand.id("ri_switch").style.top = "";
|
// Pop back up the pointy triangle
|
||||||
|
Dand.id( "ri_switch", true ).setAttribute( new DataKey( "pointy", "1" ) );
|
||||||
|
|
||||||
fieldReady = false;
|
fieldReady = false;
|
||||||
fieldReadyTrigger();
|
fieldReadyTrigger();
|
||||||
|
@ -1,162 +0,0 @@
|
|||||||
.block-entries .block {
|
|
||||||
float: left;
|
|
||||||
|
|
||||||
width: 225px;
|
|
||||||
height: 325px;
|
|
||||||
|
|
||||||
margin: 0 2em 2em 0;
|
|
||||||
|
|
||||||
position: relative;
|
|
||||||
|
|
||||||
color: #666;
|
|
||||||
border: 2px solid transparent;
|
|
||||||
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
.block-entries .block:hover {
|
|
||||||
border-width: 2px;
|
|
||||||
border-color: purple;
|
|
||||||
}
|
|
||||||
|
|
||||||
.block-entries .slide-wrapper {
|
|
||||||
position: absolute;
|
|
||||||
overflow: hidden;
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
|
|
||||||
border: 1px solid #D4D7C9;
|
|
||||||
margin: -1px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.block-entries .slide-wrapper:hover {
|
|
||||||
border-color: purple;
|
|
||||||
}
|
|
||||||
|
|
||||||
.block-entries .date {
|
|
||||||
font-size: 0.8em;
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
|
|
||||||
.block-entries .title {
|
|
||||||
font-size: 1.2em;
|
|
||||||
max-height: 2.4em;
|
|
||||||
overflow: hidden;
|
|
||||||
text-overflow: ellipsis;
|
|
||||||
color: #444;
|
|
||||||
}
|
|
||||||
|
|
||||||
.block-entries .content {
|
|
||||||
text-overflow: ellipsis;
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
.block-entries .author {
|
|
||||||
color: crimson;
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
|
|
||||||
.block-entries .c-count {
|
|
||||||
position: absolute;
|
|
||||||
bottom: 1em;
|
|
||||||
left: 0.5em;
|
|
||||||
|
|
||||||
font-size: 0.8em;
|
|
||||||
font-family: sans-serif;
|
|
||||||
color: orangered;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.block-entries .slide {
|
|
||||||
position: absolute;
|
|
||||||
width: 100%;
|
|
||||||
height: 150%;
|
|
||||||
|
|
||||||
top: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.block-entries .slide:after, .block-entries[on] .slide {
|
|
||||||
content: attr(data-content);
|
|
||||||
|
|
||||||
position: absolute;
|
|
||||||
|
|
||||||
top: 100%;
|
|
||||||
|
|
||||||
width: 100%;
|
|
||||||
height: 50%;
|
|
||||||
|
|
||||||
padding: 0 0.5em;
|
|
||||||
|
|
||||||
color: #EEE;
|
|
||||||
background: purple;
|
|
||||||
|
|
||||||
overflow: hidden;
|
|
||||||
text-overflow: ellipsis;
|
|
||||||
|
|
||||||
-webkit-box-shadow: inset 0px 15px 15px -15px black;
|
|
||||||
-moz-box-sizing: inset 0px 15px 15px -15px black;
|
|
||||||
box-shadow: inset 0px 15px 15px -15px black;
|
|
||||||
|
|
||||||
-webkit-box-sizing: border-box;
|
|
||||||
-moz-box-sizing: border-box;
|
|
||||||
box-sizing: border-box;
|
|
||||||
|
|
||||||
-webkit-transition: all 500ms cubic-bezier(0.215, 0.610, 0.355, 1.000);
|
|
||||||
-moz-transition: all 500ms cubic-bezier(0.215, 0.610, 0.355, 1.000);
|
|
||||||
-ms-transition: all 500ms cubic-bezier(0.215, 0.610, 0.355, 1.000);
|
|
||||||
-o-transition: all 500ms cubic-bezier(0.215, 0.610, 0.355, 1.000);
|
|
||||||
transition: all 500ms cubic-bezier(0.215, 0.610, 0.355, 1.000); /* easeOutCubic */
|
|
||||||
|
|
||||||
-webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
|
|
||||||
-moz-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
|
|
||||||
-ms-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
|
|
||||||
-o-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
|
|
||||||
transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); /* easeOutCubic */
|
|
||||||
}
|
|
||||||
|
|
||||||
.block-entries .slide:hover:after, .slide[on]:after {
|
|
||||||
top: 62.5%;
|
|
||||||
padding: 0.5em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.block-entries .slide:hover, .slide[on] {
|
|
||||||
top: -50%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.block-entries .front {
|
|
||||||
position: absolute;
|
|
||||||
background: white;
|
|
||||||
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.block-entries .block-wrapper {
|
|
||||||
position: relative;
|
|
||||||
background-image: repeating-linear-gradient(
|
|
||||||
135deg
|
|
||||||
, transparent, transparent 1px
|
|
||||||
, rgba( 85, 85, 85, .1 ) 1px
|
|
||||||
, rgba( 85, 85, 85, .1 ) 30px
|
|
||||||
);
|
|
||||||
background-color: black;
|
|
||||||
}
|
|
||||||
|
|
||||||
.block-entries .block-info {
|
|
||||||
padding: 0.5em;
|
|
||||||
background: white;
|
|
||||||
}
|
|
||||||
|
|
||||||
.block-entries .banner {
|
|
||||||
width: 50%;
|
|
||||||
padding: 50%;
|
|
||||||
|
|
||||||
background-position: center;
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
|
|
||||||
border-bottom: 1px solid #D4D7C9;
|
|
||||||
|
|
||||||
-webkit-box-sizing: border-box;
|
|
||||||
-moz-box-sizing: border-box;
|
|
||||||
box-sizing: border-box;
|
|
||||||
}
|
|
@ -1,91 +0,0 @@
|
|||||||
(function(){
|
|
||||||
var ns = __namespace( "Astro.Blog.Components.Entry" );
|
|
||||||
|
|
||||||
/** @type {System.Cycle} */
|
|
||||||
var Cycle = __import( "System.Cycle" );
|
|
||||||
/** @type {System.utils.Perf} */
|
|
||||||
var Perf = __import( "System.utils.Perf" );
|
|
||||||
/** @type {Dandelion} */
|
|
||||||
var Dand = __import( "Dandelion" );
|
|
||||||
/** @type {Astro.Bootstrap} */
|
|
||||||
var Bootstrap = __import( "Astro.Bootstrap" );
|
|
||||||
|
|
||||||
/** @type {Astro.Blog.Config} */
|
|
||||||
var Conf = __import( "Astro.Blog.Config" );
|
|
||||||
/** @type {Astro.Blog.Components.SiteFile} */
|
|
||||||
var SiteFile = __import( "Astro.Blog.Components.SiteFile" );
|
|
||||||
|
|
||||||
/** @type {_AstConf_.SiteFile} */
|
|
||||||
var config = null;
|
|
||||||
|
|
||||||
var Block = function ( element )
|
|
||||||
{
|
|
||||||
if( !config ) throw new Error( "Config is not defined" );
|
|
||||||
var slide = Dand.glass( "slide", false, element )[0];
|
|
||||||
var delayCont = function( firstTime )
|
|
||||||
{
|
|
||||||
Cycle.delay(
|
|
||||||
function()
|
|
||||||
{
|
|
||||||
slide.getAttribute( "on" )
|
|
||||||
? slide.removeAttribute( "on" )
|
|
||||||
: slide.setAttribute( "on", 1 )
|
|
||||||
;
|
|
||||||
delayCont( false );
|
|
||||||
}
|
|
||||||
, firstTime
|
|
||||||
? Math.random()*10000
|
|
||||||
: ( 5500 + Math.random()*4500 )
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
delayCont( true );
|
|
||||||
|
|
||||||
var banner = Dand.glass( "banner", false, element )[0];
|
|
||||||
var bId = banner.getAttribute( "id" );
|
|
||||||
|
|
||||||
var placeBackground = function( obj )
|
|
||||||
{
|
|
||||||
/** @type {_AstJson_.SiteFile} */
|
|
||||||
var finfo = JSON.parse( obj );
|
|
||||||
|
|
||||||
/** @type {_AstJson_.SiteFile} */
|
|
||||||
var file = finfo.files[0];
|
|
||||||
|
|
||||||
var path = config.path.image.medium + file.hash + ".jpg";
|
|
||||||
banner.style.backgroundImage = "url(" + path + ")";
|
|
||||||
};
|
|
||||||
|
|
||||||
var placeError = function( obj )
|
|
||||||
{
|
|
||||||
throw new Error( obj );
|
|
||||||
};
|
|
||||||
|
|
||||||
var SFOs = Conf.get( "SFObjects" );
|
|
||||||
for( var i in SFOs )
|
|
||||||
{
|
|
||||||
var f = SFOs[i];
|
|
||||||
var id = f[0];
|
|
||||||
if( id == bId )
|
|
||||||
{
|
|
||||||
new SiteFile( id, f[1] ).loadInfo( placeBackground, placeError );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
var init = function()
|
|
||||||
{
|
|
||||||
config = Conf.get( "SiteFile" );
|
|
||||||
|
|
||||||
var stage = Dand.glass( "block-entries" )[0];
|
|
||||||
var everyEntries = Dand.glass( "block", false, stage );
|
|
||||||
for( var i = 0; i < everyEntries.length; i ++ )
|
|
||||||
{
|
|
||||||
new Block( everyEntries[ i ] );
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
Bootstrap.regInit( init );
|
|
||||||
|
|
||||||
ns[ NS_EXPORT ]( EX_CLASS, "Block", Block );
|
|
||||||
})();
|
|
@ -1,125 +0,0 @@
|
|||||||
.it-shucks > a {
|
|
||||||
float: right;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mega-entry {
|
|
||||||
border: 6px solid white;
|
|
||||||
background: white;
|
|
||||||
color: black;
|
|
||||||
|
|
||||||
position: relative;
|
|
||||||
margin: 0.5em;
|
|
||||||
|
|
||||||
display: block;
|
|
||||||
|
|
||||||
word-wrap: break-word;
|
|
||||||
|
|
||||||
box-shadow: 0 0 0 1px #D4D7C9;
|
|
||||||
|
|
||||||
max-width: 80%;
|
|
||||||
width: 600px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mega-entry:hover {
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mega-entry .cCont img {
|
|
||||||
position: absolute;
|
|
||||||
margin-top: -25%;
|
|
||||||
max-width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mega-entry .cCont:after {
|
|
||||||
content: attr(data-content);
|
|
||||||
|
|
||||||
width: 100%;
|
|
||||||
height: 0;
|
|
||||||
|
|
||||||
top: 100%;
|
|
||||||
|
|
||||||
position: absolute;
|
|
||||||
|
|
||||||
color: white;
|
|
||||||
background: rgba(0, 0, 0, 0.65);
|
|
||||||
|
|
||||||
font-family: custom-serif;
|
|
||||||
|
|
||||||
padding: 0 0.5em;
|
|
||||||
|
|
||||||
-webkit-box-sizing: border-box;
|
|
||||||
-moz-box-sizing: border-box;
|
|
||||||
box-sizing: border-box;
|
|
||||||
|
|
||||||
-webkit-transition: all 300ms cubic-bezier(0.215, 0.610, 0.355, 1.000);
|
|
||||||
-moz-transition: all 300ms cubic-bezier(0.215, 0.610, 0.355, 1.000);
|
|
||||||
-ms-transition: all 300ms cubic-bezier(0.215, 0.610, 0.355, 1.000);
|
|
||||||
-o-transition: all 300ms cubic-bezier(0.215, 0.610, 0.355, 1.000);
|
|
||||||
transition: all 300ms cubic-bezier(0.215, 0.610, 0.355, 1.000); /* easeOutCubic */
|
|
||||||
|
|
||||||
-webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
|
|
||||||
-moz-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
|
|
||||||
-ms-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
|
|
||||||
-o-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
|
|
||||||
transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); /* easeOutCubic */
|
|
||||||
}
|
|
||||||
|
|
||||||
.mega-entry .cCont:focus:after, .mega-entry .cCont:hover:after {
|
|
||||||
top: 50%;
|
|
||||||
height: 50%;
|
|
||||||
padding: 0.5em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mega-entry > #noteTag {
|
|
||||||
background: black;
|
|
||||||
}
|
|
||||||
|
|
||||||
.noteTag {
|
|
||||||
color: white;
|
|
||||||
padding: 0.2em;
|
|
||||||
overflow: hidden;
|
|
||||||
|
|
||||||
-moz-box-shadow: 0 2px 2px 0 black;
|
|
||||||
-webkit-box-shadow: 0 2px 2px 0 black;
|
|
||||||
box-shadow: 0 2px 2px 0 black;
|
|
||||||
|
|
||||||
position: absolute;
|
|
||||||
background: slategrey;
|
|
||||||
right: -6px;
|
|
||||||
top: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mega-entry > .cCont {
|
|
||||||
position: relative;
|
|
||||||
color: white;
|
|
||||||
overflow: hidden;
|
|
||||||
height: 130px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mega-entry .cCont > h2 {
|
|
||||||
position: absolute;
|
|
||||||
font-family: custom-sans;
|
|
||||||
|
|
||||||
padding: 0 0.2em;
|
|
||||||
text-shadow: 2px 2px 8px black;
|
|
||||||
|
|
||||||
color: #DDD;
|
|
||||||
z-index: 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
.cDate {
|
|
||||||
padding: 0.2em 0.5em;
|
|
||||||
font-size: 0.9em;
|
|
||||||
}
|
|
||||||
.cEOF {
|
|
||||||
height: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.Sun { background: #FF1D25; }
|
|
||||||
.Mon { background: #662D91; }
|
|
||||||
.Tue { background: #3FA9F5; }
|
|
||||||
.Wed { background: #7AC943; }
|
|
||||||
.Thu { background: #FF7BAC; }
|
|
||||||
.Fri { background: #603813; }
|
|
||||||
.Sat { background: #FF931E; }
|
|
@ -1 +0,0 @@
|
|||||||
// __namespace( "Astro.Blog.Components.Entry.Mega" );
|
|
@ -1,83 +0,0 @@
|
|||||||
.vsign {
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
.vertical-text {
|
|
||||||
float: right;
|
|
||||||
|
|
||||||
color: #777;
|
|
||||||
|
|
||||||
padding: 1em 0.5em;
|
|
||||||
margin: 0.5em 1em;
|
|
||||||
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
|
|
||||||
.vertical-text.block {
|
|
||||||
background-color: #FAFAFA;
|
|
||||||
}
|
|
||||||
|
|
||||||
.vertical-text > a.more {
|
|
||||||
display: block;
|
|
||||||
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
|
|
||||||
padding: 0;
|
|
||||||
|
|
||||||
position: absolute;
|
|
||||||
|
|
||||||
border: 1px solid #D4D7C9;
|
|
||||||
}
|
|
||||||
.vertical-text > a.more:hover {
|
|
||||||
border-width: 2px;
|
|
||||||
border-color: purple;
|
|
||||||
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
|
|
||||||
.vertical-text p
|
|
||||||
, .vertical-text a
|
|
||||||
, .vertical-text h1 , .vertical-text h2, .vertical-text h3
|
|
||||||
, .vertical-text h4, .vertical-text h5, .vertical-text h6 {
|
|
||||||
padding: 0.1em;
|
|
||||||
margin: 0;
|
|
||||||
width: 1em;
|
|
||||||
letter-spacing: 1em;
|
|
||||||
|
|
||||||
word-break: break-all;
|
|
||||||
word-wrap: break-word;
|
|
||||||
}
|
|
||||||
|
|
||||||
.vertical-text > .block {
|
|
||||||
overflow: hidden;
|
|
||||||
width: 4.5em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.vertical-text > * {
|
|
||||||
display: inline-block;
|
|
||||||
float: right;
|
|
||||||
height: 390px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.vertical-text > p {
|
|
||||||
height: 400px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.vertical-text > p[data-flag="date"] {
|
|
||||||
color: #BBB;
|
|
||||||
}
|
|
||||||
|
|
||||||
.vertical-text.source > * {
|
|
||||||
height: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.vertical-text.source {
|
|
||||||
height: 360px;
|
|
||||||
border: 0;
|
|
||||||
padding: 0;
|
|
||||||
visibility: hidden;
|
|
||||||
}
|
|
||||||
|
|
@ -1,82 +0,0 @@
|
|||||||
(function(){
|
|
||||||
var ns = __namespace( "Astro.Blog.Components.VerticalNote" );
|
|
||||||
/** @type {Dandelion} */
|
|
||||||
var Dand = __import( "Dandelion" );
|
|
||||||
/** @type {Dandelion.IDOMElement} */
|
|
||||||
var IDOMElement = __import( "Dandelion.IDOMElement" );
|
|
||||||
/** @type {Astro.Bootstrap} */
|
|
||||||
var Bootstrap = __import( "Astro.Bootstrap" );
|
|
||||||
/** @type {Astro.Blog.Config} */
|
|
||||||
var Config = __import( "Astro.Blog.Config" );
|
|
||||||
/** @type {Astro.utils.Date} */
|
|
||||||
var XDate = __import( "Astro.utils.Date" );
|
|
||||||
|
|
||||||
/** @param {Dandelion.IDOMElement} elem */
|
|
||||||
var VerticalNote = function( elem )
|
|
||||||
{
|
|
||||||
var relem = elem.element;
|
|
||||||
var maxHeight = relem.clientHeight;
|
|
||||||
|
|
||||||
// Break for elements that are too long
|
|
||||||
var formatted = Dand.wrapc( relem.className.replace( / *source */, " " ) );
|
|
||||||
|
|
||||||
elem.foreach( 1, function( child )
|
|
||||||
{
|
|
||||||
var ichild = IDOMElement( child );
|
|
||||||
switch( ichild.getDAttribute( "flag" ) )
|
|
||||||
{
|
|
||||||
case "date":
|
|
||||||
child.innerHTML = XDate.chinese( new Date( child.innerHTML ) );
|
|
||||||
break;
|
|
||||||
case "anchor":
|
|
||||||
case "image":
|
|
||||||
formatted.appendChild( child );
|
|
||||||
child.style.display = null;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var content = child.innerHTML;
|
|
||||||
var len = content.length;
|
|
||||||
var blockh = Math.ceil( child.clientHeight / len );
|
|
||||||
|
|
||||||
var opLen = Math.floor( maxHeight / blockh );
|
|
||||||
|
|
||||||
var i = 0;
|
|
||||||
|
|
||||||
var doBreak = function( i )
|
|
||||||
{
|
|
||||||
var nLine = Dand.wrapne(
|
|
||||||
child.nodeName
|
|
||||||
, content.substr( opLen * i, opLen )
|
|
||||||
, ichild.aKeys()
|
|
||||||
);
|
|
||||||
|
|
||||||
formatted.appendChild( nLine );
|
|
||||||
|
|
||||||
if( elem.getDAttribute( "href" ) )
|
|
||||||
{
|
|
||||||
formatted.addEventListener(
|
|
||||||
"click"
|
|
||||||
, function( e ) {
|
|
||||||
window.location = this.loc;
|
|
||||||
}.bind({ loc: elem.getDAttribute( "href" ) })
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
len -= opLen;
|
|
||||||
};
|
|
||||||
|
|
||||||
for( var i = 0; opLen < len; i ++ ) doBreak( i );
|
|
||||||
if( 0 < len ) doBreak( i );
|
|
||||||
} );
|
|
||||||
|
|
||||||
relem.style.display = "none";
|
|
||||||
relem.parentNode.insertBefore( formatted, relem.nextSibling );
|
|
||||||
};
|
|
||||||
|
|
||||||
Bootstrap.regInit(function() {
|
|
||||||
Dand.glass( "vertical-text", true )
|
|
||||||
.forEach( function( e ) { new VerticalNote( e ); } );
|
|
||||||
});
|
|
||||||
|
|
||||||
})();
|
|
@ -1,32 +1,34 @@
|
|||||||
.v_wrapper {
|
.v_wrapper {
|
||||||
width: 640px;
|
width: 640px;
|
||||||
height: 390px;
|
height: 390px;
|
||||||
|
position: relative;
|
||||||
|
text-align: center;
|
||||||
|
vertical-align: middle;
|
||||||
|
display: table-cell;
|
||||||
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
.v_wrapper > div{
|
.v_wrapper[data-loaded="1"]:after {
|
||||||
position: relative;
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.v_wrapper[data-loaded="1"] img {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.v_wrapper:after {
|
||||||
|
content: "\25BA";
|
||||||
|
position: absolute;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
opacity: 0.6;
|
opacity: 0.6;
|
||||||
|
color: white;
|
||||||
background: black;
|
background: black;
|
||||||
|
top: 0; left: 0;
|
||||||
|
font-size: 700%;
|
||||||
|
padding-top: 19%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.v_wrapper > div:hover {
|
.v_wrapper:hover:after {
|
||||||
opacity: 0.2;
|
opacity: 0.2;
|
||||||
}
|
}
|
||||||
|
|
||||||
.v_wrapper > div > div {
|
|
||||||
width: 0;
|
|
||||||
height: 0;
|
|
||||||
border-top: 3.5em solid transparent;
|
|
||||||
border-bottom: 3.5em solid transparent;
|
|
||||||
border-left: 5em solid white;
|
|
||||||
|
|
||||||
position: absolute;
|
|
||||||
|
|
||||||
left: 50%;
|
|
||||||
top: 50%;
|
|
||||||
margin-top: -3.5em;
|
|
||||||
margin-left: -1.8em;
|
|
||||||
|
|
||||||
}
|
|
@ -14,7 +14,7 @@
|
|||||||
|
|
||||||
var getData = __import( "System.Net.getData" );
|
var getData = __import( "System.Net.getData" );
|
||||||
|
|
||||||
var v_current = { player: false, mask: false, stage: false, listener: false };
|
var v_current = { player: false, stage: false, listener: false };
|
||||||
|
|
||||||
var init = function()
|
var init = function()
|
||||||
{
|
{
|
||||||
@ -49,12 +49,13 @@
|
|||||||
if( v_current.stage )
|
if( v_current.stage )
|
||||||
{
|
{
|
||||||
v_current.stage.removeChild( v_current.player );
|
v_current.stage.removeChild( v_current.player );
|
||||||
v_current.stage.appendChild( v_current.mask );
|
|
||||||
v_current.stage.onclick = v_current.listener;
|
v_current.stage.onclick = v_current.listener;
|
||||||
|
v_current.stage.removeAttribute( "data-loaded" );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Remove mask
|
// Remove mask
|
||||||
( v_current.stage = vtag ).removeChild( v_current.mask = vtag.firstChild );
|
IDOMElement( v_current.stage = vtag )
|
||||||
|
.setAttribute( "data-loaded", 1 );
|
||||||
|
|
||||||
v_current.player = Dand.wrapna(
|
v_current.player = Dand.wrapna(
|
||||||
"iframe"
|
"iframe"
|
||||||
|
@ -36,6 +36,8 @@ div#header, div#mbody, div#contact, div#horizon {
|
|||||||
animation-name: aspin;
|
animation-name: aspin;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.err { color: orangered; }
|
||||||
|
|
||||||
.cw { animation-name: spin; }
|
.cw { animation-name: spin; }
|
||||||
|
|
||||||
.mbody {
|
.mbody {
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
.ban-btn { color: red; }
|
.ban-btn { color: red; }
|
||||||
.subs-type { margin: 1em; }
|
.subs-type { margin: 1em; }
|
||||||
|
.subs-addr { color: grey; }
|
||||||
|
|
||||||
.subs-item {
|
.subs-item {
|
||||||
position: relative;
|
position: relative;
|
||||||
|
5
botanjs/src/Dandelion/StarticRes.js
Normal file
5
botanjs/src/Dandelion/StarticRes.js
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
(function(){
|
||||||
|
var ns = __namespace( "Dandelion.StaticRes" );
|
||||||
|
|
||||||
|
ns[ NS_EXPORT ]( EX_READONLY_GETTER , "BLANK_IMG", function() { return "data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=="; } );
|
||||||
|
})();
|
@ -26,18 +26,22 @@ spec:
|
|||||||
mountPath: "/app/cache"
|
mountPath: "/app/cache"
|
||||||
containers:
|
containers:
|
||||||
- name: web
|
- name: web
|
||||||
image: registry.k8s.astropenguin.net/astrojs:2022.04.05.06
|
image: registry.k8s.astropenguin.net/astrojs:2022.04.09.03
|
||||||
securityContext:
|
securityContext:
|
||||||
runAsGroup: 1001
|
runAsGroup: 1001
|
||||||
runAsNonRoot: true
|
runAsNonRoot: true
|
||||||
runAsUser: 1001
|
runAsUser: 1001
|
||||||
env:
|
env:
|
||||||
|
- name: DEBUG
|
||||||
|
value: "0"
|
||||||
- name: FLASK_DEBUG
|
- name: FLASK_DEBUG
|
||||||
value: "0"
|
value: "0"
|
||||||
- name: FLASK_ENV
|
- name: FLASK_ENV
|
||||||
value: "production"
|
value: "production"
|
||||||
- name: RUN_MODE
|
- name: RUN_MODE
|
||||||
value: "web"
|
value: "web"
|
||||||
|
- name: REDIS_CONN
|
||||||
|
value: "redis://:@localhost:6379/9"
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
- name: cache
|
- name: cache
|
||||||
mountPath: "/app/cache"
|
mountPath: "/app/cache"
|
||||||
@ -50,7 +54,7 @@ spec:
|
|||||||
- name: redis
|
- name: redis
|
||||||
image: redis:6.0.8-alpine
|
image: redis:6.0.8-alpine
|
||||||
- name: compiler
|
- name: compiler
|
||||||
image: registry.k8s.astropenguin.net/astrojs:2022.04.05.06
|
image: registry.k8s.astropenguin.net/astrojs:2022.04.09.03
|
||||||
securityContext:
|
securityContext:
|
||||||
runAsGroup: 1001
|
runAsGroup: 1001
|
||||||
runAsNonRoot: true
|
runAsNonRoot: true
|
||||||
@ -58,6 +62,10 @@ spec:
|
|||||||
env:
|
env:
|
||||||
- name: RUN_MODE
|
- name: RUN_MODE
|
||||||
value: "tasks"
|
value: "tasks"
|
||||||
|
- name: DEBUG
|
||||||
|
value: "0"
|
||||||
|
- name: REDIS_CONN
|
||||||
|
value: "redis://:@localhost:6379/9"
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
- name: cache
|
- name: cache
|
||||||
mountPath: "/app/cache"
|
mountPath: "/app/cache"
|
||||||
|
Loading…
Reference in New Issue
Block a user