i18n
xaoxuu 6 years ago
parent d64be958f6
commit 0c42075f2a
  1. 2
      _config.yml
  2. 7
      layout/_partial/scripts.ejs
  3. 2173
      source/js/volantis.js
  4. 12
      source/less/_header.less
  5. 14
      source/less/_main.less
  6. 19
      source/less/_toc.less
  7. 504
      source/less/_widget.less

@ -5,7 +5,7 @@ theme_info:
version: 1.0-beta10 version: 1.0-beta10
docs: https://xaoxuu.com/wiki/material-x/ docs: https://xaoxuu.com/wiki/material-x/
# 主题的CDN地址,如果你的源码托管到国内CDN可以更改此链接。如需启用CDN,请在主目录的config中设置import,详见文档。 # 主题的CDN地址,如果你的源码托管到国内CDN可以更改此链接。如需启用CDN,请在主目录的config中设置import,详见文档。
cdn: https://cdn.jsdelivr.net/gh/xaoxuu/cdn-material-x@18.12.30/ cdn: https://cdn.jsdelivr.net/gh/xaoxuu/cdn-material-x@18.12.31/
########################################################################## ##########################################################################
# 请务必阅读官方文档!!! # 请务必阅读官方文档!!!
# 请务必阅读官方文档!!! # 请务必阅读官方文档!!!

@ -69,7 +69,12 @@
<% if (config.valine){ %> <% if (config.valine){ %>
<% if (config.valine.enable && config.valine.app_id && config.valine.app_key){ %> <% if (config.valine.enable && config.valine.app_id && config.valine.app_key){ %>
<script src="//cdn1.lncld.net/static/js/3.0.4/av-min.js"></script> <script src="//cdn1.lncld.net/static/js/3.0.4/av-min.js"></script>
<script src="https://cdn.jsdelivr.net/gh/xaoxuu/volantis@1.0-beta2/js/volantis.js"></script> <% if (config.import && config.import.js == true) { %>
<script src="https://cdn.jsdelivr.net/gh/xaoxuu/volantis@1.0-beta3/js/volantis.min.js"></script>
<% } else { %>
<%- js('js/volantis.js') %>
<% } %>
<script> <script>
var GUEST_INFO = ['nick','mail','link']; var GUEST_INFO = ['nick','mail','link'];
var guest_info = '<%= config.valine.guest_info %>'.split(',').filter(function(item){ var guest_info = '<%= config.valine.guest_info %>'.split(',').filter(function(item){

File diff suppressed because one or more lines are too long

@ -301,14 +301,14 @@
position: fixed; position: fixed;
top: @height_navbar + @gap; top: @height_navbar + @gap;
right: 0; right: 0;
width: ~"calc(100% - 2*@{gap})";
z-index:9999 + 1; z-index:9999 + 1;
line-height: 2 * @gap; line-height: 2 * @gap;
background: white; background: white;
border-right: 0; border-right: 0;
box-shadow: @boxshadow_card_raised; box-shadow: @boxshadow_card_raised;
border-radius: @border_radius; border-radius: @border_radius;
transform: translate3d(~"calc(100% + 2*@{gap})", -0, 0); transform: translate3d(-40px, -40px, 0) scale(0,0);
transform-origin: right top;
.enable-trans(); .enable-trans();
&:hover { &:hover {
box-shadow: @boxshadow_card_raised; box-shadow: @boxshadow_card_raised;
@ -324,16 +324,12 @@
position: relative; position: relative;
display: block; display: block;
color: @black; color: @black;
// font-size: 0.8125em;
padding: 2px 20px; padding: 2px 20px;
border-left: 2px solid transparent; border-left: 4px solid transparent;
&:hover{ &:hover,&.active{
border-left: 4px solid @theme_main; border-left: 4px solid @theme_main;
background: fade(@theme_main, 10%); background: fade(@theme_main, 10%);
} }
&.active{
border-left: 4px solid @theme_main;
}
} }
} }
} }

@ -140,15 +140,15 @@
} }
.vemojis{ .vemojis{
display: flex;
justify-content: space-between;
i{ i{
width: 38px; width: auto;
height: 50px; height: 36px;
align-content: center; padding: 0;
margin: 8px 8px 0 8px;
.emoji{ .emoji{
padding: 6px 8px 10px 8px; height: 24px;
align-self: center;
display: flex;
vertical-align: middle;
} }
} }
} }

@ -4,9 +4,6 @@
border-radius: @border_radius; border-radius: @border_radius;
position: sticky; position: sticky;
top: @height_navbar + 1*@gap; top: @height_navbar + 1*@gap;
// bottom: @gap;
// max-height: ~"calc(100% - 2 * @{gap} - @{height_navbar})";
// max-height: 600px;
.enable-trans(); .enable-trans();
header{ header{
position: sticky; position: sticky;
@ -43,18 +40,22 @@
} }
} }
} }
.enable-trans();
@media(max-width: @on_phone){ @media(max-width: @on_phone){
position: fixed; position: fixed;
width: ~"calc(100% - 2 * @{gap})"; // width: ~"calc(100% - 2 * @{gap})";
top: @height_navbar; top: @height_navbar;
left: @gap;
box-shadow: @boxshadow_card_raised; box-shadow: @boxshadow_card_raised;
display: none; visibility: hidden;
.rightBtn{
display: none;
}
transform: scale(0,0);
transform-origin: right top;
&.active{ &.active{
display: block; visibility: visible;
transform: scale(1,1);
} }
} }
a { a {

@ -1,315 +1,281 @@
.l_side section{ .l_side section{
z-index: 0; z-index: 0;
&:extend(.z-depth-main); &:extend(.z-depth-main);
background: @theme_cardbg; background: @theme_cardbg;
margin-top: @gap; margin-top: @gap;
font-family: @fontfamily_base; font-family: @fontfamily_base;
font-size: @fontsize_base; font-size: @fontsize_base;
&:first-child{ &:first-child{
margin-top: 0; margin-top: 0;
} }
// margin-left: @gap; border-radius: @border_radius;
border-radius: @border_radius; .enable-trans();
.enable-trans(); &:hover {
&:hover { box-shadow: @boxshadow_card_raised;
box-shadow: @boxshadow_card_raised; }
} &:active {
&:active { box-shadow: @boxshadow_card_normal;
box-shadow: @boxshadow_card_normal; }
}
width: @width_sidebar; width: @width_sidebar;
@media(max-width: @on_laptop) { @media(max-width: @on_laptop) {
width: @width_sidebar_m; width: @width_sidebar_m;
} }
@media(max-width: @on_pad) { @media(max-width: @on_pad) {
width: 100%; width: 100%;
} }
@media(max-width: @on_phone) { @media(max-width: @on_phone) {
border-radius: 0; width: ~"calc(100% - 2 * @{gap})";
&:hover { margin: @gap @gap 0 @gap;
box-shadow: @boxshadow_card_normal; }
max-height: ~"calc(100% - @{height_navbar} - 4 * @{gap})";
header{
display: flex;
justify-content: space-between;
border-top-left-radius: @border_radius;
border-top-right-radius: @border_radius;
background-color: @color_bg_navbar;
color: @color_text_in_header;
font-weight: bold;
line-height: 1.5em;
padding: 8px @gap;
.rightBtn{
color: @color_text_in_header;
&:hover {
color: darken(@color_text_highlight, 25%);
&.rotate90{
transform: rotate(90deg);
} }
}
} }
max-height: ~"calc(100% - @{height_navbar} - 4 * @{gap})"; &.pure{
header{ background-color: @theme_cardbg;
display: flex; color: @theme_main;
justify-content: space-between; padding-top: 14px; // 适合白色导航栏背景
border-top-left-radius: @border_radius; padding-bottom: 14px; // 适合白色导航栏背景
border-top-right-radius: @border_radius; .rightBtn{
@media(max-width: @on_phone) { color: @theme_main;
border-radius: 0; &:hover {
} color: darken(@color_text_highlight, 25%);
background-color: @color_bg_navbar;
color: @color_text_in_header;
font-weight: bold;
line-height: 1.5em;
padding: 8px @gap;
.rightBtn{
color: @color_text_in_header;
&:hover {
color: darken(@color_text_highlight, 25%);
&.rotate90{
transform: rotate(90deg);
}
}
}
&.pure{
background-color: @theme_cardbg;
color: @theme_main;
padding-top: 14px; // 适合白色导航栏背景
padding-bottom: 14px; // 适合白色导航栏背景
.rightBtn{
color: @theme_main;
&:hover {
color: darken(@color_text_highlight, 25%);
}
}
} }
}
} }
.content{ }
text-align: justify; .content{
padding: @gap/2; text-align: justify;
max-height: ~"calc(100% - @{height_navbar} - 12.5 * @{gap})"; padding: @gap/2;
ul.entry > li > a{ max-height: ~"calc(100% - @{height_navbar} - 12.5 * @{gap})";
padding: 0 @gap; ul.entry > li > a{
line-height: @height_cell; padding: 0 @gap;
height: @height_cell; line-height: @height_cell;
display: flex; height: @height_cell;
justify-content: space-between; display: flex;
align-content: center; justify-content: space-between;
border-left: 2px solid transparent; align-content: center;
.enable-trans(); border-left: 2px solid transparent;
.name{ .enable-trans();
flex:auto; .name{
&:extend(.txt-ellipsis); flex:auto;
color: fade(@color_text_main, 80%); &:extend(.txt-ellipsis);
} color: fade(@color_text_main, 80%);
.badge{ }
flex:none; .badge{
font-size: @fontsize_small; flex:none;
color: fade(@color_text_main, 70%); font-size: @fontsize_small;
} color: fade(@color_text_main, 70%);
&:hover{ }
border-left: 4px solid @theme_main; &:hover{
background: fade(@theme_main, 10%); border-left: 4px solid @theme_main;
} background: fade(@theme_main, 10%);
&:active{ }
border-left: 8px solid @theme_main; &:active{
} border-left: 8px solid @theme_main;
} }
} }
}
&.author{ &.author{
.enable-trans(); .enable-trans();
.content{ .content{
padding: 0;
div.avatar{
display: flex;
justify-content: center;
}
img{
padding: 0; padding: 0;
.avatar{ margin: 0;
padding: 0; display: flex;
margin: 0; justify-content: center;
display: flex; width: @width_sidebar;
justify-content: center; height: @width_sidebar;
background-color: transparent; border-top-left-radius: @border_radius;
@media(max-width: @on_pad){ border-top-right-radius: @border_radius;
padding: @gap/2; @media(max-width: @on_laptop) {
} width: @width_sidebar_m;
width: @width_sidebar; height: @width_sidebar_m;
height: @width_sidebar;
@media(max-width: @on_laptop) {
width: @width_sidebar_m;
height: @width_sidebar_m;
}
@media(max-width: @on_pad){
width: 80px;
height: 80px;
border-radius: 100%;
margin-top: @gap/2;
}
border-top-left-radius: @border_radius;
border-top-right-radius: @border_radius;
}
h2{
text-align: center;
font-weight: bold;
margin: @gap/2;
@media(max-width: @on_pad){
margin: @gap/2;
}
}
p{
font-size: @fontsize_base;
text-align: center;
margin: @gap/2 @gap/2 0 @gap/2;
empty-cells: hide;
}
.social-wrapper{
display: flex;
justify-content: space-between;
flex-wrap: wrap;
padding: 4px @gap/2;
a{
color: fade(@color_text_main, 70%);
.enable-trans();
&:hover{
color: @color_text_highlight;
}
&.social {
display: flex;
justify-content: center;
align-items: center;
width: 32px;
height: 32px;
margin: 4px;
border-radius: 100px;
&:hover {
background: fade(@theme_main, 10%);
color: @theme_main;
}
}
}
} }
@media(max-width: @on_pad){ @media(max-width: @on_pad){
box-shadow: none; width: 96px;
background: @theme_background; height: 96px;
.social-wrapper{ border-radius: 100%;
justify-content: center; margin-top: @gap/2;
} padding: @gap/2;
} }
}
}
&.plain{ }
.content{ h2{
font-size: @fontsize_small; text-align: center;
font-weight: bold; font-weight: bold;
word-break: break-all; margin: @gap/2;
padding: @gap/2 @gap; @media(max-width: @on_pad){
line-height: @fontsize_small + 8px; margin: @gap/2;
&.pure{
padding: 0 @gap @gap @gap; // 适合白色导航栏背景
} }
}
p{
font-size: @fontsize_base;
text-align: center;
margin: @gap/2 @gap/2 0 @gap/2;
empty-cells: hide;
}
.social-wrapper{
display: flex;
justify-content: space-between;
flex-wrap: wrap;
padding: 4px @gap/2;
a{ a{
color: @color_text_link; color: fade(@color_text_main, 70%);
.enable-trans(); .enable-trans();
&:hover { &:hover{
color: @color_text_highlight; color: @color_text_highlight;
text-decoration: underline;
} }
&:active { &.social {
color: darken(@color_text_highlight, 25%); display: flex;
justify-content: center;
align-items: center;
width: 32px;
height: 32px;
margin: 4px;
border-radius: 100px;
&:hover {
background: fade(@theme_main, 10%);
color: @theme_main;
}
} }
} }
@media(max-width: @on_pad){
justify-content: center;
}
} }
} }
@media(max-width: @on_pad){
box-shadow: none;
background: @theme_background;
margin-top: 2*@gap;
}
}
&.list{ &.plain{
.content{ .content{
padding: @gap/2 0; font-size: @fontsize_small;
&.pure{ font-weight: bold;
padding-top: 0; // 适合白色导航栏背景 word-break: break-all;
padding: @gap/2 @gap;
line-height: @fontsize_small + 8px;
&.pure{
padding: 0 @gap @gap @gap; // 适合白色导航栏背景
}
a{
color: @color_text_link;
.enable-trans();
&:hover {
color: @color_text_highlight;
text-decoration: underline;
} }
a{ &:active {
font-size: @fontsize_small; color: darken(@color_text_highlight, 25%);
font-weight: bold;
&:hover{
text-decoration: none;
}
i{
color: fade(@color_text_main,70%);
line-height: @height_cell;
margin-right: 3px;
}
img{
display: inline;
vertical-align: middle;
height: 18px;
width: 18px;
margin-bottom: 4px;
&#round{
border-radius: 100%;
}
}
} }
} }
} }
}
&.category{ &.list{
.content{ .content{
padding: @gap/2 0; padding: @gap/2 0;
&.pure{
padding-top: 0; // 适合白色导航栏背景
}
a{
font-size: @fontsize_small; font-size: @fontsize_small;
font-weight: bold; font-weight: bold;
&.pure{ &:hover{
padding-top: 0; // 适合白色导航栏背景 text-decoration: none;
}
i{
color: fade(@color_text_main,70%);
line-height: @height_cell;
margin-right: 3px;
}
img{
display: inline;
vertical-align: middle;
height: 18px;
width: 18px;
margin-bottom: 4px;
&#round{
border-radius: 100%;
}
} }
} }
} }
}
&.tagcloud{ &.category{
.content{ .content{
text-align: justify; padding: @gap/2 0;
padding: @gap/2 @gap; font-size: @fontsize_small;
&.pure{ font-weight: bold;
padding-top: 0; // 适合白色导航栏背景 &.pure{
} padding-top: 0; // 适合白色导航栏背景
a{ }
display:inline-block;
.enable-trans(.1s);
line-height: 1.6em;
&:hover{
color: @color_text_highlight !important; //to cover inline style.
text-decoration: underline
}
}
}
} }
}
&.music{ &.tagcloud{
header{ .content{
text-align: justify;
padding: @gap/2 @gap;
&.pure{ &.pure{
padding-bottom: @gap/4; // 适合白色导航栏背景 padding-top: 0; // 适合白色导航栏背景
} }
} a{
.content{ display:inline-block;
padding: @gap/2+4px; .enable-trans(.1s);
padding-top: @gap/2; line-height: 1.6em;
&.pure{ &:hover{
padding-top: @gap/4; // 适合白色导航栏背景 color: @color_text_highlight !important; //to cover inline style.
} text-decoration: underline
.aplayer{
border-radius: 4px;
} }
} }
} }
}
&.links{ &.music{
header{ header{
.rightBtn{ &.pure{
&:hover{ padding-bottom: @gap/4; // 适合白色导航栏背景
transform: rotate(90deg); }
} }
} .content{
padding: @gap/2+4px;
padding-top: @gap/2;
&.pure{
padding-top: @gap/4; // 适合白色导航栏背景
} }
.content{ .aplayer{
padding: @gap/2 0; border-radius: 4px;
&.pure{
padding-top: 0; // 适合白色导航栏背景
}
.name{
img{
display: inline;
border-radius: 100%;
vertical-align: middle;
height: 18px;
width: 18px;
margin-bottom: 4px;
}
}
} }
} }
}
} }

Loading…
Cancel
Save