first upload

This commit is contained in:
邱博亞 2021-04-19 10:04:27 +08:00
parent 04caf7b886
commit 880e85290f
68 changed files with 1629 additions and 1159 deletions

BIN
.DS_Store vendored Normal file

Binary file not shown.

0
README.md Normal file
View File

BIN
assets/.DS_Store vendored Normal file

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 815 KiB

View File

@ -510,10 +510,10 @@
//header banner setting
if ( location.href.search('editmode=on') != -1 ) {
$('.header-banner').css('z-index','2');
$('.header-banner').css('z-index','0');
$('.header-banner').css('position','absolute');
} else {
$('.header-banner').css({
'position': 'absolute',
'top': '0',
'z-index': '-2',
});
@ -597,11 +597,22 @@ extendPanelWidget();
// 當文件物件模型(DOM)載入後執行init函數
$(document).ready(function() {
$(window).scroll(function() {
var windowBottom = $(window).scrollTop() + $(window).innerHeight();
$('.onepart .introtext').each(function() {
var mid = $(this).offset().top + $(this).height()/2;
if( mid < windowBottom && mid > $(window).scrollTop()){
$(this).addClass('animationtext')
} else {
$(this).removeClass('animationtext')
}
})
})
//RWD 自動縮放headerbannner
function headerH() {
if ($(window).width() < 768) {
const navH = $('.layout-header .navbar-header').outerHeight();
$('.header-banner').css('height', navH );
}
}
headerH();
@ -610,8 +621,19 @@ extendPanelWidget();
})
init();
if ($(window).width() < 768) {
$('.introtext').after($('.introimage'));
} else {
$('.introtext').before($('.introimage'));
}
});
$(window).resize(function() {
if ($(window).width() < 768) {
$('.introtext').after($('.introimage'));
} else {
$('.introtext').before($('.introimage'));
}
});
$(window).load(function(){
$("iframe[src*='google']").attr('title','googleOauth');
});
@ -624,4 +646,3 @@ extendPanelWidget();
// });
}(jQuery, window));

BIN
assets/stylesheets/.DS_Store vendored Normal file

Binary file not shown.

View File

@ -1,7 +1,112 @@
@charset "utf-8";
@import "initial";
@media(max-width:1024px){
#main-nav{
width: 100%;
}
.layout-header{
height: 640px;
}
}
@media(min-width:1024px){
.introtext{
margin-top: 12em;
}
}
@media only screen and (min-width: 767px) and (max-width: 1024px){
.layout-header .header-nav{
position: absolute;
right: 0;
padding: 2em;
}
.layout-header .navbar-header{
padding: 0 2em;
}
}
@media only screen and (min-width: 767px) and (max-width: 769px){
.introtext{
margin-top:3em;
}
}
@media(max-width: 767px) {
.modules-menu .modules-menu-level-0>li { margin: 0; }
.modules-menu .modules-menu-level-0>li:hover { background: transparent; }
.introtext{
padding-bottom: 6em;
padding-top: 6em;
}
}
@media(max-width: 768px) {
.layout-header{
height: 480px;
}
.down{
.ad-overlay{
padding-bottom: 2em!important;
}
}
}
@media(min-width: 769px) {
.introtext{
margin-top: 6em;
}
}
@media(max-width: $screen-xs) {
.container > .navbar-header {
margin: 0;
}
.header-contain{
background-color:#ffffffb8;
padding-bottom: 1em;
}
.layout-header{
height: 440px;
}
.header-banner{
img{
max-width: none;
height: 480px;
}
}
.modules-menu .modules-menu-level-1{
background-color: #459967;
}
.right{
padding: 0;
}
.left{
padding: 0;
}
.introimage{
padding: 0;
}
.layout-content-inner {
padding: 0!important;
}
.layout-content-box2{
padding-top: 3em;
}
}
@media(min-width:767px){
.header-contain{
z-index: 1;
}
.introimage{
padding-left: 8em;
}
.left{
padding-right: 0.25rem;
}
.right{
padding-left: 0.25rem;
}
.header-banner {
img{
width:100%;
}
}
.onepart{
padding-bottom: 6em;
padding-top: 6em;
}
}

View File

@ -0,0 +1,59 @@
.response-content {
justify-self: auto;
}
.response-content {
justify-self: auto;
}
.response-content {
justify-self: auto;
}
.response-content {
justify-self: auto;
}
.response-content {
justify-self: auto;
}
.response-content {
justify-self: auto;
}
.response-content {
justify-self: auto;
}
.response-content {
justify-self: auto;
}
.response-content {
justify-self: auto;
}
.response-content {
justify-self: auto;
}
.response-content {
justify-self: auto;
}
.response-content {
justify-self: auto;
}
.response-content {
justify-self: auto;
}
.response-content {
justify-self: auto;
}
.response-content {
justify-self: auto;
}
.response-content {
justify-self: auto;
}
.response-content {
justify-self: auto;
}
.response-content {
justify-self: auto;
}

View File

@ -55,8 +55,8 @@ a.btn-primary {
font-size: 0.8125rem;
&:hover {
background-color: darken($theme-color-main, 10%);
border-color: darken($theme-color-main, 10%);
background-color: darken($theme-color-second, 10%);
border-color: darken($theme-color-second, 10%);
}
}

View File

@ -15,8 +15,18 @@
font-size: 0.750em;
border-radius: 0.125em;
z-index: 1050;
animation:animateTop 0.5s linear infinite alternate;
-webkit-animation:animateTop 0.5s linear infinite alternate;
&:hover {
background: rgba($theme-color-main, 1);
background: $theme-color-second;
}
}
@-webkit-keyframes animateTop{
from{bottom:1em;}
to{bottom:1.2em;}
}
@keyframes animateTop{
from{bottom:1em;}
to{bottom:1.2em;}
}

View File

@ -13,7 +13,7 @@ $theme-red: #d20001;
$theme-blue: #003d7e;
$theme-color-main: #333333;
$theme-color-second: #91BFEA;
$theme-color-second: #4dac74;
$theme-color-third: #ed4c43;
$theme-color-green: #32D9C3;
@ -84,3 +84,16 @@ $w-item-heading-font-size: 0.85rem;
// --------------------------------------------------
$border-width: 0.25em;
.response-content {
justify-self: auto;
}

View File

@ -4,9 +4,131 @@
.layout-content {
min-height: 37.5em;
background: $theme-green-light;
padding-bottom: 6em;
background-color: #fff;
background-image: linear-gradient(180deg, transparent 0, rgba(191,139,61,0.1) 100%);
.container {
@extend .response-container;
}
}
.down{
display: flex;
width: 100%;
.columnbox{
width: 50%;
}
.leftbox{
padding-right: 0.25rem;
}
.rightbox{
padding-left: 0.25rem;
}
.ad-overlay{
padding-bottom: 3em!important;
}
}
.big{
padding: 0!important;
}
.onepart{
.w-ba-banner{
&:hover{
img{
}
}
}
}
.layout-content-box2{
.w-ba-banner{
&:hover{
-webkit-transition: all .3s ease;
-moz-transition: all .3s ease;
-ms-transition: all .3s ease;
-o-transition: all .3s ease;
transition: all .3s ease;
img{
transform: scale(1.1);
}
.transitionfade{
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
background-color: rgba(0,0,0,.4);
-webkit-transition: .3s ease-out;
-moz-transition: .3s ease-out;
-ms-transition: .3s ease-out;
-o-transition: .3s ease-out;
transition: .3s ease-out;
}
}
}
}
.left{
.controlplay{
display: none;
}
ul.button-mid .prev-button{
display: none;
}
ul.button-mid .next-button{
display: none;
}
.ad-overlay h3{
text-align: center;
}
.ad-overlay{
padding-bottom: 5em;
}
.banner-pager{
display: none;
}
}
.right{
.controlplay{
display: none;
}
ul.button-mid .prev-button{
display: none;
}
ul.button-mid .next-button{
display: none;
}
.ad-overlay h3{
text-align: center;
}
.ad-overlay{
padding-bottom: 5em;
}
.banner-pager{
display: none;
}
}
.introtext{
opacity: 0;
-webkit-transform: translateY(15%) translateZ(0);
-moz-transform: translateY(15%) translateZ(0);
-o-transform: translateY(15%) translateZ(0);
-ms-transform: translateY(15%) translateZ(0);
transform: translateY(15%) translateZ(0);
-webkit-transition: transform 0.8s ease-out, opacity 0.4s ease;
-moz-transition: transform 0.8s ease-out, opacity 0.4s ease;
-o-transition: transform 0.8s ease-out, opacity 0.4s ease;
-ms-transition: transform 0.8s ease-out, opacity 0.4s ease;
transition: transform 0.8s ease-out, opacity 0.4s cubic-bezier(0.63, 0.01, 0, 1.02);
&:hover{
transform: scale(1.1);
}
}
.animationtext{
opacity: 1;
-webkit-transform: translateY(0) translateZ(0);
-moz-transform: translateY(0) translateZ(0);
-o-transform: translateY(0) translateZ(0);
-ms-transform: translateY(0) translateZ(0);
transform: translateY(0) translateZ(0);
}

View File

@ -6,7 +6,7 @@
padding: 2em 0;
color: $theme-color-main;
font-size: 0.8125em;
background-color: $theme-color-second;
background-color: #decdb7;
.container {
@extend .response-container;

View File

@ -7,15 +7,17 @@
margin-bottom: 0;
border: none;
border-radius: 0;
background-color: $theme-green-light;
z-index: 1;
height: 680px;
.container {
@extend .response-container;
}
.header-banner { overflow: hidden; }
.header-banner {
overflow: hidden;
width:100%;
position: fixed;
}
.header-nav {
padding: 1em 0;
padding: 1em;
color: $theme-color-main;
font-family: $main-font;
@ -38,10 +40,9 @@
}
.navbar-header {
padding: 0 0 1.25em;
padding: 0 ;
.navbar-brand {
height: unset;
margin: 0.5em 0;
padding-top: 0;
padding-bottom: 0;
@ -51,7 +52,6 @@
font-family: $main-font;
@media (min-width: $screen-sm) {
height: unset;
margin: 0.5rem 0 0;
padding-left: 0;
line-height: 3.75em;
@ -62,8 +62,8 @@
}
@media (max-width: 480px) {
height: 3.5em;
padding: 0 0.5rem;
height: 2.5em;
padding: 0;
margin: 0;
}
@ -127,3 +127,8 @@
transform: rotate(-45deg);
}
}
.headertext{
padding-top: 10em;
position: absolute;
}

View File

@ -5,7 +5,6 @@
.layout-slide {
position: relative;
z-index: 0;
background: $theme-green-light;
.w-ad-banner {
max-width: 75em;

View File

@ -36,7 +36,7 @@
position: absolute;
width: 100%;
bottom: 0;
background-image: linear-gradient(180deg,transparent 0,rgba(0,0,0,.7) 40%,#000);
background-image:linear-gradient(180deg, transparent 0, rgba(0, 0, 0, 0.5) 20%, #000000a3);
padding: 1.5em 1em;
h3 {
margin: 0;
@ -46,8 +46,7 @@
p { margin: 0; padding: 0.5rem; color: $theme-white; }
@media(max-width: $screen-sm) {
padding: 0.5em 1em;
position: relative;
background: #333333;
position: absolute;
h3 { font-size: 1em; }
p { font-size: 0.75em; padding: 0.3rem 0.5rem 0.8rem 0.5rem; }
}
@ -131,28 +130,23 @@
}
ul.button-mid{
width: 100%;
top: 50%;
position: absolute;
padding: 0;
margin-top: 0;
margin: 0;
transform: translateY(-50%);
z-index: 999;
.prev-button{
transition: 0.4s;
position: relative;
float:left;
left: 0.5rem;
width: 2.5rem;
/* background: url(/assets/next.png) no-repeat center; */
height: 2.5rem;
font-size: 2.2rem;
color: #ffffff;
background: rgba(0,0,0,0.2);
text-align: center;
line-height: 2.5rem;
top: 50%;
position: absolute;
transform: translateY(-50%);
z-index: 999;
&:hover {
background: rgba(0,0,0,0.1);
}
@ -169,13 +163,17 @@ ul.button-mid{
position: relative;
right: 0.5rem;
width: 2.5rem;
/* background: url(/assets/next.png) no-repeat center; */
height: 2.5rem;
font-size: 2.2rem;
color: $theme-white;
background: rgba(0,0,0,0.2);
text-align: center;
line-height: 2.5rem;
top: 50%;
position: absolute;
transform: translateY(-50%);
z-index: 999;
&:hover {
background: rgba(0,0,0,0.1);
}
@ -211,9 +209,8 @@ ul.button-mid{
}
@media(max-width: $screen-sm) {
.ad-overlay {
padding: 0.5em 1em;
position: relative;
background: #333333;
padding: 3em 1em;
position: absolute;
h3 { font-size: 1em; }
p { font-size: 0.75em; }
}
@ -283,3 +280,60 @@ ul.button-mid{
z-index: 101 !important;
}
}
//Widget 5
.ba-banner-widget-5 {
background: url(/assets/BANNER-BG-01.jpg) 0 0 no-repeat;
.slide-img { padding: 1rem 1.5rem; }
.slide-content {
z-index: 200;
font-family: $main-font;
padding-top: 0.5rem;
padding-left: 0;
h3 {
font-size: 1rem;
margin: 0.5em 0;
color: #12517a;
}
div {
white-space: normal;
word-break: break-all;
font-size: 1rem;
color: #373634;
padding: 0 2em 0.5em 0;
}
}
.controlplay { display: none; }
.banner-pager {
right: 1rem;
top: 0;
width: unset;
li { height: unset; width: unset; }
a { background: #a0d2f3;}
}
@media(max-width: $screen-sm) {
.slide-content {
padding: 0.5em 1em;
position: relative;
background: #a0d2f3;
h3 { font-size: 1em; }
div { font-size: 0.75em; }
}
.controlplay {
right: 0;
a { padding: 0 5px;}
a i { font-size: 0.75em; }
}
}
@media(max-width: $screen-sm -1) {
ul.button-mid.next-button, ul.button-mid.prev-button{
top: 35%;
transform: translateY(-35%);
}
.slide-content h3, .slide-content div { color: $theme-white; }
.w-ba-banner__wrap { overflow: visible;}
}
}

View File

@ -19,10 +19,9 @@
}
.modules-menu-level-0 {
margin: 0 0 0.5em 0;
margin:2em 0 0.5em 0;
padding: 0;
list-style: none;
width: 100%;
display: flex;
justify-content: space-around;
@ -76,7 +75,13 @@
position: relative;
margin: 0 ;
padding: 0 1em;
border-radius: 0.5em;
border-bottom: 0.0625em solid lighten($theme-gray, 5%);
-webkit-transition: background 0.3s linear 0s, color 0.3s linear 0s;
-moz-transition: background 0.3s linear 0s, color 0.3s linear 0s;
-ms-transition: background 0.3s linear 0s, color 0.3s linear 0s;
-o-transition: background 0.3s linear 0s, color 0.3s linear 0s;
transition: background 0.3s linear 0s, color 0.3s linear 0s;
& > a {
display: block;
@ -100,7 +105,8 @@
@media (min-width: $screen-sm) {
position: relative;
margin: 0;
background-color: #ffffff7d;
margin: 0 0.3rem;
padding: 0;
border-bottom: none;
@ -137,6 +143,7 @@
& > a {
padding: 0.5rem;
font-weight: bold;
color: $theme-color-main;
}
@ -154,7 +161,7 @@
min-width: 100%;
margin: 0;
padding: 0;
background-color: $theme-gray;
background-color: #f1901bc9;
list-style: none;
z-index: 1;
@ -175,7 +182,7 @@
&:hover {
background-color: $theme-color-second;
& > a {
color: $theme-color-main;
color: #fff;
}
}
}
@ -267,7 +274,7 @@
width: 80%;
position: absolute;
right: 0;
background: #a51832;
background:$theme-color-second;
height: 100%;
top: 0;
padding-top: 40px;

View File

@ -33,6 +33,11 @@
.response-container {
position: relative;
@media (min-width: $screen-xs) {
width: 100%;
padding: 0;
}
@media (min-width: $screen-sm) {
width: 100%;
}

View File

@ -18,7 +18,7 @@
<div class="cover"></div>
</div>
<header class="navbar layout-header no-print" role="navigation">
<div class="container">
<div class="container header-contain">
<div class="header-nav" >
<a id="accesskey_top" accesskey="U" title="accesskey top" href="#" title="Toolbar">:::</a>
{{header-data}}
@ -34,10 +34,10 @@
<script>$(document).ready(function(){var url =$('.site-logo').eq(0).attr('src');if(url == "/assets/default-site-logo.png"){$('.navbar-brand').eq(0).remove();};if($('.navbar-brand').length == 2){$('.site-logo').css('height','auto')};$('.site-logo').eq(0).css('margin-right',0);$('.navbar-brand').css('padding-right',0)})</script>
<a title="{{site_title}}" class="navbar-brand" href="{{home_link}}"><img class="site-logo" src="{{logo_url}}" alt="site-logo"> {{site_name}}</a>
</div>
<section class="header-banner" data-pp="1000"></section>
<div class="collapse navbar-collapse modules-menu" id="layout-navigation">
<a id="accesskey_menu" title="accesskey menu" accesskey="M" href="#" title="Main menu">:::</a>
<%= render_menu %>
</div>
</div>
<div class="class= header-banner" data-pp="1000"> </div>
</header>

View File

@ -20,12 +20,9 @@
<section class="layout-content-box col-sm-4" data-pp="4"></section>
<section class="layout-content-box col-sm-8" data-pp="3"></section>
</div>
<div class="column row">
<div class="two-column col-sm-6" data-pp="11"></div>
<div class="two-column col-sm-6" data-pp="12"></div>
<div class="three-column col-sm-4" data-pp="14"></div>
<div class="three-column col-sm-4" data-pp="15"></div>
<div class="three-column col-sm-4" data-pp="13"></div>
<div class="column row onepart">
<div class="two-column col-sm-5 introimage" data-pp="11"></div>
<div class="two-column col-sm-7 introtext " data-pp="12"></div>
</div>
<section class="extra-box col-sm-12" data-pp="5"></section>
</div>
@ -41,11 +38,20 @@
<section class="layout-content-box col-sm-8" data-pp="17"></section>
</div>
<div class="column row">
<div class="two-column col-sm-6" data-pp="18"></div>
<div class="two-column col-sm-6" data-pp="19"></div>
<div class="three-column col-sm-4" data-pp="20"></div>
<div class="three-column col-sm-4" data-pp="21"></div>
<div class="three-column col-sm-4" data-pp="22"></div>
<div class="two-column col-sm-6 left">
<div class="three-column col-sm-12 big" data-pp="20"></div>
<div class="down">
<div class="columnbox leftbox" data-pp="21"></div>
<div class="columnbox rightbox" data-pp="22"></div>
</div>
</div>
<div class="two-column col-sm-6 right" >
<div class="down">
<div class="columnbox leftbox" data-pp="24"></div>
<div class="columnbox rightbox" data-pp="25"></div>
</div>
<div class="three-column col-sm-12 big" data-pp="26"></div>
</div>
</div>
<section class="extra-box col-sm-12" data-pp="23"></section>
</div>

View File

@ -24,11 +24,12 @@
>
<a href="{{link}}" target="{{target}}" title="{{alt_title}}">
<img class="w-ba-banner__image banner-responsive" src="{{image_link}}" alt="{{alt_title}}">
<div class="ad-overlay w-ad-banner__overlay_{{subpart-id}}"></div>
<div class="transitionfade"></div>
</a>
</div>
</div>
<div class="ad-overlay w-ad-banner__overlay_{{subpart-id}}"></div>
<div class="w-ba-banner__caption banner-pager banner_caption_{{subpart-id}}"></div>
<ul class="controlplay"><a class="resume-slide" title = "<%= (I18n.locale.to_s =="zh_tw") ? "繼續播放" : "resume" %>"><i></i></a><a class="pause-slide" title = "<%= (I18n.locale.to_s =="zh_tw") ? "暫停播放" : "pause"%>"><i></i></a></ul>
<ul class="button-mid">

View File

@ -5,6 +5,7 @@
>
<a href="{{link}}" target="{{target}}" title="{{alt_title}}">
<img class="w-ba-banner__image" src="{{image_link}}" alt="{{alt_title}}">
<div class="transitionfade"></div>
</a>
</div>
</div>

View File

@ -0,0 +1,59 @@
<div class="w-ba-banner ba-banner-widget-5">
<div class="w-ba-banner__wrap cycle-slideshow"
data-list="images"
data-level="0"
data-cycle-slides=".w-ba-banner__slide"
data-cycle-log="false"
data-overlay=".w-ad-banner__overlay_{{subpart-id}}"
data-cycle-auto-height="{{base_image}}"
data-cycle-speed="{{speed}}"
data-cycle-timeout="{{timeout}}"
data-cycle-fx="{{ad_fx}}"
data-cycle-pager=".banner_caption_{{subpart-id}}"
data-pager-template="<li><a></a></li>"
data-pager-active-class="active-slide"
data-cycle-swipe=true
data-cycle-swipe-fx="scrollHorz"
>
<div class="w-ba-banner__slide {{class}}"
data-link="{{link}}"
data-cycle-title="{{title}}"
data-cycle-desc="{{context}}"
data-target="{{target}}"
>
<div class="slide-img col-md-4 col-sm-4">
<a href="{{link}}" target="{{target}}" title="{{alt_title}}">
<img class="w-ba-banner__image banner-responsive" src="{{image_link}}" alt="{{alt_title}}">
</a>
</div>
<div class="slide-content col-md-8 col-sm-8">
<a href="{{link}}" target="{{target}}" title="{{alt_title}}"><h3>{{title}}</h3></a>
<div>{{context}}</div>
</div>
</div>
</div>
<div class="w-ba-banner__caption banner-pager banner_caption_{{subpart-id}}"></div>
<ul class="controlplay"><a class="resume-slide" title = "<%= (I18n.locale.to_s =="zh_tw") ? "繼續播放" : "resume" %>"><i></i></a><a class="pause-slide" title = "<%= (I18n.locale.to_s =="zh_tw") ? "暫停播放" : "pause"%>"><i></i></a></ul>
<ul class="button-mid">
<i class="fa fa-angle-left prev-button" aria-hidden="true" title = "<%= (I18n.locale.to_s =="zh_tw") ? "上一張" : "prev" %>"></i>
<i class="fa fa-angle-right next-button" aria-hidden="true" title = "<%= (I18n.locale.to_s =="zh_tw") ? "下一張" : "next" %>"></i>
</ul>
</div>
<script>
var flag = 1;
$('.pause-slide').click(function(){
$(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").cycle('pause');
});
$('.resume-slide').click(function(){
$(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").cycle('resume');
});
$('.next-button').off('click').on('click',function(){
$(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").cycle("next");
})
$('.prev-button').off('click').on('click',function(){
$(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").cycle("prev");
})
</script>

View File

@ -39,7 +39,14 @@
"en" : "4. Pro Carousel ( image, Youtube video, navigation )"
},
"thumbnail" : "thumb.png"
},
{
"filename" : "ad_banner_widget5",
"name" : {
"zh_tw" : "5. 橫幅文字輪播 ( 圖片, 文字區域, 導航圖示 )",
"en" : "5. Carousel ( image, title, description, navigation )"
},
"thumbnail" : "thumb.png"
}
]
}

View File

@ -19,7 +19,7 @@
</ul>
<section class="s-annc__post-wrap">
<div class="s-annc__sub-img pull-right hide">
<div class="s-annc__sub-img pull-right {{hide_class}}">
<img src="{{img_src}}" alt="{{img_description}}"></img>
<span class="s-annc__img_description">{{img_description}}</span>
</div>
@ -66,7 +66,6 @@
// Links
hideEmptyEl($('.s-annc__link-title'), $('.s-annc__related-link'));
$(".s-annc__sub-img img[src*='upload']").parent().removeClass('hide');
$("img[src='']").remove();
}(jQuery));

View File

@ -0,0 +1,91 @@
<div class="widget-ask widget1">
<style type="text/css">
#new-ask-question .form-horizontal .control-group > *{
font-size: 1.2em;
}
.default_picker label{
display: none;
}
.ask-question .control-group{
flex-wrap: wrap;
display: flex;
width: 100%;
align-items: center;
}
.ask-question .controls > *{
display: block;
}
.ask-question .controls > script{
display: none;
}
.ask-question .form-horizontal .control-label{
width: 24%;
max-width: 15em;
min-width: 14em;
padding: 0;
text-align: center;
}
.ask-question .form-horizontal .control-group .controls{
margin: 0;
display: inline-flex;
align-items: center;
overflow: hidden;
position: relative;
min-width: 10em;
max-width: 20em;
padding-left: 0;
width: 70%;
padding: 0.5em;
justify-content: center;
}
.ask-question .form-horizontal input[type="text"],.ask-question .form-horizontal select{
width: 97%;
max-width: 13.75em;
}
.ask-question .form-horizontal .form-actions{
position: relative;
padding: 1em 0 0 0;
text-align: center;
}
</style>
<link href="/assets/custom_field.css" media="screen" rel="stylesheet">
<script src="/assets/validator"></script>
<link href="/assets/ask/ask.css" media="screen" rel="stylesheet">
<script type='text/javascript'>
$('#new-ask-question .required').each(function() {
$(this).text('*' + $(this).text());
});
$(function(){
var fv = new FormValidator($("#new_ask_question"));
fv.validate_functions.check_email = function(value){
reg = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9])+$/;
if (reg.test(value)) {
return true;
}else{
return false;
}
}
})
</script>
<h3 class="widget-title">
<span>{{widget-title}}</span>
</h3>
<div id="new-ask-question" class="ask-question">
<form action="{{form_url}}" method="post" class="form-horizontal" accept-charset="UTF-8">
{{token_tag}}
<div data-level="0" data-list="fields">
<div class="control-group">
{{label}}
<div class="controls">
{{content}}
</div>
</div>
</div>
<div class="form-actions">
<input type="hidden" name="referer_url" value="{{referer_url}}">
{{submit_tag}}
{{close_tag}}
</div>
</form>
</div>
</div>

View File

@ -0,0 +1,17 @@
<div class="widget-asks widget1">
<h3 class="widget-title">
<span>{{widget-title}}</span>
</h3>
<table class="table">
<thead>
<tr data-level="0" data-list="th" class="bg-primary">
<th>{{td}}</th>
</tr>
</thead>
<tbody data-level="0" data-list="ask_questions">
<tr data-level="1" data-list="td">
<td>{{content}}</td>
</tr>
</tbody>
</table>
</div>

20
modules/ask/info.json Normal file
View File

@ -0,0 +1,20 @@
{
"widgets" : [
{
"filename" : "ask_widget_form",
"name" : {
"zh_tw" : "1. 模組標題、發問介面",
"en" : "1. widget-title, question"
},
"thumbnail" : "thumb.png"
},
{
"filename" : "ask_widget_list",
"name" : {
"zh_tw" : "2. 模組標題、 發佈回覆列表",
"en" : "2. widget-title, published list"
},
"thumbnail" : "thumb.png"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

View File

@ -12,7 +12,7 @@
data-cycle-pause-on-hover="true"
data-cycle-log="false"
data-cycle-carousel-fluid="true">
<a class="widget-pic" href="{{link_to_show}}" title="{{album-name}}">
<a class="widget-pic" href="{{link_to_show}}">
<img
srcset="
{{thumb-large-src}} 1024w,

View File

@ -3,8 +3,7 @@
<span>{{widget-title}}</span>
</h3>
<div class="row widget-content" data-level="0" data-list="images">
<div class="album-item col-sm-4">
<a class="widget-pic" href="{{link_to_show}}">
<a class="widget-pic col-xs-4" href="{{link_to_show}}">
<img
srcset="
{{thumb-large-src}} 1024w,
@ -13,7 +12,5 @@
alt="{{alt_title}}"
>
</a>
<a class="album-name" href="{{link_to_show}}" title="{{album-name}}">{{album-name}}</a>
</div>
</div>
</div>

View File

@ -10,7 +10,7 @@
</div>
<section class="index-part">
<h4 class="index-content-title">
<a href="{{link_to_show}}" title="{{album-name}}">{{album-name}}</a>
<a href="{{link_to_show}}">{{album-name}}</a>
</h4>
<div class="index-img-description">{{album-description}}</div>
</section>

View File

@ -2,7 +2,7 @@
<h1 class="index-title">
<span>{{page-title}}</span>
</h1>
<div class="row" data-level="0" data-list="albums">
<div class="row" data-level="0" data-list="albums" style="display: flex;flex-wrap: wrap;">
<div class="index-content">
<div class="index-content-inner clearfix row">
<div class="index-pic col-xs-5 col-sm-2">
@ -10,7 +10,7 @@
</div>
<section class="index-part col-xs-7 col-sm-10">
<h4 class="index-content-title">
<a href="{{link_to_show}}" title="{{album-name}}">{{album-name}}</a>
<a href="{{link_to_show}}">{{album-name}}</a>
</h4>
<div class="index-img-description">{{album-description}}</div>
</section>

View File

@ -2,7 +2,7 @@
<h1 class="index-title">
<span>{{page-title}}</span>
</h1>
<div class="row" data-level="0" data-list="albums">
<div class="row" data-level="0" data-list="albums" style="display: flex;flex-wrap: wrap;">
<div class="index-content col-xs-4 col-sm-3">
<div class="index-content-inner">
<div class="index-pic">
@ -10,7 +10,7 @@
</div>
<section class="index-part">
<h4 class="index-content-title">
<a href="{{link_to_show}}" title="{{album-name}}">{{album-name}}</a>
<a href="{{link_to_show}}">{{album-name}}</a>
</h4>
</section>
</div>

View File

@ -2,7 +2,7 @@
<h1 class="index-title">
<span>{{page-title}}</span>
</h1>
<div class="row" data-level="0" data-list="albums">
<div class="row" data-level="0" data-list="albums" style="display: flex;flex-wrap: wrap;">
<div class="index-content">
<div class="index-content-inner clearfix row">
<div class="index-pic col-xs-5 col-sm-2">
@ -10,7 +10,7 @@
</div>
<section class="index-part col-xs-7 col-sm-10">
<h4 class="index-content-title">
<a href="{{link_to_show}}" title="{{album-name}}">{{album-name}}</a>
<a href="{{link_to_show}}">{{album-name}}</a>
</h4>
</section>
</div>

View File

@ -49,14 +49,6 @@
"en" : "2. Thumbnail"
},
"thumbnail" : "thumb.png"
},
{
"filename" : "gallery_widget3",
"name" : {
"zh_tw" : "3. 跑馬燈 ( 單張 )",
"en" : "3. Thumbnail"
},
"thumbnail" : "thumb.png"
}
]
}

View File

@ -7,7 +7,7 @@
<div class="show-content col-xs-6 col-sm-2">
<div class="show-content-inner">
<div class="show-pic">
<a href="{{link_to_show}}">
<a href="{{link_to_show}}" onclick="window.location.hash = '{{link_to_show}}';GalleryTheater();">
<img class="img" src="{{thumb-src}}" alt="{{alt_title}}">
</a>
<p class="show-description">{{image-description}}</p>

View File

@ -0,0 +1,62 @@
<script type="text/javascript">
$( ".selectbox" ).ready(function() {
var option_len = $(".search-widget option").length
for (var i=0;i<option_len;i++){
if($(".search-widget option").eq(i).data('selected')=="selected"){
$(".search-widget option").eq(i).attr('selected','selected')
}
}
});
</script>
<div class="search-widget personal-activities">
<h3>{{widget-title}}</h3>
<form action="{{url}}" method="get">
<label for="selectbox">{{select_text}}</label>
<select class="selectbox" name="selectbox" data-level="0" data-list="choice">
<option value={{choice_value}} data-selected='{{choice_select}}' >
{{choice_show}}</option>
</select>
<label for="keywords">{{search_text}}</label>
<input name="keywords" id="keywords" placeholder="Keywords" type="text" value="{{search_value}}" title="keywords">
<button>Go</button>
<a id="filter" style="" href="{{url}}">Clear</a>
</form>
</div>
<table class="table table-hover table-striped projects-index activities-index dt-responsive nowrap">
<caption><h3>{{widget-title}}</h3></caption>
<thead>
<tr>
<th class="col-md-1">{{year}}</th>
<th class="col-md-2">{{activity_name}}</th>
<th class="col-md-1">{{activity_organizer}}</th>
<th class="col-md-2 min-tablet">{{activity_area}}</th>
<th class="col-md-2 min-tablet-l">{{activity_start_date}}</th>
<th class="col-md-2 min-tablet-l">{{activity_end_date}}</th>
<th class="col-md-2 min-tablet-l">{{note}}</th>
</tr>
</thead>
<tbody data-level="0" data-list="activities">
<tr>
<td>{{year}}</td>
<td><a href="{{link_to_show}}">{{activity_name}}</a></td>
<td>{{activity_organizer}}</td>
<td>{{activity_area}}</td>
<td>{{activity_start_date}}</td>
<td>{{activity_end_date}}</td>
<td>{{note}}</td>
</tr>
</tbody>
</table>
{{pagination_goes_here}}
<script>
$('table.activities-index').DataTable({
searching: false,
paging: false,
ordering: false,
info: false
});
</script>

View File

@ -1,8 +1,8 @@
<table class="table table-hover table-striped projects-index personal-book dt-responsive nowrap">
<caption><h3>{{widget-title}}</h3></caption>
<table class="table table-hover table-striped journal-papers-index">
<caption><h1>{{widget-title}}</h1></caption>
<thead>
<tr data-level="0" data-list="headers">
<th class="">{{head-title}}</th>
<th class="col-md-{{col}}">{{head-title}}</th>
</tr>
</thead>
<tbody data-level="0" data-list="book_list">
@ -12,21 +12,3 @@
</tbody>
</table>
{{pagination_goes_here}}
<script>
for ( var i = 0; i < $('thead th').length ; i++ ) {
if( $('thead th').length > 2 ) {
var th = $('thead th');
for ( var q = 3; q < th.length ; q++ ) {
th.eq(q).addClass('min-tablet-l');
}
}
}
$('table.personal-book').DataTable({
searching: false,
paging: false,
ordering: false,
info: false
});
</script>

View File

@ -8,24 +8,25 @@ $( ".selectbox" ).ready(function() {
}
});
</script>
<div class="search-widget personal-book">
<h3>{{widget-title}}</h3>
<div class="search-widget">
<form action="{{url}}" method="get">
<label for="selectbox">{{select_text}}</label>
<input type="hidden" name="authenticity_token" value="{{csrf_value}}">
{{select_text}}
<select class="selectbox" name="selectbox" data-level="0" data-list="choice">
<option value={{choice_value}} data-selected='{{choice_select}}' >
{{choice_show}}</option>
</select>
<label for="keywords">{{search_text}}</label>
<input name="keywords" id="keywords" placeholder="Keywords" type="text" value="{{search_value}}" title="keywords">
{{search_text}}
<input name="keywords" placeholder="Keywords" type="text" value="{{search_value}}">
<button>Go</button>
<a id="filter" style="" href="{{url}}">Clear</a>
</form>
</div>
<table class="table table-hover table-striped personal-book dt-responsive nowrap">
<table class="table table-hover table-striped journal-papers-index">
<thead>
<tr data-level="0" data-list="headers">
<th class="">{{head-title}}</th>
<th class="col-md-{{col}}">{{head-title}}</th>
</tr>
</thead>
<tbody data-level="0" data-list="book_list">
@ -35,21 +36,3 @@ $( ".selectbox" ).ready(function() {
</tbody>
</table>
{{pagination_goes_here}}
<script>
for ( var i = 0; i < $('thead th').length ; i++ ) {
if( $('thead th').length > 2 ) {
var th = $('thead th');
for ( var q = 3; q < th.length ; q++ ) {
th.eq(q).addClass('min-tablet-l');
}
}
}
$('table.personal-book').DataTable({
searching: false,
paging: false,
ordering: false,
info: false
});
</script>

View File

@ -1,8 +1,8 @@
<table class="table table-hover table-striped projects-index writing-conferences dt-responsive nowrap">
<caption><h3>{{widget-title}}</h3></caption>
<table class="table table-hover table-striped projects-index">
<caption><h1>{{widget-title}}</h1></caption>
<thead>
<tr data-level="0" data-list="headers">
<th class="">{{head-title}}</th>
<th class="col-md-{{col}}">{{head-title}}</th>
</tr>
</thead>
<tbody data-level="0" data-list="writing_conferences">
@ -12,21 +12,3 @@
</tbody>
</table>
{{pagination_goes_here}}
<script>
for ( var i = 0; i < $('thead th').length ; i++ ) {
if( $('thead th').length > 2 ) {
var th = $('thead th');
for ( var q = 3; q < th.length ; q++ ) {
th.eq(q).addClass('min-tablet-l');
}
}
}
$('table.writing-conferences').DataTable({
searching: false,
paging: false,
ordering: false,
info: false
});
</script>

View File

@ -9,23 +9,24 @@ $( ".selectbox" ).ready(function() {
});
</script>
<h3>{{widget-title}}</h3>
<div class="search-widget writing-conferences">
<div class="search-widget">
<form action="{{url}}" method="get">
<label for="selectbox">{{select_text}}</label>
<input type="hidden" name="authenticity_token" value="{{csrf_value}}">
{{select_text}}
<select class="selectbox" name="selectbox" data-level="0" data-list="choice">
<option value={{choice_value}} data-selected='{{choice_select}}' >
{{choice_show}}</option>
</select>
<label for="keywords">{{search_text}}</label>
<input name="keywords" id="keywords" placeholder="Keywords" type="text" value="{{search_value}}" title="keywords">
{{search_text}}
<input name="keywords" placeholder="Keywords" type="text" value="{{search_value}}">
<button>Go</button>
<a id="filter" style="" href="{{url}}">Clear</a>
</form>
</div>
<table class="table table-hover table-striped projects-index writing-conferences dt-responsive nowrap">
<table class="table table-hover table-striped projects-index">
<thead>
<tr data-level="0" data-list="headers">
<th class="">{{head-title}}</th>
<th class="col-md-{{col}}">{{head-title}}</th>
</tr>
</thead>
<tbody data-level="0" data-list="writing_conferences">
@ -35,21 +36,3 @@ $( ".selectbox" ).ready(function() {
</tbody>
</table>
{{pagination_goes_here}}
<script>
for ( var i = 0; i < $('thead th').length ; i++ ) {
if( $('thead th').length > 2 ) {
var th = $('thead th');
for ( var q = 3; q < th.length ; q++ ) {
th.eq(q).addClass('min-tablet-l');
}
}
}
$('table.writing-conferences').DataTable({
searching: false,
paging: false,
ordering: false,
info: false
});
</script>

View File

@ -1,8 +1,8 @@
<table class="table table-hover table-striped projects-index personal-journal dt-responsive nowrap">
<table class="table table-hover table-striped projects-index">
<caption><h3>{{widget-title}}</h3></caption>
<thead>
<tr data-level="0" data-list="headers">
<th class="">{{head-title}}</th>
<th class="col-md-{{col}}">{{head-title}}</th>
</tr>
</thead>
<tbody data-level="0" data-list="journal_papers">
@ -12,21 +12,3 @@
</tbody>
</table>
{{pagination_goes_here}}
<script>
for ( var i = 0; i < $('thead th').length ; i++ ) {
if( $('thead th').length > 2 ) {
var th = $('thead th');
for ( var q = 3; q < th.length ; q++ ) {
th.eq(q).addClass('min-tablet-l');
}
}
}
$('table.personal-journal').DataTable({
searching: false,
paging: false,
ordering: false,
info: false
});
</script>

View File

@ -9,23 +9,24 @@ $( ".selectbox" ).ready(function() {
});
</script>
<h3>{{widget-title}}</h3>
<div class="search-widget personal-journal">
<div class="search-widget">
<form action="{{url}}" method="get">
<label for="selectbox">{{select_text}}</label>
<input type="hidden" name="authenticity_token" value="{{csrf_value}}">
{{select_text}}
<select class="selectbox" name="selectbox" data-level="0" data-list="choice">
<option value={{choice_value}} data-selected='{{choice_select}}' >
{{choice_show}}</option>
</select>
<label for="keywords">{{search_text}}</label>
<input name="keywords" id="keywords" placeholder="Keywords" type="text" value="{{search_value}}" title="keywords">
{{search_text}}
<input name="keywords" placeholder="Keywords" type="text" value="{{search_value}}">
<button>Go</button>
<a id="filter" style="" href="{{url}}">Clear</a>
</form>
</div>
<table class="table table-hover table-striped projects-index personal-journal dt-responsive nowrap">
<table class="table table-hover table-striped projects-index">
<thead>
<tr data-level="0" data-list="headers">
<th class="">{{head-title}}</th>
<th class="col-md-{{col}}">{{head-title}}</th>
</tr>
</thead>
<tbody data-level="0" data-list="journal_papers">
@ -35,21 +36,3 @@ $( ".selectbox" ).ready(function() {
</tbody>
</table>
{{pagination_goes_here}}
<script>
for ( var i = 0; i < $('thead th').length ; i++ ) {
if( $('thead th').length > 2 ) {
var th = $('thead th');
for ( var q = 3; q < th.length ; q++ ) {
th.eq(q).addClass('min-tablet-l');
}
}
}
$('table.personal-journal').DataTable({
searching: false,
paging: false,
ordering: false,
info: false
});
</script>

View File

@ -1,8 +1,8 @@
<table class="table table-hover table-striped projects-index personal-patent dt-responsive nowrap">
<caption><h3>{{widget-title}}</h3></caption>
<table class="table table-hover table-striped projects-index">
<caption><h1>{{widget-title}}</h1></caption>
<thead>
<tr data-level="0" data-list="headers">
<th class="">{{head-title}}</th>
<th class="col-md-{{col}}">{{head-title}}</th>
</tr>
</thead>
<tbody data-level="0" data-list="patents">
@ -12,21 +12,3 @@
</tbody>
</table>
{{pagination_goes_here}}
<script>
for ( var i = 0; i < $('thead th').length ; i++ ) {
if( $('thead th').length > 2 ) {
var th = $('thead th');
for ( var q = 4; q < th.length ; q++ ) {
th.eq(q).addClass('min-tablet-l');
}
}
}
$('table.personal-patent').DataTable({
searching: false,
paging: false,
ordering: false,
info: false
});
</script>

View File

@ -8,25 +8,25 @@ $( ".selectbox" ).ready(function() {
}
});
</script>
<div class="search-widget personal-patent">
<h3>{{widget-title}}</h3>
<div class="search-widget">
<form action="{{url}}" method="get">
<label for="selectbox">{{select_text}}</label>
<input type="hidden" name="authenticity_token" value="{{csrf_value}}">
{{select_text}}
<select class="selectbox" name="selectbox" data-level="0" data-list="choice">
<option value={{choice_value}} data-selected='{{choice_select}}' >
{{choice_show}}</option>
</select>
<label for="keywords">{{search_text}}</label>
<input name="keywords" id="keywords" placeholder="Keywords" type="text" value="{{search_value}}" title="keywords">
{{search_text}}
<input name="keywords" placeholder="Keywords" type="text" value="{{search_value}}">
<button>Go</button>
<a id="filter" style="" href="{{url}}">Clear</a>
</form>
</div>
<table class="table table-hover table-striped projects-index personal-patent dt-responsive nowrap">
<table class="table table-hover table-striped projects-index">
<thead>
<tr data-level="0" data-list="headers">
<th class="">{{head-title}}</th>
<th class="col-md-{{col}}">{{head-title}}</th>
</tr>
</thead>
<tbody data-level="0" data-list="patents">
@ -36,21 +36,3 @@ $( ".selectbox" ).ready(function() {
</tbody>
</table>
{{pagination_goes_here}}
<script>
for ( var i = 0; i < $('thead th').length ; i++ ) {
if( $('thead th').length > 2 ) {
var th = $('thead th');
for ( var q = 4; q < th.length ; q++ ) {
th.eq(q).addClass('min-tablet-l');
}
}
}
$('table.personal-patent').DataTable({
searching: false,
paging: false,
ordering: false,
info: false
});
</script>

View File

@ -1,8 +1,8 @@
<table class="table table-hover table-striped projects-index personal-projects dt-responsive nowrap">
<caption><h3>{{widget-title}}</h3></caption>
<table class="table table-hover table-striped projects-index">
<caption><h1>{{widget-title}}</h1></caption>
<thead>
<tr data-level="0" data-list="headers">
<th class="{{head-title}}">{{head-title}}</th>
<th class="col-md-{{col}}">{{head-title}}</th>
</tr>
</thead>
<tbody data-level="0" data-list="projects">
@ -12,22 +12,3 @@
</tbody>
</table>
{{pagination_goes_here}}
<script>
$('.計畫類別').addClass('min-tablet');
for ( var i = 0; i < $('thead th').length ; i++ ) {
if( $('thead th').length > 2 ) {
var th = $('thead th');
for ( var q = 3; q < th.length ; q++ ) {
th.eq(q).addClass('min-tablet-l');
}
}
}
$('table.personal-projects').DataTable({
searching: false,
paging: false,
ordering: false,
info: false
});
</script>

View File

@ -8,25 +8,25 @@ $( ".selectbox" ).ready(function() {
}
});
</script>
<div class="search-widget personal-projects">
<h3>{{widget-title}}</h3>
<div class="search-widget">
<form action="{{url}}" method="get">
<label for="selectbox">{{select_text}}</label>
<input type="hidden" name="authenticity_token" value="{{csrf_value}}">
{{select_text}}
<select class="selectbox" name="selectbox" data-level="0" data-list="choice">
<option value={{choice_value}} data-selected='{{choice_select}}' >
{{choice_show}}</option>
</select>
<label for="keywords">{{search_text}}</label>
<input name="keywords" id="keywords" placeholder="Keywords" type="text" value="{{search_value}}" title="keywords">
{{search_text}}
<input name="keywords" placeholder="Keywords" type="text" value="{{search_value}}">
<button>Go</button>
<a id="filter" style="" href="{{url}}">Clear</a>
</form>
</div>
<table class="table table-hover table-striped projects-index personal-projects dt-responsive nowrap">
<table class="table table-hover table-striped projects-index">
<thead>
<tr data-level="0" data-list="headers">
<th class="{{head-title}}">{{head-title}}</th>
<th class="col-md-{{col}}">{{head-title}}</th>
</tr>
</thead>
<tbody data-level="0" data-list="projects">
@ -36,22 +36,3 @@ $( ".selectbox" ).ready(function() {
</tbody>
</table>
{{pagination_goes_here}}
<script>
$('.計畫類別').addClass('min-tablet');
for ( var i = 0; i < $('thead th').length ; i++ ) {
if( $('thead th').length > 2 ) {
var th = $('thead th');
for ( var q = 3; q < th.length ; q++ ) {
th.eq(q).addClass('min-tablet-l');
}
}
}
$('table.personal-projects').DataTable({
searching: false,
paging: false,
ordering: false,
info: false
});
</script>

View File

@ -30,7 +30,6 @@
<script type="text/javascript">
(function(){
var main_div = $("div[data-subpart-id"{{subpart-id}})
$('.marquee li a').attr('title','marquee');
}
</script>

View File

@ -9,9 +9,10 @@
<link rel="stylesheet" media="print" type="text/css" href="/assets/template/print.css">
<%= javascript_include_tag "plugin/modernizr.js"%>
<%= javascript_include_tag "plugin/picturefill.min.js"%>
<%= javascript_include_tag "//cdnjs.cloudflare.com/ajax/libs/jquery/1.11.0/jquery.min.js"%>
<%= javascript_include_tag "jquery.min"%>
<%= javascript_include_tag "jquery_prefix"%>
<%= javascript_include_tag "plugin/jquery.mobile.custom.min.js"%>
<%= javascript_include_tag "//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.2/js/bootstrap.min.js"%>
<%= javascript_include_tag "bootstrap.min"%>
<%= javascript_include_tag "//cdnjs.cloudflare.com/ajax/libs/jquery.cycle2/20140415/jquery.cycle2.min.js"%>
<%= javascript_include_tag "//cdnjs.cloudflare.com/ajax/libs/jquery.cycle2/20140415/jquery.cycle2.carousel.min.js"%>
<%= javascript_include_tag "//cdnjs.cloudflare.com/ajax/libs/jquery.cycle2/20140415/jquery.cycle2.scrollVert.min.js"%>

View File

@ -1,4 +1 @@
{
"title" : "newOrbit2.0",
"key" : "newOrbit2.0",
"author" : "chihyu"}
{"key":"asiaH2","title":"主選單及Logo重疊於滿版主Banner圖片上首頁多種區塊配置供選擇","author":"亞洲大學公版橫式主選單2號版型(素淨)","thumbnail":"assets/images/design_thumb.png"}