Compare commits
43
Commits
1.4.2
..
feature-2.1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
290772b437 | ||
|
|
6ebedf94f0 | ||
|
|
a07bb25128 | ||
|
|
a007b89ebb | ||
|
|
cc4b003503 | ||
|
|
091922175a | ||
|
|
371c93912d | ||
|
|
27221acda7 | ||
|
|
5db724e80b | ||
|
|
5c9e95ed60 | ||
|
|
2fc97ed42d | ||
|
|
45cca30cec | ||
|
|
31167b6aaf | ||
|
|
139906b9d6 | ||
|
|
a9d49369e2 | ||
|
|
303e0da5c0 | ||
|
|
ff5523bfaa | ||
|
|
063dd0140d | ||
|
|
c52d388d5d | ||
|
|
18bcdb48af | ||
|
|
db8f132507 | ||
|
|
439d5212b0 | ||
|
|
88e2320027 | ||
|
|
659a4e590a | ||
|
|
ab7f2386e0 | ||
|
|
ec82ff18f2 | ||
|
|
f3f00626e6 | ||
|
|
80fbb56426 | ||
|
|
a5c952882f | ||
|
|
973b452a7e | ||
|
|
25bcd21ea9 | ||
|
|
09de5e1e83 | ||
|
|
15b0ef21ff | ||
|
|
9cf9ded855 | ||
|
|
7af433ebaf | ||
|
|
67b608b324 | ||
|
|
2aa3f5a654 | ||
|
|
f5538218bd | ||
|
|
0e3bdd177c | ||
|
|
12520cc09d | ||
|
|
cb67892124 | ||
|
|
45c09c9a26 | ||
|
|
20951ea2dd |
No files matched your search
+33
-17
@@ -15,6 +15,8 @@ var base = leanoteBase + '/public'; // public base
|
|||||||
var noteDev = leanoteBase + '/app/views/note/note-dev.html';
|
var noteDev = leanoteBase + '/app/views/note/note-dev.html';
|
||||||
var noteProBase = leanoteBase + '/app/views/note';
|
var noteProBase = leanoteBase + '/app/views/note';
|
||||||
|
|
||||||
|
var messagesPath = leanoteBase + 'messages';
|
||||||
|
|
||||||
// 合并Js, 这些js都是不怎么修改, 且是依赖
|
// 合并Js, 这些js都是不怎么修改, 且是依赖
|
||||||
// 840kb, 非常耗时!!
|
// 840kb, 非常耗时!!
|
||||||
gulp.task('concatDepJs', function() {
|
gulp.task('concatDepJs', function() {
|
||||||
@@ -205,6 +207,7 @@ gulp.task('i18n', function() {
|
|||||||
ls(leanoteBase + '/app/views');
|
ls(leanoteBase + '/app/views');
|
||||||
|
|
||||||
console.log('parsed');
|
console.log('parsed');
|
||||||
|
var langs = {}; // zh-cn: 1
|
||||||
|
|
||||||
// msg.zh
|
// msg.zh
|
||||||
function getAllMsgs(fname) {
|
function getAllMsgs(fname) {
|
||||||
@@ -229,14 +232,25 @@ gulp.task('i18n', function() {
|
|||||||
return msg;
|
return msg;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 得到所有的语言的后缀
|
||||||
|
// 返回{en-us: 1, }
|
||||||
|
function getAllLangs() {
|
||||||
|
var langs = {};
|
||||||
|
var files = fs.readdirSync(messagesPath);
|
||||||
|
for(fn in files) {
|
||||||
|
var fname = files[fn];
|
||||||
|
if (fname.indexOf('-') > 0) {
|
||||||
|
langs[fname] = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return langs;
|
||||||
|
}
|
||||||
|
|
||||||
// msg.zh, msg.js
|
// msg.zh, msg.js
|
||||||
function genI18nJsFile(fromFilename, otherNames, keys) {
|
function genI18nJsFile(targetFilename, lang, fromFilenames, keys) {
|
||||||
var msgs = {};
|
var msgs = {};
|
||||||
otherNames.unshift(fromFilename);
|
fromFilenames.forEach(function (name) {
|
||||||
// console.log(fromFilename);
|
var tmpMsgs = getAllMsgs(leanoteBase + '/messages/' + lang + '/' + name + '.conf');
|
||||||
// console.log(otherNames);
|
|
||||||
otherNames.forEach(function (name) {
|
|
||||||
var tmpMsgs = getAllMsgs(leanoteBase + '/messages/' + name);
|
|
||||||
for (var i in tmpMsgs) {
|
for (var i in tmpMsgs) {
|
||||||
msgs[i] = tmpMsgs[i];
|
msgs[i] = tmpMsgs[i];
|
||||||
}
|
}
|
||||||
@@ -261,22 +275,24 @@ gulp.task('i18n', function() {
|
|||||||
'}';
|
'}';
|
||||||
|
|
||||||
// 写入到文件中
|
// 写入到文件中
|
||||||
var toFilename = fromFilename + '.js';
|
var toFilename = targetFilename + '.' + lang + '.js';
|
||||||
fs.writeFile(base + '/js/i18n/' + toFilename, str);
|
fs.writeFile(base + '/js/i18n/' + toFilename, str);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 必须要的
|
function genTinymceLang(lang) {
|
||||||
// keys.push();
|
var msgs = getAllMsgs(leanoteBase + 'messages/' + lang + '/tinymce_editor.conf');
|
||||||
|
var str = 'tinymce.addI18n("' + lang + '",' + JSON.stringify(msgs) + ');';
|
||||||
|
fs.writeFile(base + '/tinymce/langs/' + lang + '.js', str);
|
||||||
|
}
|
||||||
|
|
||||||
genI18nJsFile('blog.zh', [], keys);
|
var langs = getAllLangs();
|
||||||
genI18nJsFile('blog.en', [], keys);
|
for (var lang in langs) {
|
||||||
genI18nJsFile('blog.fr', [], keys);
|
genI18nJsFile('blog', lang, ['blog'], keys);
|
||||||
genI18nJsFile('blog.pt', [], keys);
|
genI18nJsFile('msg', lang, ['msg', 'member', 'markdown', 'album'], keys);
|
||||||
|
|
||||||
genI18nJsFile('msg.fr', ['member.fr', 'markdown.fr', 'album.fr'], keys);
|
genTinymceLang(lang);
|
||||||
genI18nJsFile('msg.zh', ['member.zh', 'markdown.zh', 'album.zh'], keys);
|
}
|
||||||
genI18nJsFile('msg.en', ['member.en', 'markdown.en', 'album.en'], keys);
|
|
||||||
genI18nJsFile('msg.pt', ['member.pt', 'markdown.pt', 'album.pt'], keys);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// 合并album需要的js
|
// 合并album需要的js
|
||||||
|
|||||||
@@ -79,7 +79,7 @@ You are welcome to join us.
|
|||||||
* Email: leanote@leanote.com
|
* Email: leanote@leanote.com
|
||||||
* [Leanote BBS](http://bbs.leanote.com)
|
* [Leanote BBS](http://bbs.leanote.com)
|
||||||
* [Leanote Google Group](https://groups.google.com/forum/#!forum/leanote)
|
* [Leanote Google Group](https://groups.google.com/forum/#!forum/leanote)
|
||||||
* QQ Group: 256076853, 158716820
|
* QQ Group: 326073529, 256076853, 158716820
|
||||||
|
|
||||||
-----------------------------------------------------------------------
|
-----------------------------------------------------------------------
|
||||||
|
|
||||||
@@ -160,6 +160,6 @@ Leanote还有很多问题, 如果你喜欢它, 欢迎加入我们一起完善Lea
|
|||||||
## 联系&加入我们
|
## 联系&加入我们
|
||||||
* Email: leanote@leanote.com
|
* Email: leanote@leanote.com
|
||||||
* [Leanote 社区](http://bbs.leanote.com)
|
* [Leanote 社区](http://bbs.leanote.com)
|
||||||
* QQ群: 256076853, 158716820(已满)
|
* QQ群: 326073529, 256076853, 158716820
|
||||||
* [Leanote Google Group](https://groups.google.com/forum/#!forum/leanote)
|
* [Leanote Google Group](https://groups.google.com/forum/#!forum/leanote)
|
||||||
|
|
||||||
@@ -3,6 +3,7 @@ package controllers
|
|||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"github.com/leanote/leanote/app/info"
|
"github.com/leanote/leanote/app/info"
|
||||||
|
"github.com/leanote/leanote/app/lea/i18n"
|
||||||
"github.com/revel/revel"
|
"github.com/revel/revel"
|
||||||
"gopkg.in/mgo.v2/bson"
|
"gopkg.in/mgo.v2/bson"
|
||||||
// . "github.com/leanote/leanote/app/lea"
|
// . "github.com/leanote/leanote/app/lea"
|
||||||
@@ -19,6 +20,11 @@ type BaseController struct {
|
|||||||
*revel.Controller
|
*revel.Controller
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 覆盖revel.Message
|
||||||
|
func (c *BaseController) Message(message string, args ...interface{}) (value string) {
|
||||||
|
return i18n.Message(c.Request.Locale, message, args...)
|
||||||
|
}
|
||||||
|
|
||||||
func (c BaseController) GetUserId() string {
|
func (c BaseController) GetUserId() string {
|
||||||
if userId, ok := c.Session["UserId"]; ok {
|
if userId, ok := c.Session["UserId"]; ok {
|
||||||
return userId
|
return userId
|
||||||
@@ -181,13 +187,17 @@ func (c BaseController) E404() revel.Result {
|
|||||||
// 设置本地
|
// 设置本地
|
||||||
func (c BaseController) SetLocale() string {
|
func (c BaseController) SetLocale() string {
|
||||||
locale := string(c.Request.Locale) // zh-CN
|
locale := string(c.Request.Locale) // zh-CN
|
||||||
|
// lang := locale
|
||||||
|
// if strings.Contains(locale, "-") {
|
||||||
|
// pos := strings.Index(locale, "-")
|
||||||
|
// lang = locale[0:pos]
|
||||||
|
// }
|
||||||
|
// if lang != "zh" && lang != "en" {
|
||||||
|
// lang = "en"
|
||||||
|
// }
|
||||||
lang := locale
|
lang := locale
|
||||||
if strings.Contains(locale, "-") {
|
if !i18n.HasLang(locale) {
|
||||||
pos := strings.Index(locale, "-")
|
lang = i18n.GetDefaultLang()
|
||||||
lang = locale[0:pos]
|
|
||||||
}
|
|
||||||
if lang != "zh" && lang != "en" && lang != "fr" && lang != "pt" {
|
|
||||||
lang = "en"
|
|
||||||
}
|
}
|
||||||
c.RenderArgs["locale"] = lang
|
c.RenderArgs["locale"] = lang
|
||||||
c.RenderArgs["siteUrl"] = configService.GetSiteUrl()
|
c.RenderArgs["siteUrl"] = configService.GetSiteUrl()
|
||||||
|
|||||||
@@ -113,8 +113,8 @@ func (c Blog) setPreviewUrl() {
|
|||||||
themeId := c.Session["themeId"]
|
themeId := c.Session["themeId"]
|
||||||
theme := themeService.GetTheme(userId, themeId)
|
theme := themeService.GetTheme(userId, themeId)
|
||||||
|
|
||||||
siteUrl := configService.GetSiteUrl()
|
// siteUrl := configService.GetSiteUrl()
|
||||||
blogUrl := siteUrl + "/preview" // blog.leanote.com
|
blogUrl := "/preview" // blog.leanote.com
|
||||||
|
|
||||||
indexUrl = blogUrl + "/" + userIdOrEmail
|
indexUrl = blogUrl + "/" + userIdOrEmail
|
||||||
cateUrl = blogUrl + "/cate/" + userIdOrEmail // /notebookId
|
cateUrl = blogUrl + "/cate/" + userIdOrEmail // /notebookId
|
||||||
@@ -143,8 +143,8 @@ func (c Blog) setPreviewUrl() {
|
|||||||
// 各种地址设置
|
// 各种地址设置
|
||||||
func (c Blog) setUrl(userBlog info.UserBlog, userInfo info.User) {
|
func (c Blog) setUrl(userBlog info.UserBlog, userInfo info.User) {
|
||||||
// 主页 http://leanote.com/blog/life or http://blog.leanote.com/life or http:// xxxx.leanote.com or aa.com
|
// 主页 http://leanote.com/blog/life or http://blog.leanote.com/life or http:// xxxx.leanote.com or aa.com
|
||||||
host := c.Request.Request.Host
|
// host := c.Request.Request.Host
|
||||||
var staticUrl = configService.GetUserUrl(strings.Split(host, ":")[0])
|
// var staticUrl = configService.GetUserUrl(strings.Split(host, ":")[0])
|
||||||
// staticUrl == host, 为保证同源!!! 只有host, http://leanote.com, http://blog/leanote.com
|
// staticUrl == host, 为保证同源!!! 只有host, http://leanote.com, http://blog/leanote.com
|
||||||
// life.leanote.com, lealife.com
|
// life.leanote.com, lealife.com
|
||||||
siteUrl := configService.GetSiteUrl()
|
siteUrl := configService.GetSiteUrl()
|
||||||
@@ -168,20 +168,20 @@ func (c Blog) setUrl(userBlog info.UserBlog, userInfo info.User) {
|
|||||||
c.RenderArgs["themeBaseUrl"] = "/" + userBlog.ThemePath
|
c.RenderArgs["themeBaseUrl"] = "/" + userBlog.ThemePath
|
||||||
|
|
||||||
// 其它static js
|
// 其它static js
|
||||||
c.RenderArgs["jQueryUrl"] = siteUrl + "/js/jquery-1.9.0.min.js"
|
c.RenderArgs["jQueryUrl"] = "/js/jquery-1.9.0.min.js"
|
||||||
|
|
||||||
c.RenderArgs["prettifyJsUrl"] = siteUrl + "/js/google-code-prettify/prettify.js"
|
c.RenderArgs["prettifyJsUrl"] = "/js/google-code-prettify/prettify.js"
|
||||||
c.RenderArgs["prettifyCssUrl"] = siteUrl + "/js/google-code-prettify/prettify.css"
|
c.RenderArgs["prettifyCssUrl"] = "/js/google-code-prettify/prettify.css"
|
||||||
|
|
||||||
c.RenderArgs["blogCommonJsUrl"] = siteUrl + "/public/blog/js/common.js"
|
c.RenderArgs["blogCommonJsUrl"] = "/public/blog/js/common.js"
|
||||||
|
|
||||||
c.RenderArgs["shareCommentCssUrl"] = siteUrl + "/public/blog/css/share_comment.css"
|
c.RenderArgs["shareCommentCssUrl"] = "/public/blog/css/share_comment.css"
|
||||||
c.RenderArgs["shareCommentJsUrl"] = siteUrl + "/public/blog/js/share_comment.js"
|
c.RenderArgs["shareCommentJsUrl"] = "/public/blog/js/share_comment.js"
|
||||||
|
|
||||||
c.RenderArgs["fontAwesomeUrl"] = staticUrl + "/css/font-awesome-4.2.0/css/font-awesome.css"
|
c.RenderArgs["fontAwesomeUrl"] = "/css/font-awesome-4.2.0/css/font-awesome.css"
|
||||||
|
|
||||||
c.RenderArgs["bootstrapCssUrl"] = siteUrl + "/css/bootstrap.css"
|
c.RenderArgs["bootstrapCssUrl"] = "/css/bootstrap.css"
|
||||||
c.RenderArgs["bootstrapJsUrl"] = siteUrl + "/js/bootstrap-min.js"
|
c.RenderArgs["bootstrapJsUrl"] = "/js/bootstrap-min.js"
|
||||||
}
|
}
|
||||||
|
|
||||||
// 笔记本分类
|
// 笔记本分类
|
||||||
|
|||||||
@@ -79,6 +79,12 @@ func (c AdminSetting) ExportPdf(path string) revel.Result {
|
|||||||
return c.RenderJson(re)
|
return c.RenderJson(re)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c AdminSetting) DoSiteUrl(siteUrl string) revel.Result {
|
||||||
|
re := info.NewRe()
|
||||||
|
re.Ok = configService.UpdateGlobalStringConfig(c.GetUserId(), "siteUrl", siteUrl)
|
||||||
|
return c.RenderJson(re)
|
||||||
|
}
|
||||||
|
|
||||||
// SubDomain
|
// SubDomain
|
||||||
func (c AdminSetting) SubDomain() revel.Result {
|
func (c AdminSetting) SubDomain() revel.Result {
|
||||||
c.RenderArgs["str"] = configService.GlobalStringConfigs
|
c.RenderArgs["str"] = configService.GlobalStringConfigs
|
||||||
|
|||||||
+210
@@ -166,6 +166,216 @@ func Init(url, dbname string) {
|
|||||||
|
|
||||||
// session
|
// session
|
||||||
Sessions = Session.DB(dbname).C("sessions")
|
Sessions = Session.DB(dbname).C("sessions")
|
||||||
|
|
||||||
|
collectionNames, err := Session.DB(dbname).CollectionNames()
|
||||||
|
|
||||||
|
// 如果没有表, 则表示是第一次安装
|
||||||
|
if (err != nil || len(collectionNames) == 0) {
|
||||||
|
Log("init db index")
|
||||||
|
initIndex(dbname)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func initIndex(dbname string) {
|
||||||
|
// 索引
|
||||||
|
indexes := map[string][]mgo.Index{
|
||||||
|
"notebooks": []mgo.Index{
|
||||||
|
mgo.Index{
|
||||||
|
Key: []string{"UserId"},
|
||||||
|
Background: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"notes": []mgo.Index{
|
||||||
|
mgo.Index{
|
||||||
|
Key: []string{"UserId"},
|
||||||
|
Background: true,
|
||||||
|
},
|
||||||
|
mgo.Index{
|
||||||
|
Key: []string{"IsTrash"},
|
||||||
|
Background: true,
|
||||||
|
},
|
||||||
|
mgo.Index{
|
||||||
|
Key: []string{"UrlTitle"},
|
||||||
|
Background: true,
|
||||||
|
},
|
||||||
|
mgo.Index{
|
||||||
|
Key: []string{"IsBlog"},
|
||||||
|
Background: true,
|
||||||
|
},
|
||||||
|
mgo.Index{
|
||||||
|
Key: []string{"CreatedTime"},
|
||||||
|
Background: true,
|
||||||
|
},
|
||||||
|
mgo.Index{
|
||||||
|
Key: []string{"UpdatedTime"},
|
||||||
|
Background: true,
|
||||||
|
},
|
||||||
|
mgo.Index{
|
||||||
|
Key: []string{"PublicTime"},
|
||||||
|
Background: true,
|
||||||
|
},
|
||||||
|
mgo.Index{
|
||||||
|
Key: []string{"RecommendTime"},
|
||||||
|
Background: true,
|
||||||
|
},
|
||||||
|
mgo.Index{
|
||||||
|
Key: []string{"NotebookId"},
|
||||||
|
Background: true,
|
||||||
|
},
|
||||||
|
mgo.Index{
|
||||||
|
Key: []string{"UserId", "IsBlog"},
|
||||||
|
Background: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"note_contents": []mgo.Index{
|
||||||
|
mgo.Index{
|
||||||
|
Key: []string{"UserId"},
|
||||||
|
Background: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"note_content_histories": []mgo.Index{
|
||||||
|
mgo.Index{
|
||||||
|
Key: []string{"UserId"},
|
||||||
|
Background: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"share_notes": []mgo.Index{
|
||||||
|
mgo.Index{
|
||||||
|
Key: []string{"UserId"},
|
||||||
|
Background: true,
|
||||||
|
},
|
||||||
|
mgo.Index{
|
||||||
|
Key: []string{"ToUserId"},
|
||||||
|
Background: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"share_notebooks": []mgo.Index{
|
||||||
|
mgo.Index{
|
||||||
|
Key: []string{"UserId"},
|
||||||
|
Background: true,
|
||||||
|
},
|
||||||
|
mgo.Index{
|
||||||
|
Key: []string{"ToUserId"},
|
||||||
|
Background: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"has_share_notes": []mgo.Index{
|
||||||
|
mgo.Index{
|
||||||
|
Key: []string{"UserId", "ToUserId"},
|
||||||
|
Background: true,
|
||||||
|
Unique: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"users": []mgo.Index{
|
||||||
|
mgo.Index{
|
||||||
|
Key: []string{"Email"},
|
||||||
|
Background: true,
|
||||||
|
},
|
||||||
|
mgo.Index{
|
||||||
|
Key: []string{"Username"},
|
||||||
|
Background: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"groups": []mgo.Index{
|
||||||
|
mgo.Index{
|
||||||
|
Key: []string{"UserId"},
|
||||||
|
Background: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"group_users": []mgo.Index{
|
||||||
|
mgo.Index{
|
||||||
|
Key: []string{"GroupId"},
|
||||||
|
Background: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"tags": []mgo.Index{
|
||||||
|
mgo.Index{
|
||||||
|
Key: []string{"UserId"},
|
||||||
|
Background: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"note_tags": []mgo.Index{
|
||||||
|
mgo.Index{
|
||||||
|
Key: []string{"UserId", "TagId"},
|
||||||
|
Background: true,
|
||||||
|
},
|
||||||
|
mgo.Index{
|
||||||
|
Key: []string{"UserId"},
|
||||||
|
Background: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"tag_count": []mgo.Index{
|
||||||
|
mgo.Index{
|
||||||
|
Key: []string{"UserId"},
|
||||||
|
Background: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"blog_singles": []mgo.Index{
|
||||||
|
mgo.Index{
|
||||||
|
Key: []string{"UserId"},
|
||||||
|
Background: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"blog_likes": []mgo.Index{
|
||||||
|
mgo.Index{
|
||||||
|
Key: []string{"NoteId"},
|
||||||
|
Background: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"blog_comments": []mgo.Index{
|
||||||
|
mgo.Index{
|
||||||
|
Key: []string{"NoteId"},
|
||||||
|
Background: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"themes": []mgo.Index{
|
||||||
|
mgo.Index{
|
||||||
|
Key: []string{"UserId"},
|
||||||
|
Background: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"note_images": []mgo.Index{
|
||||||
|
mgo.Index{
|
||||||
|
Key: []string{"ImageId"},
|
||||||
|
Background: true,
|
||||||
|
},
|
||||||
|
mgo.Index{
|
||||||
|
Key: []string{"NoteId"},
|
||||||
|
Background: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"albums": []mgo.Index{
|
||||||
|
mgo.Index{
|
||||||
|
Key: []string{"UserId"},
|
||||||
|
Background: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"files": []mgo.Index{
|
||||||
|
mgo.Index{
|
||||||
|
Key: []string{"UserId"},
|
||||||
|
Background: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"attachs": []mgo.Index{
|
||||||
|
mgo.Index{
|
||||||
|
Key: []string{"NoteId"},
|
||||||
|
Background: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"sessions": []mgo.Index{
|
||||||
|
mgo.Index{
|
||||||
|
Key: []string{"SessionId"},
|
||||||
|
Background: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
for collection, ins := range indexes {
|
||||||
|
col := Session.DB(dbname).C(collection)
|
||||||
|
for _, in := range ins {
|
||||||
|
col.EnsureIndex(in)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func close() {
|
func close() {
|
||||||
|
|||||||
@@ -1,94 +0,0 @@
|
|||||||
package main
|
|
||||||
|
|
||||||
import (
|
|
||||||
"bufio"
|
|
||||||
"encoding/json"
|
|
||||||
"fmt"
|
|
||||||
"os"
|
|
||||||
"strings"
|
|
||||||
)
|
|
||||||
|
|
||||||
// convert revel msg to js msg
|
|
||||||
|
|
||||||
var msgBasePath = "/Users/life/Documents/Go/package2/src/github.com/leanote/leanote/messages/"
|
|
||||||
var targetBasePath = "/Users/life/Documents/Go/package2/src/github.com/leanote/leanote/public/js/i18n/"
|
|
||||||
|
|
||||||
func parse(filename string) {
|
|
||||||
file, err := os.Open(msgBasePath + filename)
|
|
||||||
reader := bufio.NewReader(file)
|
|
||||||
msg := map[string]string{}
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
for true {
|
|
||||||
line, _, err := reader.ReadLine()
|
|
||||||
|
|
||||||
if err != nil {
|
|
||||||
break
|
|
||||||
}
|
|
||||||
|
|
||||||
if len(line) == 0 {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
// 对每一行进行处理
|
|
||||||
if line[0] == '#' || line[1] == '#' {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
lineStr := string(line)
|
|
||||||
|
|
||||||
// 找到第一个=位置
|
|
||||||
pos := strings.Index(lineStr, "=")
|
|
||||||
|
|
||||||
if pos < 0 {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
key := string(line[0:pos])
|
|
||||||
value := string(line[pos+1:])
|
|
||||||
|
|
||||||
// fmt.Println(lineStr)
|
|
||||||
// fmt.Println(value)
|
|
||||||
|
|
||||||
msg[key] = value
|
|
||||||
}
|
|
||||||
|
|
||||||
// JSON
|
|
||||||
b, _ := json.Marshal(msg)
|
|
||||||
str := string(b)
|
|
||||||
fmt.Println(str)
|
|
||||||
|
|
||||||
targetName := targetBasePath + filename + ".js"
|
|
||||||
file2, err2 := os.OpenFile(targetName, os.O_RDWR|os.O_CREATE, 0644)
|
|
||||||
if err2 != nil {
|
|
||||||
file2, err2 = os.Create(targetName)
|
|
||||||
}
|
|
||||||
file2.WriteString("var MSG = " + str + ";" + `
|
|
||||||
function getMsg(key, data) {
|
|
||||||
var msg = MSG[key]
|
|
||||||
if(msg) {
|
|
||||||
if(data) {
|
|
||||||
if(!isArray(data)) {
|
|
||||||
data = [data];
|
|
||||||
}
|
|
||||||
for(var i = 0; i < data.length; ++i) {
|
|
||||||
msg = msg.replace("%s", data[i]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return msg;
|
|
||||||
}
|
|
||||||
return key;
|
|
||||||
}`)
|
|
||||||
}
|
|
||||||
|
|
||||||
// 生成js的i18n文件
|
|
||||||
func main() {
|
|
||||||
parse("msg.en")
|
|
||||||
parse("msg.zh")
|
|
||||||
parse("msg.fr")
|
|
||||||
parse("msg.pt")
|
|
||||||
parse("blog.zh")
|
|
||||||
parse("blog.en")
|
|
||||||
parse("blog.fr")
|
|
||||||
parse("blog.pt")
|
|
||||||
}
|
|
||||||
+17
-7
@@ -10,6 +10,7 @@ import (
|
|||||||
"github.com/leanote/leanote/app/db"
|
"github.com/leanote/leanote/app/db"
|
||||||
. "github.com/leanote/leanote/app/lea"
|
. "github.com/leanote/leanote/app/lea"
|
||||||
_ "github.com/leanote/leanote/app/lea/binder"
|
_ "github.com/leanote/leanote/app/lea/binder"
|
||||||
|
"github.com/leanote/leanote/app/lea/i18n"
|
||||||
"github.com/leanote/leanote/app/lea/route"
|
"github.com/leanote/leanote/app/lea/route"
|
||||||
"github.com/leanote/leanote/app/service"
|
"github.com/leanote/leanote/app/service"
|
||||||
"github.com/revel/revel"
|
"github.com/revel/revel"
|
||||||
@@ -38,9 +39,10 @@ func init() {
|
|||||||
// session.SessionFilter, // leanote session
|
// session.SessionFilter, // leanote session
|
||||||
// session.MSessionFilter, // leanote memcache session
|
// session.MSessionFilter, // leanote memcache session
|
||||||
|
|
||||||
revel.FlashFilter, // Restore and write the flash cookie.
|
revel.FlashFilter, // Restore and write the flash cookie.
|
||||||
revel.ValidationFilter, // Restore kept validation errors and save new ones from cookie.
|
revel.ValidationFilter, // Restore kept validation errors and save new ones from cookie.
|
||||||
revel.I18nFilter, // Resolve the requested language
|
// revel.I18nFilter, // Resolve the requested language
|
||||||
|
i18n.I18nFilter, // Resolve the requested language by leanote
|
||||||
revel.InterceptorFilter, // Run interceptors around the action.
|
revel.InterceptorFilter, // Run interceptors around the action.
|
||||||
revel.CompressFilter, // Compress the result.
|
revel.CompressFilter, // Compress the result.
|
||||||
revel.ActionInvoker, // Invoke the action.
|
revel.ActionInvoker, // Invoke the action.
|
||||||
@@ -180,10 +182,18 @@ func init() {
|
|||||||
return template.HTML(tagStr)
|
return template.HTML(tagStr)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
revel.TemplateFuncs["msg"] = func(renderArgs map[string]interface{}, message string, args ...interface{}) template.HTML {
|
||||||
|
str, ok := renderArgs[revel.CurrentLocaleRenderArg].(string)
|
||||||
|
if !ok {
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
return template.HTML(i18n.Message(str, message, args...))
|
||||||
|
}
|
||||||
|
|
||||||
// 不用revel的msg
|
// 不用revel的msg
|
||||||
revel.TemplateFuncs["leaMsg"] = func(renderArgs map[string]interface{}, key string) template.HTML {
|
revel.TemplateFuncs["leaMsg"] = func(renderArgs map[string]interface{}, key string) template.HTML {
|
||||||
locale, _ := renderArgs[revel.CurrentLocaleRenderArg].(string)
|
locale, _ := renderArgs[revel.CurrentLocaleRenderArg].(string)
|
||||||
str := revel.Message(locale, key)
|
str := i18n.Message(locale, key)
|
||||||
if strings.HasPrefix(str, "???") {
|
if strings.HasPrefix(str, "???") {
|
||||||
str = key
|
str = key
|
||||||
}
|
}
|
||||||
@@ -392,9 +402,9 @@ func init() {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
{{range $i := N 1 10}}
|
{{range $i := N 1 10}}
|
||||||
<div>{{$i}}</div>
|
<div>{{$i}}</div>
|
||||||
{{end}}
|
{{end}}
|
||||||
*/
|
*/
|
||||||
revel.TemplateFuncs["N"] = func(start, end int) (stream chan int) {
|
revel.TemplateFuncs["N"] = func(start, end int) (stream chan int) {
|
||||||
stream = make(chan int)
|
stream = make(chan int)
|
||||||
|
|||||||
@@ -0,0 +1,223 @@
|
|||||||
|
package i18n
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"github.com/revel/revel"
|
||||||
|
"github.com/robfig/config"
|
||||||
|
"os"
|
||||||
|
"path/filepath"
|
||||||
|
"regexp"
|
||||||
|
"strings"
|
||||||
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
CurrentLocaleRenderArg = "currentLocale" // The key for the current locale render arg value
|
||||||
|
|
||||||
|
messageFilesDirectory = "messages"
|
||||||
|
messageFilePattern = `^\w+\.conf$`
|
||||||
|
unknownValueFormat = "??? %s ???"
|
||||||
|
defaultLanguageOption = "i18n.default_language"
|
||||||
|
localeCookieConfigKey = "i18n.cookie"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
// All currently loaded message configs.
|
||||||
|
// en-us, zh-cn, zh-hk ->
|
||||||
|
messages map[string]*config.Config
|
||||||
|
)
|
||||||
|
|
||||||
|
func GetAllLangMessages() map[string]*config.Config {
|
||||||
|
return messages
|
||||||
|
}
|
||||||
|
|
||||||
|
func HasLang(lang string) bool {
|
||||||
|
_, ok := messages[lang]
|
||||||
|
return ok
|
||||||
|
}
|
||||||
|
|
||||||
|
func GetDefaultLang() string {
|
||||||
|
lang, _ := revel.Config.String(defaultLanguageOption)
|
||||||
|
return lang
|
||||||
|
}
|
||||||
|
|
||||||
|
// Return all currently loaded message languages.
|
||||||
|
func MessageLanguages() []string {
|
||||||
|
languages := make([]string, len(messages))
|
||||||
|
i := 0
|
||||||
|
for language, _ := range messages {
|
||||||
|
languages[i] = language
|
||||||
|
i++
|
||||||
|
}
|
||||||
|
return languages
|
||||||
|
}
|
||||||
|
|
||||||
|
// Perform a message look-up for the given locale and message using the given arguments.
|
||||||
|
//
|
||||||
|
// When either an unknown locale or message is detected, a specially formatted string is returned.
|
||||||
|
func Message(locale, message string, args ...interface{}) string {
|
||||||
|
language, region := parseLocale(locale)
|
||||||
|
|
||||||
|
langAndRegion := language + "-" + region
|
||||||
|
// revel.TRACE.Println(langAndRegion + " 怎么回事")
|
||||||
|
|
||||||
|
messageConfig, knownLanguage := messages[langAndRegion]
|
||||||
|
if !knownLanguage {
|
||||||
|
// revel.TRACE.Printf("Unsupported language for locale '%s' and message '%s', trying default language", locale, message)
|
||||||
|
|
||||||
|
if defaultLanguage, found := revel.Config.String(defaultLanguageOption); found {
|
||||||
|
// revel.TRACE.Printf("Using default language '%s'", defaultLanguage)
|
||||||
|
|
||||||
|
messageConfig, knownLanguage = messages[defaultLanguage]
|
||||||
|
if !knownLanguage {
|
||||||
|
// WARN.Printf("Unsupported default language for locale '%s' and message '%s'", defaultLanguage, message)
|
||||||
|
return fmt.Sprintf(unknownValueFormat, message)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// WARN.Printf("Unable to find default language option (%s); messages for unsupported locales will never be translated", defaultLanguageOption)
|
||||||
|
return fmt.Sprintf(unknownValueFormat, message)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// This works because unlike the goconfig documentation suggests it will actually
|
||||||
|
// try to resolve message in DEFAULT if it did not find it in the given section.
|
||||||
|
value, error := messageConfig.String(region, message)
|
||||||
|
if error != nil {
|
||||||
|
// WARN.Printf("Unknown message '%s' for locale '%s'", message, locale)
|
||||||
|
return fmt.Sprintf(unknownValueFormat, message)
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(args) > 0 {
|
||||||
|
// revel.TRACE.Printf("Arguments detected, formatting '%s' with %v", value, args)
|
||||||
|
value = fmt.Sprintf(value, args...)
|
||||||
|
}
|
||||||
|
|
||||||
|
return value
|
||||||
|
}
|
||||||
|
|
||||||
|
func parseLocale(locale string) (language, region string) {
|
||||||
|
if strings.Contains(locale, "-") {
|
||||||
|
languageAndRegion := strings.Split(locale, "-")
|
||||||
|
return languageAndRegion[0], languageAndRegion[1]
|
||||||
|
}
|
||||||
|
|
||||||
|
return locale, ""
|
||||||
|
}
|
||||||
|
|
||||||
|
// Recursively read and cache all available messages from all message files on the given path.
|
||||||
|
func loadMessages(path string) {
|
||||||
|
messages = make(map[string]*config.Config)
|
||||||
|
|
||||||
|
if error := filepath.Walk(path, loadEachMessageLang); error != nil && !os.IsNotExist(error) {
|
||||||
|
// ERROR.Println("Error reading messages files:", error)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 加载每一个文件夹
|
||||||
|
func loadEachMessageLang(parentPath string, parentInfo os.FileInfo, osError error) (err error) {
|
||||||
|
if !parentInfo.IsDir() {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
if err := filepath.Walk(parentPath, func(path string, info os.FileInfo, osError error) error {
|
||||||
|
return loadMessageFile(parentInfo.Name(), path, info, osError)
|
||||||
|
|
||||||
|
}); err != nil && !os.IsNotExist(err) {
|
||||||
|
// ERROR.Println("Error reading messages files:", error)
|
||||||
|
}
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// Load a single message file
|
||||||
|
func loadMessageFile(locale string, path string, info os.FileInfo, osError error) error {
|
||||||
|
if osError != nil {
|
||||||
|
return osError
|
||||||
|
}
|
||||||
|
if info.IsDir() {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
if matched, _ := regexp.MatchString(messageFilePattern, info.Name()); matched {
|
||||||
|
if config, error := parseMessagesFile(path); error != nil {
|
||||||
|
return error
|
||||||
|
} else {
|
||||||
|
// locale := parseLocaleFromFileName(info.Name())
|
||||||
|
// revel.TRACE.Print(locale + "----locale")
|
||||||
|
|
||||||
|
// If we have already parsed a message file for this locale, merge both
|
||||||
|
if _, exists := messages[locale]; exists {
|
||||||
|
messages[locale].Merge(config)
|
||||||
|
revel.TRACE.Printf("Successfully merged messages for locale '%s'", locale)
|
||||||
|
} else {
|
||||||
|
messages[locale] = config
|
||||||
|
}
|
||||||
|
|
||||||
|
revel.TRACE.Println("Successfully loaded messages from file", info.Name())
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
revel.TRACE.Printf("Ignoring file %s because it did not have a valid extension", info.Name())
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func parseMessagesFile(path string) (messageConfig *config.Config, error error) {
|
||||||
|
messageConfig, error = config.ReadDefault(path)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
func parseLocaleFromFileName(file string) string {
|
||||||
|
extension := filepath.Ext(file)[1:]
|
||||||
|
return strings.ToLower(extension)
|
||||||
|
}
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
revel.OnAppStart(func() {
|
||||||
|
loadMessages(filepath.Join(revel.BasePath, messageFilesDirectory))
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
func I18nFilter(c *revel.Controller, fc []revel.Filter) {
|
||||||
|
if foundCookie, cookieValue := hasLocaleCookie(c.Request); foundCookie {
|
||||||
|
revel.TRACE.Printf("Found locale cookie value: %s", cookieValue)
|
||||||
|
setCurrentLocaleControllerArguments(c, cookieValue)
|
||||||
|
} else if foundHeader, headerValue := hasAcceptLanguageHeader(c.Request); foundHeader {
|
||||||
|
revel.TRACE.Printf("Found Accept-Language header value: %s", headerValue)
|
||||||
|
setCurrentLocaleControllerArguments(c, headerValue)
|
||||||
|
} else {
|
||||||
|
revel.TRACE.Println("Unable to find locale in cookie or header, using empty string")
|
||||||
|
setCurrentLocaleControllerArguments(c, "")
|
||||||
|
}
|
||||||
|
fc[0](c, fc[1:])
|
||||||
|
}
|
||||||
|
|
||||||
|
// Set the current locale controller argument (CurrentLocaleControllerArg) with the given locale.
|
||||||
|
func setCurrentLocaleControllerArguments(c *revel.Controller, locale string) {
|
||||||
|
c.Request.Locale = locale
|
||||||
|
c.RenderArgs[CurrentLocaleRenderArg] = locale
|
||||||
|
}
|
||||||
|
|
||||||
|
// Determine whether the given request has valid Accept-Language value.
|
||||||
|
//
|
||||||
|
// Assumes that the accept languages stored in the request are sorted according to quality, with top
|
||||||
|
// quality first in the slice.
|
||||||
|
func hasAcceptLanguageHeader(request *revel.Request) (bool, string) {
|
||||||
|
if request.AcceptLanguages != nil && len(request.AcceptLanguages) > 0 {
|
||||||
|
return true, request.AcceptLanguages[0].Language
|
||||||
|
}
|
||||||
|
|
||||||
|
return false, ""
|
||||||
|
}
|
||||||
|
|
||||||
|
// Determine whether the given request has a valid language cookie value.
|
||||||
|
func hasLocaleCookie(request *revel.Request) (bool, string) {
|
||||||
|
if request != nil && request.Cookies() != nil {
|
||||||
|
name := revel.Config.StringDefault(localeCookieConfigKey, revel.CookiePrefix+"_LANG")
|
||||||
|
if cookie, error := request.Cookie(name); error == nil {
|
||||||
|
return true, cookie.Value
|
||||||
|
} else {
|
||||||
|
revel.TRACE.Printf("Unable to read locale cookie with name '%s': %s", name, error.Error())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false, ""
|
||||||
|
}
|
||||||
@@ -518,7 +518,7 @@ func (this *BlogService) fixUserBlog(userBlog *info.UserBlog) {
|
|||||||
// Logo路径问题, 有些有http: 有些没有
|
// Logo路径问题, 有些有http: 有些没有
|
||||||
if userBlog.Logo != "" && !strings.HasPrefix(userBlog.Logo, "http") {
|
if userBlog.Logo != "" && !strings.HasPrefix(userBlog.Logo, "http") {
|
||||||
userBlog.Logo = strings.Trim(userBlog.Logo, "/")
|
userBlog.Logo = strings.Trim(userBlog.Logo, "/")
|
||||||
userBlog.Logo = configService.GetSiteUrl() + "/" + userBlog.Logo
|
userBlog.Logo = "/" + userBlog.Logo
|
||||||
}
|
}
|
||||||
|
|
||||||
if userBlog.SortField == "" {
|
if userBlog.SortField == "" {
|
||||||
@@ -1108,6 +1108,7 @@ func (this *BlogService) SortSingles(userId string, singleIds []string) (ok bool
|
|||||||
|
|
||||||
// 得到用户的博客url
|
// 得到用户的博客url
|
||||||
func (this *BlogService) GetUserBlogUrl(userBlog *info.UserBlog, username string) string {
|
func (this *BlogService) GetUserBlogUrl(userBlog *info.UserBlog, username string) string {
|
||||||
|
/*
|
||||||
if userBlog != nil {
|
if userBlog != nil {
|
||||||
if userBlog.Domain != "" && configService.AllowCustomDomain() {
|
if userBlog.Domain != "" && configService.AllowCustomDomain() {
|
||||||
return configService.GetUserUrl(userBlog.Domain)
|
return configService.GetUserUrl(userBlog.Domain)
|
||||||
@@ -1118,12 +1119,15 @@ func (this *BlogService) GetUserBlogUrl(userBlog *info.UserBlog, username string
|
|||||||
username = userBlog.UserId.Hex()
|
username = userBlog.UserId.Hex()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
return configService.GetBlogUrl() + "/" + username
|
return configService.GetBlogUrl() + "/" + username
|
||||||
}
|
}
|
||||||
|
|
||||||
// 得到所有url
|
// 得到所有url
|
||||||
func (this *BlogService) GetBlogUrls(userBlog *info.UserBlog, userInfo *info.User) info.BlogUrls {
|
func (this *BlogService) GetBlogUrls(userBlog *info.UserBlog, userInfo *info.User) info.BlogUrls {
|
||||||
var indexUrl, postUrl, searchUrl, cateUrl, singleUrl, tagsUrl, archiveUrl, tagPostsUrl string
|
var indexUrl, postUrl, searchUrl, cateUrl, singleUrl, tagsUrl, archiveUrl, tagPostsUrl string
|
||||||
|
|
||||||
|
/*
|
||||||
if userBlog.Domain != "" && configService.AllowCustomDomain() { // http://demo.com
|
if userBlog.Domain != "" && configService.AllowCustomDomain() { // http://demo.com
|
||||||
// ok
|
// ok
|
||||||
indexUrl = configService.GetUserUrl(userBlog.Domain)
|
indexUrl = configService.GetUserUrl(userBlog.Domain)
|
||||||
@@ -1144,6 +1148,7 @@ func (this *BlogService) GetBlogUrls(userBlog *info.UserBlog, userInfo *info.Use
|
|||||||
tagsUrl = indexUrl + "/tags"
|
tagsUrl = indexUrl + "/tags"
|
||||||
tagPostsUrl = indexUrl + "/tag"
|
tagPostsUrl = indexUrl + "/tag"
|
||||||
} else {
|
} else {
|
||||||
|
*/
|
||||||
// ok
|
// ok
|
||||||
blogUrl := configService.GetBlogUrl() // blog.leanote.com
|
blogUrl := configService.GetBlogUrl() // blog.leanote.com
|
||||||
userIdOrEmail := ""
|
userIdOrEmail := ""
|
||||||
@@ -1162,7 +1167,7 @@ func (this *BlogService) GetBlogUrls(userBlog *info.UserBlog, userInfo *info.Use
|
|||||||
archiveUrl = blogUrl + "/archives/" + userIdOrEmail // blog.leanote.com/archive/username
|
archiveUrl = blogUrl + "/archives/" + userIdOrEmail // blog.leanote.com/archive/username
|
||||||
tagsUrl = blogUrl + "/tags/" + userIdOrEmail
|
tagsUrl = blogUrl + "/tags/" + userIdOrEmail
|
||||||
tagPostsUrl = blogUrl + "/tag/" + userIdOrEmail // blog.leanote.com/archive/username
|
tagPostsUrl = blogUrl + "/tag/" + userIdOrEmail // blog.leanote.com/archive/username
|
||||||
}
|
// }
|
||||||
|
|
||||||
return info.BlogUrls{
|
return info.BlogUrls{
|
||||||
IndexUrl: indexUrl,
|
IndexUrl: indexUrl,
|
||||||
|
|||||||
@@ -67,10 +67,20 @@ func (this *ConfigService) InitGlobalConfigs() bool {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// site URL
|
||||||
|
if s, ok := this.GlobalStringConfigs["siteUrl"]; !ok || s != "" {
|
||||||
|
this.GlobalStringConfigs["siteUrl"] = this.siteUrl
|
||||||
|
}
|
||||||
|
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *ConfigService) GetSiteUrl() string {
|
func (this *ConfigService) GetSiteUrl() string {
|
||||||
|
s := this.GetGlobalStringConfig("siteUrl")
|
||||||
|
if s != "" {
|
||||||
|
return s
|
||||||
|
}
|
||||||
|
|
||||||
return this.siteUrl
|
return this.siteUrl
|
||||||
}
|
}
|
||||||
func (this *ConfigService) GetAdminUsername() string {
|
func (this *ConfigService) GetAdminUsername() string {
|
||||||
@@ -498,42 +508,25 @@ func (this *ConfigService) GetDefaultDomain() string {
|
|||||||
return defaultDomain
|
return defaultDomain
|
||||||
}
|
}
|
||||||
|
|
||||||
// 包含http://
|
|
||||||
func (this *ConfigService) GetDefaultUrl() string {
|
|
||||||
return schema + defaultDomain
|
|
||||||
}
|
|
||||||
|
|
||||||
// note
|
// note
|
||||||
func (this *ConfigService) GetNoteDomain() string {
|
func (this *ConfigService) GetNoteDomain() string {
|
||||||
subDomain := this.GetGlobalStringConfig("noteSubDomain")
|
return "/note"
|
||||||
if subDomain != "" {
|
|
||||||
return subDomain + port
|
|
||||||
}
|
|
||||||
return this.GetDefaultDomain() + "/note"
|
|
||||||
}
|
}
|
||||||
func (this *ConfigService) GetNoteUrl() string {
|
func (this *ConfigService) GetNoteUrl() string {
|
||||||
return schema + this.GetNoteDomain()
|
return this.GetNoteDomain()
|
||||||
}
|
}
|
||||||
|
|
||||||
// blog
|
// blog
|
||||||
func (this *ConfigService) GetBlogDomain() string {
|
func (this *ConfigService) GetBlogDomain() string {
|
||||||
subDomain := this.GetGlobalStringConfig("blogSubDomain")
|
return "/blog"
|
||||||
if subDomain != "" {
|
|
||||||
return subDomain + port
|
|
||||||
}
|
|
||||||
return this.GetDefaultDomain() + "/blog"
|
|
||||||
}
|
}
|
||||||
func (this *ConfigService) GetBlogUrl() string {
|
func (this *ConfigService) GetBlogUrl() string {
|
||||||
return schema + this.GetBlogDomain()
|
return this.GetBlogDomain()
|
||||||
}
|
}
|
||||||
|
|
||||||
// lea
|
// lea
|
||||||
func (this *ConfigService) GetLeaDomain() string {
|
func (this *ConfigService) GetLeaDomain() string {
|
||||||
subDomain := this.GetGlobalStringConfig("leaSubDomain")
|
return "/lea"
|
||||||
if subDomain != "" {
|
|
||||||
return subDomain + port
|
|
||||||
}
|
|
||||||
return this.GetDefaultDomain() + "/lea"
|
|
||||||
}
|
}
|
||||||
func (this *ConfigService) GetLeaUrl() string {
|
func (this *ConfigService) GetLeaUrl() string {
|
||||||
return schema + this.GetLeaDomain()
|
return schema + this.GetLeaDomain()
|
||||||
@@ -611,5 +604,5 @@ func (this *ConfigService) HomePageIsAdminsBlog() bool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (this *ConfigService) GetVersion() string {
|
func (this *ConfigService) GetVersion() string {
|
||||||
return "1.4.2"
|
return "2.0"
|
||||||
}
|
}
|
||||||
@@ -438,11 +438,7 @@ func (this *NoteService) UpdateNote(updatedUserId, noteId string, needUpdate bso
|
|||||||
afterUsn := userService.IncrUsn(userId)
|
afterUsn := userService.IncrUsn(userId)
|
||||||
needUpdate["Usn"] = afterUsn
|
needUpdate["Usn"] = afterUsn
|
||||||
|
|
||||||
// 添加tag2
|
needRecountTags := false
|
||||||
// TODO 这个tag去掉, 添加tag另外添加, 不要这个
|
|
||||||
if tags, ok := needUpdate["Tags"]; ok {
|
|
||||||
tagService.AddTagsI(userId, tags)
|
|
||||||
}
|
|
||||||
|
|
||||||
// 是否修改了isBlog
|
// 是否修改了isBlog
|
||||||
// 也要修改noteContents的IsBlog
|
// 也要修改noteContents的IsBlog
|
||||||
@@ -455,6 +451,19 @@ func (this *NoteService) UpdateNote(updatedUserId, noteId string, needUpdate bso
|
|||||||
if !note.IsBlog {
|
if !note.IsBlog {
|
||||||
needUpdate["PublicTime"] = needUpdate["UpdatedTime"]
|
needUpdate["PublicTime"] = needUpdate["UpdatedTime"]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
needRecountTags = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 添加tag2
|
||||||
|
// TODO 这个tag去掉, 添加tag另外添加, 不要这个
|
||||||
|
if tags, ok := needUpdate["Tags"]; ok {
|
||||||
|
tagService.AddTagsI(userId, tags)
|
||||||
|
|
||||||
|
// 如果是博客, 标签改了, 那么重新计算
|
||||||
|
if note.IsBlog {
|
||||||
|
needRecountTags = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -463,6 +472,13 @@ func (this *NoteService) UpdateNote(updatedUserId, noteId string, needUpdate bso
|
|||||||
return ok, "", 0
|
return ok, "", 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if needRecountTags {
|
||||||
|
// 重新计算tags
|
||||||
|
go (func() {
|
||||||
|
blogService.ReCountBlogTags(userId)
|
||||||
|
})()
|
||||||
|
}
|
||||||
|
|
||||||
// 重新获取之
|
// 重新获取之
|
||||||
note = this.GetNoteById(noteId)
|
note = this.GetNoteById(noteId)
|
||||||
|
|
||||||
|
|||||||
@@ -110,7 +110,7 @@ func (this *UserService) setUserLogo(user *info.User) {
|
|||||||
}
|
}
|
||||||
if user.Logo != "" && !strings.HasPrefix(user.Logo, "http") {
|
if user.Logo != "" && !strings.HasPrefix(user.Logo, "http") {
|
||||||
user.Logo = strings.Trim(user.Logo, "/")
|
user.Logo = strings.Trim(user.Logo, "/")
|
||||||
user.Logo = configService.GetSiteUrl() + "/" + user.Logo
|
user.Logo = "/" + user.Logo
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -131,6 +131,15 @@
|
|||||||
</span>
|
</span>
|
||||||
</a>
|
</a>
|
||||||
<ul class="nav lt">
|
<ul class="nav lt">
|
||||||
|
|
||||||
|
<li>
|
||||||
|
<a href="/admin/t?t=setting/site_url">
|
||||||
|
<span>
|
||||||
|
Site's URL
|
||||||
|
</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
<li>
|
<li>
|
||||||
<a href="/admin/t?t=setting/home_page">
|
<a href="/admin/t?t=setting/home_page">
|
||||||
<span>
|
<span>
|
||||||
|
|||||||
@@ -0,0 +1,51 @@
|
|||||||
|
{{template "admin/top.html" .}}
|
||||||
|
<div class="m-b-md"> <h3 class="m-b-none">Site's URL</h3></div>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
|
||||||
|
<div class="col-sm-6">
|
||||||
|
<form id="add_user_form">
|
||||||
|
<section class="panel panel-default">
|
||||||
|
<div class="panel-body">
|
||||||
|
<div class="form-group">
|
||||||
|
<label>Site's URL</label>
|
||||||
|
<input type="text" class="form-control" name="siteUrl" value="{{.str.siteUrl}}" placeholder="http://localhost:9000">
|
||||||
|
Please note that if the value isn't blank, it will override the "siteUrl" configuration on app.conf.
|
||||||
|
<br>
|
||||||
|
Site's URL will be used to upload images, find password, and send email...
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<footer class="panel-footer text-right bg-light lter">
|
||||||
|
<button type="submit" id="submit" class="btn btn-success btn-s-xs">Submit</button>
|
||||||
|
</footer>
|
||||||
|
</section>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{template "admin/footer.html" .}}
|
||||||
|
<script src="/public/admin/js/jquery-validation-1.13.0/jquery.validate.js"></script>
|
||||||
|
<script>
|
||||||
|
$(function() {
|
||||||
|
init_validator("#add_user_form");
|
||||||
|
$("#submit").click(function(e){
|
||||||
|
e.preventDefault();
|
||||||
|
var t = this;
|
||||||
|
if($("#add_user_form").valid()) {
|
||||||
|
$(t).button('loading');
|
||||||
|
ajaxPost("/adminSetting/doSiteUrl", getFormJsonData("add_user_form"), function(ret){
|
||||||
|
$(t).button('reset');
|
||||||
|
if(!ret.Ok) {
|
||||||
|
art.alert(ret.Msg);
|
||||||
|
} else {
|
||||||
|
art.tips("Success");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
{{template "admin/end.html" .}}
|
||||||
@@ -16,12 +16,15 @@
|
|||||||
<script src="/public/admin/js/ie/excanvas.js"></script>
|
<script src="/public/admin/js/ie/excanvas.js"></script>
|
||||||
<![endif]-->
|
<![endif]-->
|
||||||
</head>
|
</head>
|
||||||
<body class="">
|
<body class="lang-{{$.locale}}">
|
||||||
<section class="vbox">
|
<section class="vbox">
|
||||||
<header class="bg-dark dk header navbar navbar-fixed-top-xs">
|
<header class="bg-dark dk header navbar navbar-fixed-top-xs">
|
||||||
<div class="navbar-header aside-md clearfix" id="logo">
|
|
||||||
<a href="/admin/index" class="navbar-brand" data-toggle="fullscreen"></a>
|
<div class="navbar-header logo-ctn">
|
||||||
<div>Admin</div>
|
<a href="/admin/index" class="navbar-brand clearfix" data-toggle="fullscreen">
|
||||||
|
<span id="logo"></span>
|
||||||
|
<span class="logo-title">Admin</span>
|
||||||
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<ul class="nav navbar-nav navbar-right m-n hidden-xs nav-user">
|
<ul class="nav navbar-nav navbar-right m-n hidden-xs nav-user">
|
||||||
@@ -37,16 +40,16 @@
|
|||||||
</li>
|
</li>
|
||||||
<li class="hidden-xs">
|
<li class="hidden-xs">
|
||||||
<a href="http://lea.leanote.com" class="dk" target="_blank">
|
<a href="http://lea.leanote.com" class="dk" target="_blank">
|
||||||
lea++
|
Leanote Explore
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="hidden-xs">
|
<li class="hidden-xs">
|
||||||
<a href="/note" class="dk" target="_blank">
|
<a href="/note" class="dk">
|
||||||
My Note
|
My Note
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="hidden-xs">
|
<li class="hidden-xs">
|
||||||
<a href="/blog" class="dk" target="_blank">
|
<a href="/blog" class="dk">
|
||||||
My Blog
|
My Blog
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
|||||||
@@ -1,19 +0,0 @@
|
|||||||
{{template "blog/header.html" .}}
|
|
||||||
|
|
||||||
<div id="postsContainer">
|
|
||||||
<div id="posts">
|
|
||||||
<div class="each-post">
|
|
||||||
<div class="title">
|
|
||||||
{{msg . "aboutMe"}}
|
|
||||||
</div>
|
|
||||||
<div class="created-time">
|
|
||||||
</div>
|
|
||||||
<div class="desc">
|
|
||||||
{{.userBlog.AboutMe | raw}}
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{{template "blog/footer.html" .}}
|
|
||||||
@@ -1,204 +0,0 @@
|
|||||||
<!-- 赞 -->
|
|
||||||
<div class="entry-controls clearfix">
|
|
||||||
<div class="vote-section-wrapper clearfix">
|
|
||||||
<button class="btn btn-default btn-zan" id="likeBtn"><i class="fa fa-thumbs-o-up"></i> <span id="likeNum">{{.blog.LikeNum}}</span> {{msg . "like"}}</button>
|
|
||||||
<span class="control-item read-counts"><i class="fa fa-eye"></i> {{if .blog.ReadNum}}{{.blog.ReadNum}}{{else}}1{{end}} {{msg . "viewers"}}</span>
|
|
||||||
</div>
|
|
||||||
<div class="right-section">
|
|
||||||
<div id="weixinQRCode"></div>
|
|
||||||
<!-- google+
|
|
||||||
<g:plusone size=”medium”></g:plusone>
|
|
||||||
-->
|
|
||||||
<button class="btn btn-share btn-default btn-weibo"><i class="fa fa-weibo"></i> {{msg . "sinaWeibo"}}</button>
|
|
||||||
<button class="btn btn-share btn-default btn-weixin"><i class="fa fa-wechat"></i> {{msg . "weixin"}}</button>
|
|
||||||
<div class="dropdown" style="display: inline-block; cursor: pointer; padding: 5px 10px;">
|
|
||||||
<!-- open -->
|
|
||||||
<div class="dropdown-toggle" data-hover="dropdown" data-toggle="dropdown">
|
|
||||||
<i class="fa fa-share-square-o"></i>
|
|
||||||
{{msg . "moreShare"}}
|
|
||||||
</div>
|
|
||||||
<ul class="dropdown-menu" role="menu">
|
|
||||||
<li><a href="#" class="btn-share tencent-weibo"><i class="fa fa-tencent-weibo"></i> {{msg . "tencentWeibo"}}</a></li>
|
|
||||||
<li><a href="#" class="btn-share qq"><i class="fa fa-qq"></i> {{msg . "qqZone"}}</a></li>
|
|
||||||
<li><a href="#" class="btn-share renren"><i class="fa fa-renren"></i> {{msg . "renren"}}</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<!-- 举报 -->
|
|
||||||
{{if eq .locale "zh"}}
|
|
||||||
<div style="display: inline-block">
|
|
||||||
<a id="reportBtn"><i class="fa fa-flag-o"></i> {{msg . "report"}}</a>
|
|
||||||
</div>
|
|
||||||
{{end}}
|
|
||||||
</div>
|
|
||||||
<div class="voters clearfix" id="likers">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<script type="text/x-jsrender" id="tLikers">
|
|
||||||
[[for users]]
|
|
||||||
<a id="liker_[[:UserId]]" href="[[:~root.blogUrl]]/[[:Username]]" target="_blank" class="voter">
|
|
||||||
[[if Logo]]
|
|
||||||
<img alt="avatar" class="avatar-small" src="[[:Logo]]">
|
|
||||||
[[else]]
|
|
||||||
<img alt="avatar" class="avatar-small" src="/images/blog/default_avatar.png">
|
|
||||||
[[/if]]
|
|
||||||
</a>
|
|
||||||
[[/for]]
|
|
||||||
</script>
|
|
||||||
{{if and .userBlog.CanComment (not (eq .userBlog.CommentType "disqus"))}}
|
|
||||||
|
|
||||||
<script type="text/x-jsrender" id="tComments">
|
|
||||||
[[for comments]]
|
|
||||||
<li class="comment-item">
|
|
||||||
<!-- 头像 -->
|
|
||||||
<a ui-hovercard="" target="_blank" class="avatar-link" title="[[:UserInfo.Username]]" href="[[:~root.blogUrl]]/[[:UserInfo.Username]]">
|
|
||||||
<img class="avatar" src="[[:UserInfo.Logo]]">
|
|
||||||
</a>
|
|
||||||
<!-- 评论 -->
|
|
||||||
<div class="comment-body">
|
|
||||||
<div class="comment-hd">
|
|
||||||
<a href="[[:~root.blogUrl]]/[[:UserInfo.Username]]" target="_blank" >[[:UserInfo.Username]]</a>
|
|
||||||
[[if IsAuthorComment]]
|
|
||||||
<span>({{msg . "author"}})</span>
|
|
||||||
[[/if]]
|
|
||||||
|
|
||||||
<!-- 回复其它人 -->
|
|
||||||
[[if ToUserInfo]]
|
|
||||||
<span class="in-reply-to">
|
|
||||||
{{rawMsg . "reply"}}
|
|
||||||
<a href="[[:~root.blogUrl]]/[[:ToUserInfo.Username]]">[[:ToUserInfo.Username]]</a>
|
|
||||||
</span>
|
|
||||||
[[if ToUserIsAuthor]]
|
|
||||||
<span>({{msg . "author"}})</span>
|
|
||||||
[[/if]]
|
|
||||||
[[/if]]
|
|
||||||
</div>
|
|
||||||
<div class="comment-content ng-binding" ng-bind-html="comment.content">
|
|
||||||
[[html:Content]]
|
|
||||||
</div>
|
|
||||||
<div class="comment-ft clearfix" data-comment-id="[[:CommentId]]" >
|
|
||||||
<span title="" ui-time="" class="date">[[:PublishDate]] </span>
|
|
||||||
<span class="like-num [[if !LikeNum]]hide[[/if]]" title="[[:LikeNum]] {{rawMsg . "like"}}"><span class="like-num-i">[[:LikeNum]]</span> {{rawMsg . "like"}}</span></span>
|
|
||||||
|
|
||||||
[[if ~root.visitUserInfo.UserId]]
|
|
||||||
[[if IsMyNote && !IsMyComment]]
|
|
||||||
<a href="javascript:;" class="comment-trash op-link "><i class="fa fa-trash"></i> {{rawMsg . "delete"}}</a>
|
|
||||||
[[/if]]
|
|
||||||
[[if !IsMyComment]]
|
|
||||||
<a href="javascript:;" class="comment-reply op-link ">
|
|
||||||
<i class="fa fa-reply"></i>
|
|
||||||
{{rawMsg . "reply"}}
|
|
||||||
</a>
|
|
||||||
<a href="javascript:;" class="comment-like op-link"><i class="fa fa-thumbs-o-up"></i> <span class="like-text">[[if IsILikeIt]]{{rawMsg . "unlike"}}[[else]]{{rawMsg . "like"}}[[/if]]</span></a>
|
|
||||||
{{if eq .locale "zh"}}
|
|
||||||
<a href="javascript:;" class="comment-report op-link "><i class="fa fa-flag-o"></i> {{rawMsg . "report"}}</a>
|
|
||||||
{{end}}
|
|
||||||
[[else]]
|
|
||||||
<a href="javascript:;" class="comment-trash op-link "><i class="fa fa-trash"></i> {{rawMsg . "delete"}}</a>
|
|
||||||
[[/if]]
|
|
||||||
[[/if]]
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- 回复该评论 -->
|
|
||||||
[[if ~root.visitUserInfo.UserId]]
|
|
||||||
<form class="comment-form comment-box-ft">
|
|
||||||
<div class="clearfix">
|
|
||||||
<div class="avatar-wrap">
|
|
||||||
<img class="avatar" src="[[:~root.visitUserInfo.Logo]]">
|
|
||||||
</div>
|
|
||||||
<div class="editor-wrap">
|
|
||||||
<textarea class="editable" id="commentContent" name="commentContent" placeholder="{{rawMsg . "reply"}}"></textarea>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="command clearfix" style="display: block;">
|
|
||||||
<button class="reply-comment-btn save btn btn-primary" data-comment-id="[[:CommentId]]">{{rawMsg . "comment"}}</button>
|
|
||||||
<a class="cancel reply-cancel btn-link">{{rawMsg . "cancel"}}</a>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
[[/if]]
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
[[/for]]
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<!-- 评论 -->
|
|
||||||
<div class="comment-box hide">
|
|
||||||
{{if .visitUserInfo.UserId}}
|
|
||||||
<form class="comment-form comment-box-ft" id="commentForm">
|
|
||||||
<div class="clearfix">
|
|
||||||
<div class="avatar-wrap">
|
|
||||||
<img class="avatar" src="{{.visitUserInfo.Logo}}">
|
|
||||||
</div>
|
|
||||||
<div class="editor-wrap">
|
|
||||||
<textarea class="editable" id="commentContent" name="commentContent" placeholder="{{msg . "comment"}}" style="height: 100px;"></textarea>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="command clearfix" style="display: block;">
|
|
||||||
<button id="commentBtn" class="reply-comment-btn save btn btn-primary">{{msg . "comment"}}</button>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
{{else}}
|
|
||||||
<div class="needLogin">
|
|
||||||
<a onclick="goLogin()">{{msg . "signIn"}}</a>, {{msg . "submitComment"}}.
|
|
||||||
<br />
|
|
||||||
没有帐号? <a onclick="goRegister()">{{msg . "signUp"}}</a>
|
|
||||||
</div>
|
|
||||||
{{end}}
|
|
||||||
<div class="box-header">
|
|
||||||
<span class="counter">
|
|
||||||
<i class="icon icon-comment"></i><span id="commentNum">{{.blog.CommentNum}}</span> {{msg . "comments"}}
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
<ul id="comments">
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="moreComments">
|
|
||||||
<div class="hide comments-more">
|
|
||||||
<a>More...</a>
|
|
||||||
</div>
|
|
||||||
<div class="comments-loading">
|
|
||||||
<img src="/images/loading-32.gif" />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{{if eq .locale "zh"}}
|
|
||||||
<div id="reportMsg" class="hide">
|
|
||||||
<form class="report-form" name="reportForm">
|
|
||||||
<ul class="options clearfix">
|
|
||||||
<li><label><input required="" value="{{msg . "reportReason1"}}" name="reason" type="radio">{{msg . "reportReason1"}}</label></li>
|
|
||||||
<li><label><input required="" value="{{msg . "reportReason2"}}" name="reason" type="radio">{{msg . "reportReason2"}}</label></li>
|
|
||||||
<li><label><input required="" value="{{msg . "reportReason3"}}" name="reason" type="radio">{{msg . "reportReason3"}}</label></li>
|
|
||||||
<li><label><input required="" value="{{msg . "reportReason4"}}" name="reason" type="radio">{{msg . "reportReason4"}}</label></li>
|
|
||||||
<li><label><input required="" value="" name="reason" type="radio">{{msg . "other"}}</label></li>
|
|
||||||
</ul>
|
|
||||||
<p class="input-container" style="display: none">
|
|
||||||
<input placeholder="{{msg . "reportReason"}}" type="text" name="detail" class="form-control reason-text basic-input" />
|
|
||||||
</p>
|
|
||||||
<p class="footnote"></p>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
{{end}}
|
|
||||||
|
|
||||||
{{end}}
|
|
||||||
|
|
||||||
{{if and .userBlog.CanComment (eq .userBlog.CommentType "disqus")}}
|
|
||||||
|
|
||||||
<div id="disqus_thread"></div>
|
|
||||||
<!-- comment -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
|
|
||||||
var disqus_shortname = '{{.userBlog.DisqusId}}'; // required: replace example with your forum shortname
|
|
||||||
var disqus_identifier = '{{.userBlog.UserId.Hex}}/{{.blog.NoteId.Hex}}/{{.blog.Title}}'; // 博客链接
|
|
||||||
|
|
||||||
/* * * DON'T EDIT BELOW THIS LINE * * */
|
|
||||||
(function() {
|
|
||||||
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
|
|
||||||
dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
|
|
||||||
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
|
|
||||||
})();
|
|
||||||
</script>
|
|
||||||
<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
|
|
||||||
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>
|
|
||||||
{{end}}
|
|
||||||
@@ -1,56 +0,0 @@
|
|||||||
<div id="footerContainer">
|
|
||||||
{{$userId := .userBlog.UserId.Hex}}
|
|
||||||
<div class="container" id="footer">
|
|
||||||
<div class="col-md-4">
|
|
||||||
<h3>{{msg . "blogNavs"}}</h3>
|
|
||||||
<ul>
|
|
||||||
<li><a href="{{$.blogUrl}}/{{$.userInfo.Username}}">{{msg . "home"}}</a></li>
|
|
||||||
{{range .notebooks}}
|
|
||||||
<li>
|
|
||||||
<a href="{{$.cateUrl}}/{{.NotebookId.Hex}}">{{.Title}}</a>
|
|
||||||
</li>
|
|
||||||
{{end}}
|
|
||||||
<li><a href="{{$.aboutMeUrl}}">{{msg . "aboutMe"}}</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-4">
|
|
||||||
<h3>{{msg . "latestPosts"}}</h3>
|
|
||||||
<ul>
|
|
||||||
{{range .recentBlogs}}
|
|
||||||
<li title="{{.Title}}"><a href="{{$.blogUrl}}/view/{{.NoteId.Hex}}/">{{.Title}}</a></li>
|
|
||||||
{{end}}
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-4">
|
|
||||||
<h3>{{msg . "quickLinks"}}</h3>
|
|
||||||
<ul>
|
|
||||||
<li><a href="{{$.noteUrl}}">{{msg . "myNote"}}</a></li>
|
|
||||||
<li><a href="{{$.siteUrl}}/login">leanote {{msg . "login"}}</a></li>
|
|
||||||
<li><a href="http://leanote.com" target="_blank">leanote {{msg . "home"}}</a></li>
|
|
||||||
<li><a href="http://lea.leanote.com" target="_blank">lea++</a></li>
|
|
||||||
<li><a href="http://bbs.leanote.com" target="_blank">leanote {{msg . "community"}}</a></li>
|
|
||||||
<li><a href="https://github.com/leanote/leanote" target="_blank">leanote github</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script src="{{$.siteUrl}}/js/jquery-1.9.0.min.js"></script>
|
|
||||||
<script src="{{$.siteUrl}}/js/bootstrap-min.js"></script>
|
|
||||||
<script src="{{$.siteUrl}}/js/bootstrap-hover-dropdown.js"></script>
|
|
||||||
<script src="{{$.siteUrl}}/js/i18n/blog.{{.locale}}.js"></script>
|
|
||||||
{{if not .isMe}}
|
|
||||||
<script src="{{$.siteUrl}}/blog/isMe.js?userId={{.userBlog.UserId.Hex}}"></script>
|
|
||||||
{{end}}
|
|
||||||
<script>
|
|
||||||
// 搜索
|
|
||||||
function search(e) {
|
|
||||||
var key = $("#searchInput").val();
|
|
||||||
if(!key) {
|
|
||||||
location.href = "{{$.searchUrl}}";
|
|
||||||
} else {
|
|
||||||
var tpl = '<form action="{{$.searchUrl}}" method="get">';
|
|
||||||
tpl += '<input name="key" value="' + key + '" />';
|
|
||||||
tpl += "</form";
|
|
||||||
$(tpl).submit();
|
|
||||||
}
|
|
||||||
}␍</script>
|
|
||||||
@@ -1,104 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<meta name="keywords" content="leanote,leanote.com">
|
|
||||||
<meta name="description" content="leanote, {{msg $ "moto"}}">
|
|
||||||
<meta name="author" content="leanote">
|
|
||||||
|
|
||||||
<title>{{.title}}</title>
|
|
||||||
<!-- Bootstrap core CSS -->
|
|
||||||
<link href="{{.siteUrl}}/css/bootstrap.css" rel="stylesheet">
|
|
||||||
<!-- 字体必须同一域 -->
|
|
||||||
{{if .set}}
|
|
||||||
<link href="{{.siteUrl}}/css/font-awesome-4.2.0/css/font-awesome.css" rel="stylesheet">
|
|
||||||
{{else}}
|
|
||||||
<link href="{{$.staticUrl}}/css/font-awesome-4.2.0/css/font-awesome.css" rel="stylesheet">
|
|
||||||
{{end}}
|
|
||||||
<link id="styleLink" href="{{.siteUrl}}/css/blog/{{if .userBlog.Style}}{{.userBlog.Style}}{{else}}blog_default{{end}}.css" rel="stylesheet">
|
|
||||||
<link href="{{.siteUrl}}/css/blog/comment.css" rel="stylesheet">
|
|
||||||
<script>
|
|
||||||
function log(o) {
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
<style>
|
|
||||||
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="headerAndNav" >
|
|
||||||
<div id="headerContainer" class="container">
|
|
||||||
<!-- 头部可放博客名, 导航 -->
|
|
||||||
<div id="header">
|
|
||||||
{{$userId := .userBlog.UserId.Hex}} <!-- 可不要了 -->
|
|
||||||
{{$username := .userInfo.Username}}
|
|
||||||
<h1>
|
|
||||||
<a href="{{.indexUrl}}" id="logo">
|
|
||||||
{{if .userBlog.Logo}}
|
|
||||||
<img src="{{.userBlog.Logo}}" title="{{.userBlog.Title}}"/>
|
|
||||||
{{else}}
|
|
||||||
{{.userBlog.Title | raw}}
|
|
||||||
{{end}}
|
|
||||||
</a>
|
|
||||||
</h1>
|
|
||||||
<div id="blogDesc">
|
|
||||||
{{.userBlog.SubTitle | raw}}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- Static navbar -->
|
|
||||||
<div class="navbar navbar-default">
|
|
||||||
<div class="container">
|
|
||||||
<div class="navbar-header">
|
|
||||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
|
|
||||||
<span class="sr-only">Toggle navigation</span>
|
|
||||||
<span class="icon-bar"></span>
|
|
||||||
<span class="icon-bar"></span>
|
|
||||||
<span class="icon-bar"></span>
|
|
||||||
</button>
|
|
||||||
<a class="navbar-brand" href="{{.indexUrl}}">
|
|
||||||
{{if .userBlog.Logo}}
|
|
||||||
<img src="{{.userBlog.Logo}}" title="{{.userBlog.Title}}"/>
|
|
||||||
{{else}}
|
|
||||||
{{.userBlog.Title | raw}}
|
|
||||||
{{end}}
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
<div class="navbar-collapse collapse">
|
|
||||||
<ul class="nav navbar-nav">
|
|
||||||
{{$navNotebookId := .notebookId}}
|
|
||||||
<li class="{{if .index}}active{{end}}"><a href="{{.indexUrl}}">{{msg . "home"}}</a></li>
|
|
||||||
{{range .notebooks}}
|
|
||||||
{{$notebookId := .NotebookId.Hex}}
|
|
||||||
<li class="{{if $navNotebookId}}{{if eq $navNotebookId $notebookId}}active{{else}}{{end}}{{end}}">
|
|
||||||
<a href="{{$.cateUrl}}/{{$notebookId}}"
|
|
||||||
>{{.Title}}</a>
|
|
||||||
</li>
|
|
||||||
{{end}}
|
|
||||||
<li class="{{if .aboutMe}}active{{end}}"><a href="{{.aboutMeUrl}}">{{msg . "aboutMe"}}</a></li>
|
|
||||||
<!-- 同源上传logo -->
|
|
||||||
<li class="is-me {{if .set}}active{{end}} {{if not .isMe}}hide{{end}}" ><a href="{{$.siteUrl}}/blog/set/">{{msg . "blogSet"}}</a></li>
|
|
||||||
<li><a href="{{$.noteUrl}}" class="is-me {{if not .isMe}}hide{{end}}">{{msg . "myNote"}}</a></li>
|
|
||||||
</ul>
|
|
||||||
<form class="navbar-form navbar-right" id="search" onsubmit="search(event);return false;">
|
|
||||||
<div class="input-group">
|
|
||||||
<span class="input-group-addon" id="searchIcon" onclick="search(event);"><i class="fa fa-search"></i></span>
|
|
||||||
<input type="text" placeholder="search" id="searchInput" class="form-control" value="{{.key}}">
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
</div><!--/.nav-collapse -->
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
var UserInfo = {UserId: "{{$userId}}", Email: "{{.userInfo.Email}}", Username: "{{.userInfo.Username}}"};
|
|
||||||
var UserBlogInfo={CanComment: {{.userBlog.CanComment}}, CommentType: "{{.userBlog.CommentType}}"};
|
|
||||||
var indexUrl = "{{$.indexUrl}}";
|
|
||||||
var viewUrl = "{{$.viewUrl}}";
|
|
||||||
var blogUrl = "{{$.blogUrl}}";
|
|
||||||
var staticUrl = "{{$.staticUrl}}"; // blog.leanote.com, life.leanote.com, aaa.com
|
|
||||||
</script>
|
|
||||||
@@ -1,73 +0,0 @@
|
|||||||
<!-- This file is Depreciated -->
|
|
||||||
|
|
||||||
<link href="/public/mdeditor/editor/google-code-prettify/prettify.css" type="text/css" rel="stylesheet">
|
|
||||||
<script src="/public/mdeditor/editor/google-code-prettify/prettify.js"></script>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
$("pre").addClass("prettyprint linenums");
|
|
||||||
prettyPrint();
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
<script type="text/javascript" src="/js/syntaxhighlighter/scripts/shCore.js"></script>
|
|
||||||
<link href="/js/syntaxhighlighter/styles/shCore.css" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="/js/syntaxhighlighter/styles/shThemeDefault.css" rel="stylesheet" type="text/css" />
|
|
||||||
<script type="text/javascript">
|
|
||||||
$(function () {
|
|
||||||
var pathPrefix = "/js/syntaxhighlighter/scripts/";
|
|
||||||
var map = {
|
|
||||||
"brush: jscript": "shBrushJScript.js",
|
|
||||||
"brush: c#": "shBrushCSharp.js",
|
|
||||||
"brush: css": "shBrushCss.js",
|
|
||||||
"brush: cpp": "shBrushCpp.js",
|
|
||||||
"brush: java": "shBrushJava.js",
|
|
||||||
"brush: xml": "shBrushXml.js",
|
|
||||||
"brush: php": "shBrushPhp.js",
|
|
||||||
"brush: perl": "shBrushPerl.js",
|
|
||||||
"brush: python": "shBrushPython.js",
|
|
||||||
"brush: ruby": "shBrushRuby.js",
|
|
||||||
"brush: sql": "shBrushSql.js"}
|
|
||||||
var needLoadCount = 0;
|
|
||||||
var alreadyLoadCount = 0;
|
|
||||||
$('pre[class]').each(function() {
|
|
||||||
var brush = $(this).attr("class");
|
|
||||||
var js = map[brush]
|
|
||||||
if (js) {
|
|
||||||
needLoadCount++;
|
|
||||||
map[brush] = null; // 不要重复加载
|
|
||||||
loadJS(pathPrefix + js, function () {
|
|
||||||
alreadyLoadCount++;
|
|
||||||
if (alreadyLoadCount == needLoadCount) {
|
|
||||||
//setTimeout(function() {
|
|
||||||
SyntaxHighlighter.highlight();
|
|
||||||
//}, 500);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
function loadJS(url, callback) {
|
|
||||||
$.getScript(url, function() {
|
|
||||||
callback();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
function loadJS(url, callback, charset) {
|
|
||||||
var script = document.createElement('script');
|
|
||||||
script.onload = script.onreadystatechange = function () {
|
|
||||||
if (script && script.readyState && /^(?!(?:loaded|complete)$)/.test(script.readyState)) return;
|
|
||||||
script.onload = script.onreadystatechange = null;
|
|
||||||
script.src = '';
|
|
||||||
script.parentNode.removeChild(script);
|
|
||||||
script = null;
|
|
||||||
if (callback) callback();
|
|
||||||
};
|
|
||||||
script.charset = charset || document.charset || document.characterSet;
|
|
||||||
script.src = url;
|
|
||||||
try { document.getElementsByTagName("head")[0].appendChild(script); } catch (e) { }
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
</script>
|
|
||||||
-->
|
|
||||||
@@ -1,50 +0,0 @@
|
|||||||
{{template "blog/header.html" .}}
|
|
||||||
|
|
||||||
<div id="postsContainer">
|
|
||||||
<div class="container">
|
|
||||||
{{if .notebookId}}
|
|
||||||
<h2>{{msg . "blogClass"}} - {{.notebook.Title}}</h2>
|
|
||||||
{{end}}
|
|
||||||
</div>
|
|
||||||
<div id="posts">
|
|
||||||
{{$G := .}}
|
|
||||||
{{range .blogs}}
|
|
||||||
<div class="each-post">
|
|
||||||
<div class="title">
|
|
||||||
<a href="{{$.viewUrl}}/{{.NoteId.Hex}}" title="{{msg $ "fullBlog"}}">
|
|
||||||
{{.Title}}
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
<div class="created-time">
|
|
||||||
<i class="fa fa-bookmark-o"></i>
|
|
||||||
{{if .Tags}}
|
|
||||||
{{blogTags $ .Tags}}
|
|
||||||
{{else}}
|
|
||||||
{{msg $ "noTag"}}
|
|
||||||
{{end}}
|
|
||||||
|
|
|
||||||
<i class="fa fa-calendar"></i> {{msg $ "updatedTime"}} {{.UpdatedTime | datetime}} |
|
|
||||||
<i class="fa fa-calendar"></i> {{msg $ "createdTime"}} {{.CreatedTime | datetime}}
|
|
||||||
</div>
|
|
||||||
<div class="desc">
|
|
||||||
{{.Content | raw}}
|
|
||||||
</div>
|
|
||||||
<a class="more" href="{{$.viewUrl}}/{{.NoteId.Hex}}" title="{{msg $ "fullBlog"}}">{{msg $ "more"}}.</a>
|
|
||||||
</div>
|
|
||||||
{{end}}
|
|
||||||
<!-- 分页 -->
|
|
||||||
<ul class="pager">
|
|
||||||
{{if .notebookId}}
|
|
||||||
{{set $ "pageUrl" (concatStr $.cateUrl "/" .notebookId)}}
|
|
||||||
{{else}}
|
|
||||||
{{set $ "pageUrl" $.indexUrl}}
|
|
||||||
{{end}}
|
|
||||||
{{page $.pageUrl .page .pageSize .count}}
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{{template "blog/footer.html" .}}
|
|
||||||
{{template "blog/highlight.html"}}
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,45 +0,0 @@
|
|||||||
{{template "blog/header.html" .}}
|
|
||||||
|
|
||||||
<div id="postsContainer">
|
|
||||||
<div class="container">
|
|
||||||
<h2>{{msg . "search"}} - {{.key}} </h2>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="posts">
|
|
||||||
{{range .blogs}}
|
|
||||||
<div class="each-post">
|
|
||||||
<div class="title">
|
|
||||||
<a href="{{$.viewUrl}}/{{.NoteId.Hex}}" title="{{msg $ "fullBlog"}}">
|
|
||||||
{{.Title}}
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
<div class="created-time">
|
|
||||||
<i class="fa fa-bookmark-o"></i>
|
|
||||||
{{if .Tags}}
|
|
||||||
{{blogTags $ .Tags}}
|
|
||||||
{{else}}
|
|
||||||
{{msg $ "noTag"}}
|
|
||||||
{{end}}
|
|
||||||
|
|
|
||||||
<i class="fa fa-calendar"></i> {{msg $ "updatedTime"}} {{.UpdatedTime | datetime}} |
|
|
||||||
<i class="fa fa-calendar"></i> {{msg $ "createdTime"}} {{.CreatedTime | datetime}}
|
|
||||||
</div>
|
|
||||||
<div class="desc">
|
|
||||||
{{.Content | raw}}
|
|
||||||
</div>
|
|
||||||
<a class="more" href="{{$.viewUrl}}/{{.NoteId.Hex}}" title="{{msg $ "fullBlog"}}">{{msg $ "more"}}</a>
|
|
||||||
</div>
|
|
||||||
{{end}}
|
|
||||||
|
|
||||||
{{if not .blogs }}
|
|
||||||
<div class="each-post">
|
|
||||||
{{msg . "none"}}
|
|
||||||
</div>
|
|
||||||
{{end}}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{{template "blog/footer.html" .}}
|
|
||||||
{{template "blog/highlight.html"}}
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,323 +0,0 @@
|
|||||||
{{template "blog/header.html" .}}
|
|
||||||
|
|
||||||
<!-- set页面不是自定义域名和二级域名页 -->
|
|
||||||
<link rel="stylesheet" href="{{.siteUrl}}/tinymce/skins/custom/skin.min.css" type="text/css">
|
|
||||||
<style>
|
|
||||||
.tab-pane {
|
|
||||||
padding-top: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
</style>
|
|
||||||
<div id="postsContainer">
|
|
||||||
<div id="posts">
|
|
||||||
<ul id="myTab" class="nav nav-tabs">
|
|
||||||
<li class="active"><a href="#baseInfo" data-toggle="tab">{{msg . "baseInfoSet"}}</a></li>
|
|
||||||
<li class=""><a href="#commentInfo" data-toggle="tab">{{msg . "commentSet"}}</a></li>
|
|
||||||
<li class=""><a href="#styleInfo" data-toggle="tab">{{msg . "themeSet"}}</a></li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<!-- Tab panes -->
|
|
||||||
<div class="tab-content">
|
|
||||||
<div class="tab-pane" id="styleInfo">
|
|
||||||
<form class="form-horizontal" role="form">
|
|
||||||
<div class="form-group">
|
|
||||||
<label class="col-sm-2 control-label"></label>
|
|
||||||
<div class="col-sm-10">
|
|
||||||
<div class="alert alert-success" id="styleMsg" style="display: none; margin-bottom: 3px;"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="form-group">
|
|
||||||
<label for="Style" class="col-sm-2 control-label">{{msg . "theme"}}</label>
|
|
||||||
<div class="col-sm-10" style="margin-top: 6px;" id="themeList">
|
|
||||||
<label>
|
|
||||||
<img class="preview" src="{{$.siteUrl}}/images/blog/theme/default.png" />
|
|
||||||
<input type="radio" name="Style"
|
|
||||||
value="blog_default"
|
|
||||||
{{if not .userBlog.Style}}
|
|
||||||
checked="checked"
|
|
||||||
{{else}}
|
|
||||||
{{if eq .userBlog.Style "blog_default"}}
|
|
||||||
checked="checked"
|
|
||||||
{{end}}
|
|
||||||
{{end}}>
|
|
||||||
{{msg . "default"}}
|
|
||||||
</label>
|
|
||||||
<label>
|
|
||||||
<img class="preview" src="{{$.siteUrl}}/images/blog/theme/elegent.png" />
|
|
||||||
<input type="radio" name="Style"
|
|
||||||
value="blog_daqi"
|
|
||||||
{{if eq .userBlog.Style "blog_daqi"}}checked="checked"{{end}}>
|
|
||||||
{{msg . "elegant"}}
|
|
||||||
</label>
|
|
||||||
<label>
|
|
||||||
<img class="preview" src="{{$.siteUrl}}/images/blog/theme/left_nav_fix.png" />
|
|
||||||
<input type="radio" name="Style"
|
|
||||||
value="blog_left_fixed"
|
|
||||||
{{if eq .userBlog.Style "blog_left_fixed"}}checked="checked"{{end}}>
|
|
||||||
{{msg . "navFixed"}}
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<div class="col-sm-offset-2 col-sm-10">
|
|
||||||
<button class="btn btn-success">{{msg . "save"}}</button>
|
|
||||||
<span class="msg"></span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
<div class="tab-pane" id="commentInfo">
|
|
||||||
<form class="form-horizontal" role="form">
|
|
||||||
<div class="form-group">
|
|
||||||
<label class="col-sm-2 control-label"></label>
|
|
||||||
<div class="col-sm-10">
|
|
||||||
<div class="alert alert-success" id="commentMsg" style="display: none; margin-bottom: 3px;"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<label for="subTitle" class="col-sm-2 control-label">{{msg . "chooseComment"}}</label>
|
|
||||||
<div class="col-sm-10">
|
|
||||||
<label>
|
|
||||||
<input type="checkbox" id="CanComment" name="CanComment"
|
|
||||||
{{if .userBlog.CanComment}}checked="checked"{{end}} > {{msg . "openComment"}}
|
|
||||||
</label>
|
|
||||||
|
|
||||||
<br />
|
|
||||||
|
|
||||||
<div id="commentSet" {{if not .userBlog.CanComment}}style="display: none"{{end}}>
|
|
||||||
<label>
|
|
||||||
<input type="radio"
|
|
||||||
name="commentType"
|
|
||||||
value="default"
|
|
||||||
{{if or (not .userBlog.CommentType) (eq .userBlog.CommentType "default")}}checked="checked"{{end}} > Default
|
|
||||||
</label>
|
|
||||||
|
|
||||||
<label>
|
|
||||||
<input type="radio" name="commentType" id="disqus"
|
|
||||||
value="disqus"
|
|
||||||
{{if eq .userBlog.CommentType "disqus"}}checked="checked"{{end}} > Disqus
|
|
||||||
</label>
|
|
||||||
|
|
||||||
<div id="disqusSet" {{if not (eq .userBlog.CommentType "disqus")}}style="display: none"{{end}}>
|
|
||||||
<label for="DisqusId">Disqus Id</label> <input type="text"
|
|
||||||
class="form-control" style="display: inline; width: 50%"
|
|
||||||
id="DisqusId" name="DisqusId"
|
|
||||||
value="{{if .userBlog.DisqusId}}{{.userBlog.DisqusId}}{{else}}leanote{{end}}">
|
|
||||||
<br />
|
|
||||||
{{msg . "disqusHelp"}}
|
|
||||||
<a target="_blank" href="http://leanote.com/blog/view/52db8463e01c530ef8000001">{{msg . "needHelp"}}</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<div class="col-sm-offset-2 col-sm-10">
|
|
||||||
<button class="btn btn-success">{{msg . "save"}}</button>
|
|
||||||
<span class="msg"></span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="tab-pane active" id="baseInfo">
|
|
||||||
<div class="form-horizontal" role="form" id="userBlogForm">
|
|
||||||
<div class="form-group">
|
|
||||||
<label class="col-sm-2 control-label"></label>
|
|
||||||
<div class="col-sm-10">
|
|
||||||
<div class="alert alert-success" id="msg"
|
|
||||||
style="display: none; margin-bottom: 3px;"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<label for="title" class="col-sm-2 control-label">{{msg . "blogName"}}</label>
|
|
||||||
<div class="col-sm-10">
|
|
||||||
<input type="text" class="form-control" id="Title" name="Title"
|
|
||||||
placeholder="eg: leanote's blog"
|
|
||||||
value="{{if .userBlog.Title}}{{.userBlog.Title}}{{else}}{{.userInfo.Email}} 's blog{{end}}">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="form-group">
|
|
||||||
<label for="logo" class="col-sm-2 control-label">{{msg . "blogLogo"}}</label>
|
|
||||||
<div class="col-sm-10">
|
|
||||||
<input type="hidden" name="Logo" id="Logo"
|
|
||||||
value="{{.userBlog.Logo}}" />
|
|
||||||
<form id="formLogo" action="{{$.siteUrl}}/file/uploadBlogLogo" method="post"
|
|
||||||
enctype="multipart/form-data" target="logoTarget"
|
|
||||||
onsubmit="inProgress()">
|
|
||||||
<input type="file" class="form-control" id="logo2" name="file"
|
|
||||||
onChange='$("#formLogo").submit();' />
|
|
||||||
{{msg . "blogLogoTips"}}
|
|
||||||
<div id="logoImg"
|
|
||||||
{{if .userBlog.Logo }}
|
|
||||||
{{else}}
|
|
||||||
style="display: none"{{end}}
|
|
||||||
>
|
|
||||||
<img src="{{.userBlog.Logo}}" style="height: 40px" /> <a
|
|
||||||
href="#" id="deleteLogo">{{msg . "delete"}}</a>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
<iframe id="logoTarget" name="logoTarget" src="#"
|
|
||||||
style="display: none"></iframe>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="form-group">
|
|
||||||
<label for="subTitle" class="col-sm-2 control-label">{{msg . "blogDesc"}}</label>
|
|
||||||
<div class="col-sm-10">
|
|
||||||
<input type="text" class="form-control" id="SubTitle"
|
|
||||||
name="SubTitle" value="{{.userBlog.SubTitle}}"
|
|
||||||
placeholder="eg: leanote, Not Just A Notebook">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="form-group">
|
|
||||||
<label for="aboutMe" class="col-sm-2 control-label"></label>
|
|
||||||
<div class="col-sm-10">
|
|
||||||
<div id="popularToolbar"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="form-group">
|
|
||||||
<label for="aboutMe" class="col-sm-2 control-label">{{msg . "aboutMe"}}</label>
|
|
||||||
<div class="col-sm-10">
|
|
||||||
<textarea id="AboutMe" name="AboutMe">{{.userBlog.AboutMe}}</textarea>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="form-group">
|
|
||||||
<div class="col-sm-offset-2 col-sm-10">
|
|
||||||
<button class="btn btn-success">{{msg . "save"}}</button>
|
|
||||||
<span class="msg"></span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{{template "blog/footer.html" .}}
|
|
||||||
|
|
||||||
<script src="{{.siteUrl}}/js/common-min.js"></script>
|
|
||||||
<script type="text/javascript" src="{{.siteUrl}}/tinymce/tinymce.min.js"></script>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
var urlPrefix = "{{.siteUrl}}";
|
|
||||||
$(function() {
|
|
||||||
tinymce.init({
|
|
||||||
selector : "#AboutMe",
|
|
||||||
content_css : [ "/css/bootstrap.css", "/css/editor/editor.css" ],
|
|
||||||
skin : "custom",
|
|
||||||
language : "{{.locale}}",
|
|
||||||
height : 300,
|
|
||||||
width : "100%",
|
|
||||||
skin : "custom",
|
|
||||||
plugins : [
|
|
||||||
"advlist autolink link leanote_image lists charmap hr ",
|
|
||||||
"searchreplace visualblocks visualchars leanote_code tabfocus",
|
|
||||||
"table contextmenu directionality textcolor paste fullpage textcolor"],
|
|
||||||
toolbar1 : "formatselect |fontselect fontsizeselect| forecolor backcolor | bold italic underline strikethrough | bullist numlist |",
|
|
||||||
menubar : false,
|
|
||||||
toolbar_items_size : 'small',
|
|
||||||
statusbar : false,
|
|
||||||
font_formats : "Arial=arial,helvetica,sans-serif;"
|
|
||||||
+ "Arial Black=arial black,avant garde;"
|
|
||||||
+ "Times New Roman=times new roman,times;"
|
|
||||||
+ "Courier New=courier new,courier;"
|
|
||||||
+ "Tahoma=tahoma,arial,helvetica,sans-serif;"
|
|
||||||
+ "Verdana=verdana,geneva;" + "宋体=SimSun;"
|
|
||||||
+ "新宋体=NSimSun;" + "黑体=SimHei;"
|
|
||||||
+ "微软雅黑=Microsoft YaHei",
|
|
||||||
block_formats : "Header 1=h1;Header 2=h2;Header 3=h3; Header 4=h4;Pre=pre;Paragraph=p"
|
|
||||||
});
|
|
||||||
$("#deleteLogo").click(function() {
|
|
||||||
$("#Logo").val("");
|
|
||||||
$("#logoImg").hide();
|
|
||||||
});
|
|
||||||
|
|
||||||
$("#CanComment").click(function() {
|
|
||||||
if ($(this).is(":checked")) {
|
|
||||||
$("#commentSet").show();
|
|
||||||
} else {
|
|
||||||
$("#commentSet").hide();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
$("input[name='commentType']").click(function() {
|
|
||||||
if ($("input[name='commentType']:checked").val() == "disqus") {
|
|
||||||
$("#disqusSet").show();
|
|
||||||
} else {
|
|
||||||
$("#disqusSet").hide();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
// 基本设置
|
|
||||||
$("#baseInfo .btn-success").click(function() {
|
|
||||||
var data = {
|
|
||||||
Title : $("#Title").val(),
|
|
||||||
SubTitle : $("#SubTitle").val(),
|
|
||||||
Logo : $("#Logo").val(),
|
|
||||||
AboutMe : getEditorContent()
|
|
||||||
}
|
|
||||||
|
|
||||||
post("/blog/setUserBlogBase", data, function(ret) {
|
|
||||||
showMsg2($("#baseInfo .msg"), "{{msg . "saveSuccess"}}", 2000);
|
|
||||||
$("#blogDesc").html(data.SubTitle);
|
|
||||||
$("#logo").html(data.Title);
|
|
||||||
if(data.Logo) {
|
|
||||||
$("#logo").html(t('<img src="?" />', urlPrefix + "/" + data.Logo));
|
|
||||||
}
|
|
||||||
}, this);
|
|
||||||
});
|
|
||||||
// 评论
|
|
||||||
$("#commentInfo .btn-success").click(function(e) {
|
|
||||||
e.preventDefault();
|
|
||||||
var data = {
|
|
||||||
CanComment : $("#CanComment").is(":checked"),
|
|
||||||
CommentType: $("input[name='commentType']:checked").val(),
|
|
||||||
DisqusId : $("#DisqusId").val(),
|
|
||||||
}
|
|
||||||
post("/blog/setUserBlogComment", data, function(ret) {
|
|
||||||
showMsg2($("#commentInfo .msg"), "{{msg . "saveSuccess"}}", 2000);
|
|
||||||
}, this);
|
|
||||||
});
|
|
||||||
|
|
||||||
// 主题
|
|
||||||
$("#styleInfo .btn-success").click(function(e) {
|
|
||||||
e.preventDefault();
|
|
||||||
var data = {
|
|
||||||
Style : $("input[name='Style']:checked").val()
|
|
||||||
}
|
|
||||||
post("/blog/setUserBlogStyle", data, function(ret) {
|
|
||||||
showMsg2($("#styleInfo .msg"), "{{msg . "saveSuccess"}}", 2000);
|
|
||||||
}, this);
|
|
||||||
});
|
|
||||||
$("input[name='Style']").click(function() {
|
|
||||||
$("#styleLink").attr("href", "/css/blog/" + $(this).val() + ".css");
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
function inProgress() {
|
|
||||||
}
|
|
||||||
|
|
||||||
// filename, result, resultCode
|
|
||||||
function uploadFinish(ret) {
|
|
||||||
if (ret) {
|
|
||||||
if (ret.resultCode == '1') {
|
|
||||||
$("#logoImg img").attr("src", urlPrefix + "/" + ret.filename).parent().show();
|
|
||||||
$("#Logo").val(ret.filename);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
alert(ret.result);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
// 上传出错
|
|
||||||
alert("上传出错");
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,125 +0,0 @@
|
|||||||
{{template "blog/header.html" .}}
|
|
||||||
|
|
||||||
<div id="postsContainer">
|
|
||||||
<div id="posts">
|
|
||||||
<div class="each-post">
|
|
||||||
<div class="title">
|
|
||||||
{{.blog.Title}}
|
|
||||||
</div>
|
|
||||||
<div class="created-time">
|
|
||||||
<i class="fa fa-bookmark-o"></i>
|
|
||||||
{{if .blog.Tags}}
|
|
||||||
{{blogTags $ .blog.Tags}}
|
|
||||||
{{else}}
|
|
||||||
{{msg . "noTag"}}
|
|
||||||
{{end}}
|
|
||||||
|
|
|
||||||
<i class="fa fa-calendar"></i> {{msg . "updatedTime"}} {{.blog.UpdatedTime | datetime}} |
|
|
||||||
<i class="fa fa-calendar"></i> {{msg . "createdTime"}} {{.blog.CreatedTime | datetime}}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="mobile-created-time">
|
|
||||||
{{ if .userInfo.Logo}}
|
|
||||||
<img src="{{.userInfo.Logo}}" id="userLogo">
|
|
||||||
{{else}}
|
|
||||||
<img src="{{$.siteUrl}}/images/blog/default_avatar.png" id="userLogo">
|
|
||||||
{{end}}
|
|
||||||
{{.userInfo.Username}}
|
|
||||||
|
|
||||||
{{if .blog.Tags}}
|
|
||||||
|
|
||||||
<i class="fa fa-bookmark-o" style="color: #666"></i>
|
|
||||||
{{blogTags $ .blog.Tags}}
|
|
||||||
{{end}}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="desc" id="content">
|
|
||||||
{{if .blog.IsMarkdown }}
|
|
||||||
<div id="markdownContent" style="display: none">
|
|
||||||
<!-- 用textarea装html, 防止得到的值失真 -->
|
|
||||||
<textarea>
|
|
||||||
{{.blog.Content | raw}}
|
|
||||||
</textarea>
|
|
||||||
</div>
|
|
||||||
<div style="padding: 20px; text-align: center">
|
|
||||||
<img src="/images/loading-32.gif" />
|
|
||||||
</div>
|
|
||||||
{{else}}
|
|
||||||
{{.blog.Content | raw}}
|
|
||||||
{{end}}
|
|
||||||
|
|
||||||
<div id="desc" class="hide">{{.blog.Desc}}</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- comment -->
|
|
||||||
{{template "blog/comment.html" .}}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{{template "blog/footer.html" .}}
|
|
||||||
{{template "blog/highlight.html"}}
|
|
||||||
<div id="blogNav">
|
|
||||||
<div id="blogNavNav">
|
|
||||||
<i class="fa fa-align-justify" title="文档导航"></i>
|
|
||||||
<span>{{msg . "blogNav"}}</span>
|
|
||||||
</div>
|
|
||||||
<div id="blogNavContent">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
var visitUserInfo = eval("(" + {{.visitUserInfoJson}} + ")");
|
|
||||||
var urlPrefix = "{{.siteUrl}}";
|
|
||||||
var noteId = "{{.blog.NoteId.Hex}}";
|
|
||||||
var preLikeNum = +"{{.blog.LikeNum}}";
|
|
||||||
var commentNum = +"{{.blog.CommentNum}}";
|
|
||||||
</script>
|
|
||||||
<script src="/js/app/blog/common.js"></script>
|
|
||||||
<script src="/js/jsrender.js"></script>
|
|
||||||
<script src="/js/jquery-cookie-min.js"></script>
|
|
||||||
<script src="/js/bootstrap-dialog.min.js"></script>
|
|
||||||
<script src="/js/jquery.qrcode.min.js"></script>
|
|
||||||
<script src="/js/app/blog/view.js"></script>
|
|
||||||
|
|
||||||
{{if .blog.IsMarkdown }}
|
|
||||||
<script src="/public/mdeditor/editor/pagedown/Markdown.Converter.js"></script>
|
|
||||||
<script src="/public/mdeditor/editor/pagedown/Markdown.Sanitizer.js"></script>
|
|
||||||
<script src="/public/mdeditor/editor/pagedown/Markdown.Editor.js"></script>
|
|
||||||
<script src="/public/mdeditor/editor/pagedown/local/Markdown.local.zh.js"></script>
|
|
||||||
<script src="/public/mdeditor/editor/Markdown.Extra.js"></script>
|
|
||||||
|
|
||||||
<!--mathjax-->
|
|
||||||
<script type="text/x-mathjax-config">
|
|
||||||
MathJax.Hub.Config({ tex2jax: { inlineMath: [['$','$'], ["\\(","\\)"]], processEscapes: true }, messageStyle: "none"});
|
|
||||||
</script>
|
|
||||||
<script src="/public/mdeditor/editor/mathJax.js"></script>
|
|
||||||
<script src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
|
|
||||||
<script>
|
|
||||||
var content = $.trim($("#markdownContent textarea").val());
|
|
||||||
|
|
||||||
// $("#markdownContent").html("");
|
|
||||||
var converter = Markdown.getSanitizingConverter();
|
|
||||||
Markdown.Extra.init(converter, {extensions: ["tables", "fenced_code_gfm", "def_list"]});
|
|
||||||
var html = converter.makeHtml(content);
|
|
||||||
$("#content").html(html);
|
|
||||||
$("pre").addClass("prettyprint linenums");
|
|
||||||
prettyPrint();
|
|
||||||
MathJax.Hub.Queue(["Typeset",MathJax.Hub,"wmd-preview"]);
|
|
||||||
|
|
||||||
initNav();
|
|
||||||
weixin();
|
|
||||||
</script>
|
|
||||||
{{else}}
|
|
||||||
<script>
|
|
||||||
$(function() {
|
|
||||||
initNav();
|
|
||||||
weixin();
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
{{end}}
|
|
||||||
|
|
||||||
<!--google+
|
|
||||||
<script type="text/javascript" src="https://apis.google.com/js/plusone.js"> {lang: 'zh-CN'} </script>
|
|
||||||
-->
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -50,12 +50,12 @@ table tr:nth-child(2n) {
|
|||||||
{{ if .userBlog.Logo}}
|
{{ if .userBlog.Logo}}
|
||||||
<img src="{{.userBlog.Logo}}" id="logo">
|
<img src="{{.userBlog.Logo}}" id="logo">
|
||||||
{{else}}
|
{{else}}
|
||||||
<img src="{{$.siteUrl}}/images/blog/default_avatar.png" id="logo">
|
<img src="/images/blog/default_avatar.png" id="logo">
|
||||||
{{end}}
|
{{end}}
|
||||||
{{.userInfo.Username}}
|
{{.userInfo.Username}}
|
||||||
-->
|
-->
|
||||||
{{if .blog.Tags}}
|
{{if .blog.Tags}}
|
||||||
<img src="{{$.siteUrl}}/images/blog/tag.png" id="tag">
|
<img src="/images/blog/tag.png" id="tag">
|
||||||
{{blogTagsForExport $ .blog.Tags}}
|
{{blogTagsForExport $ .blog.Tags}}
|
||||||
{{end}}
|
{{end}}
|
||||||
</div>
|
</div>
|
||||||
@@ -79,7 +79,7 @@ table tr:nth-child(2n) {
|
|||||||
<!--
|
<!--
|
||||||
<div id="footer">
|
<div id="footer">
|
||||||
<p class="split"></p>
|
<p class="split"></p>
|
||||||
<a href="http://leanote.com"><img src="{{.siteUrl}}/images/logo/leanote_icon_blue.png" id="leanote_logo"/></a>
|
<a href="http://leanote.com"><img src="/images/logo/leanote_icon_blue.png" id="leanote_logo"/></a>
|
||||||
<p>
|
<p>
|
||||||
<a href="http://leanote.com">Leanote</a>
|
<a href="http://leanote.com">Leanote</a>
|
||||||
<br />
|
<br />
|
||||||
@@ -88,10 +88,10 @@ table tr:nth-child(2n) {
|
|||||||
</div>
|
</div>
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<script src="{{.siteUrl}}/js/jquery-1.9.0.min.js"></script>
|
<script src="/js/jquery-1.9.0.min.js"></script>
|
||||||
|
|
||||||
<link href="{{.siteUrl}}/public/js/google-code-prettify/prettify.css" type="text/css" rel="stylesheet">
|
<link href="/public/js/google-code-prettify/prettify.css" type="text/css" rel="stylesheet">
|
||||||
<script src="{{.siteUrl}}/public/js/google-code-prettify/prettify.js"></script>
|
<script src="/public/js/google-code-prettify/prettify.js"></script>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
function ok() {
|
function ok() {
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
<section id="box" class="animated fadeInUp">
|
<section id="box" class="animated fadeInUp">
|
||||||
<div>
|
<div>
|
||||||
<h1 id="logo">Leanote</h1>
|
<h1 id="logo"></h1>
|
||||||
<div id="boxForm">
|
<div id="boxForm">
|
||||||
<div id="boxHeader">{{msg . "findPassword"}}</div>
|
<div id="boxHeader">{{msg . "findPassword"}}</div>
|
||||||
<form>
|
<form>
|
||||||
@@ -27,7 +27,7 @@
|
|||||||
<a href="/index">{{msg . "home"}}</a>
|
<a href="/index">{{msg . "home"}}</a>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<a href="/index">leanote</a> © 2014-2015
|
<a href="https://leanote.com">Leanote</a> © 2014-2016
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
<section id="box" class="animated fadeInUp">
|
<section id="box" class="animated fadeInUp">
|
||||||
<div>
|
<div>
|
||||||
<h1 id="logo">Leanote</h1>
|
<h1 id="logo"></h1>
|
||||||
<div id="boxForm">
|
<div id="boxForm">
|
||||||
<div id="boxHeader">{{msg . "updatePassword"}}</div>
|
<div id="boxHeader">{{msg . "updatePassword"}}</div>
|
||||||
<form>
|
<form>
|
||||||
@@ -36,7 +36,7 @@
|
|||||||
<a href="/index">{{msg . "home"}}</a>
|
<a href="/index">{{msg . "home"}}</a>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<a href="/index">leanote</a> © 2014-2015
|
<a href="https://leanote.com">Leanote</a> © 2014-2016
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
<section id="box" class="animated fadeInUp">
|
<section id="box" class="animated fadeInUp">
|
||||||
<div>
|
<div>
|
||||||
<h1 id="logo">Leanote</h1>
|
<h1 id="logo"></h1>
|
||||||
<div id="boxForm">
|
<div id="boxForm">
|
||||||
<div id="boxHeader">{{msg . "findPasswordTimeout"}}</div>
|
<div id="boxHeader">{{msg . "findPasswordTimeout"}}</div>
|
||||||
<form>
|
<form>
|
||||||
@@ -21,7 +21,7 @@
|
|||||||
<a href="/index">{{msg . "home"}}</a>
|
<a href="/index">{{msg . "home"}}</a>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<a href="/index">leanote</a> © 2014-2015
|
<a href="https://leanote.com">Leanote</a> © 2014-2016
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -8,14 +8,14 @@
|
|||||||
<br />
|
<br />
|
||||||
leanote@leanote.com
|
leanote@leanote.com
|
||||||
<br />
|
<br />
|
||||||
Copyright © 2014-2015 <a href="https://leanote.com">Leanote</a>
|
Copyright © 2014-2016 <a href="https://leanote.com">Leanote</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<i class="fa fa-globe fa-3x icon-muted"></i>
|
<i class="fa fa-globe fa-3x icon-muted"></i>
|
||||||
<h2>Join Us</h2>
|
<h2>Join Us</h2>
|
||||||
<a href="https://github.com/leanote/leanote">Github Leanote</a>
|
<a href="https://github.com/leanote/leanote">Github Leanote</a>
|
||||||
<br />
|
<br />
|
||||||
QQ Group: <span id="qqGrup">256076853, <s>158716820</s></span>
|
QQ Group: <span id="qqGrup">326073529, 256076853, 158716820</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+11
-12
@@ -4,16 +4,14 @@
|
|||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<meta name="keywords" content="leanote,leanote.com">
|
<meta name="keywords" content="leanote,leanote.com,蚂蚁笔记">
|
||||||
<meta name="description" content="Leanote, {{msg $ "moto"}}">
|
<meta name="description" content="Leanote,蚂蚁笔记, {{msg $ "moto"}}">
|
||||||
<meta name="author" content="leanote">
|
<meta name="author" content="leanote,蚂蚁笔记">
|
||||||
<title>{{.title}}</title>
|
<title>{{.title}}</title>
|
||||||
|
|
||||||
<link href="/css/bootstrap.css" rel="stylesheet">
|
<link href="/css/bootstrap.css" rel="stylesheet">
|
||||||
<link href="/css/font-awesome-4.2.0/css/font-awesome.css" rel="stylesheet">
|
<link href="/css/font-awesome-4.2.0/css/font-awesome.css" rel="stylesheet">
|
||||||
<link href="/css/index.css" rel="stylesheet">
|
<link href="/css/index.css" rel="stylesheet">
|
||||||
<style>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
function log(o) {
|
function log(o) {
|
||||||
@@ -21,7 +19,7 @@ function log(o) {
|
|||||||
</script>
|
</script>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body class="lang-{{$.locale}}">
|
||||||
<nav id="headerContainer" style="background-color:#fff" class="navbar navbar-default navbar-fixed-top" role="navigation">
|
<nav id="headerContainer" style="background-color:#fff" class="navbar navbar-default navbar-fixed-top" role="navigation">
|
||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
<div class="navbar-header">
|
<div class="navbar-header">
|
||||||
@@ -31,8 +29,8 @@ function log(o) {
|
|||||||
<span class="icon-bar"></span>
|
<span class="icon-bar"></span>
|
||||||
<span class="icon-bar"></span>
|
<span class="icon-bar"></span>
|
||||||
</button>
|
</button>
|
||||||
<a class="navbar-brand" href="/index">
|
<a class="navbar-brand" href="/index" id="logo">
|
||||||
<img src="/images/logo/leanote_black.png" id="" title="leanote, {{msg $ "moto"}}"/>
|
<img src="/images/logo/leanote_black.png" class="hide" title="leanote, {{msg $ "moto"}}"/>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -41,7 +39,8 @@ function log(o) {
|
|||||||
<a data-lang="en-us">English</a>
|
<a data-lang="en-us">English</a>
|
||||||
<a data-lang="fr-fr">Français</a>
|
<a data-lang="fr-fr">Français</a>
|
||||||
<a data-lang="zh-cn">简体中文</a>
|
<a data-lang="zh-cn">简体中文</a>
|
||||||
<a data-lang="pt-br">Português</a>
|
<a data-lang="zh-hk">繁体中文</a>
|
||||||
|
<a data-lang="pt-pt">Português</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<ul class="nav navbar-nav navbar-left">
|
<ul class="nav navbar-nav navbar-left">
|
||||||
@@ -49,13 +48,13 @@ function log(o) {
|
|||||||
<li style="position: relative; margin-right: 3px;">
|
<li style="position: relative; margin-right: 3px;">
|
||||||
<a href="http://bbs.leanote.com" target="_blank" class="">{{msg . "discussion"}}</a>
|
<a href="http://bbs.leanote.com" target="_blank" class="">{{msg . "discussion"}}</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li><a id="leanoteBlog" href="http://lea.leanote.com" target="_blank" title="Lea++, leanote blog platform" class="">Lea++</a></li>
|
<li><a id="leanoteBlog" href="http://lea.leanote.com" target="_blank" title="Leanote explore, leanote blog platform" class="">{{leaMsg . "Leanote Explore"}}</a></li>
|
||||||
<li><a id="leanoteApp" href="http://app.leanote.com" target="_blank" title="Leanote App" class="">{{msg . "desktopApp"}}</a></li>
|
<li><a id="leanoteApp" href="http://app.leanote.com" target="_blank" title="Leanote App" class="">{{msg . "desktopApp"}}</a></li>
|
||||||
<li>
|
<li>
|
||||||
<a href="http://leanote.org#donate" target="_blank" class="">{{msg . "donate"}}</a>
|
<a href="http://leanote.org#donate" target="_blank" class="">{{msg . "donate"}}</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li><a href="http://leanote.org" target="_blank" title="leanote.org" class="">leanote.org</a></li>
|
<li><a href="http://leanote.org" target="_blank" title="leanote.org" class="">leanote.org</a></li>
|
||||||
|
|
||||||
{{if .userInfo.Email}}
|
{{if .userInfo.Email}}
|
||||||
|
|||||||
@@ -4,9 +4,9 @@
|
|||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<meta name="keywords" content="leanote,leanote.com">
|
<meta name="keywords" content="leanote,蚂蚁笔记,leanote.com">
|
||||||
<meta name="description" content="leanote, {{msg $ "moto"}}">
|
<meta name="description" content="leanote, 蚂蚁笔记, {{msg $ "moto"}}">
|
||||||
<meta name="author" content="leanote">
|
<meta name="author" content="leanote,蚂蚁笔记">
|
||||||
<title>{{.title}}</title>
|
<title>{{.title}}</title>
|
||||||
|
|
||||||
<link href="/css/bootstrap.css" rel="stylesheet">
|
<link href="/css/bootstrap.css" rel="stylesheet">
|
||||||
|
|||||||
@@ -77,15 +77,5 @@ var lang = '{{.locale}}';
|
|||||||
<script src="/js/home/index.js"></script>
|
<script src="/js/home/index.js"></script>
|
||||||
|
|
||||||
|
|
||||||
<script>
|
|
||||||
var _hmt = _hmt || [];
|
|
||||||
(function() {
|
|
||||||
var hm = document.createElement("script");
|
|
||||||
hm.src = "//hm.baidu.com/hm.js?d0c988e37b452b3bf1220d45b30f2de2";
|
|
||||||
var s = document.getElementsByTagName("script")[0];
|
|
||||||
s.parentNode.insertBefore(hm, s);
|
|
||||||
})();
|
|
||||||
</script>
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
@@ -15,7 +15,7 @@
|
|||||||
</div>
|
</div>
|
||||||
-->
|
-->
|
||||||
<div>
|
<div>
|
||||||
<h1 id="logo">Leanote</h1>
|
<h1 id="logo"></h1>
|
||||||
<div id="boxForm">
|
<div id="boxForm">
|
||||||
<div id="boxHeader">{{msg . "login"}}</div>
|
<div id="boxHeader">{{msg . "login"}}</div>
|
||||||
<form>
|
<form>
|
||||||
@@ -61,10 +61,10 @@
|
|||||||
|
|
||||||
<div id="boxFooter">
|
<div id="boxFooter">
|
||||||
<p>
|
<p>
|
||||||
<a href="/index">{{msg . "home"}}</a>
|
<a href="/">{{msg . "home"}}</a>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<a href="/index">leanote</a> © 2014-2015
|
<a href="https://leanote.com">Leanote</a> © 2014-2016
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
</div>
|
</div>
|
||||||
-->
|
-->
|
||||||
<div>
|
<div>
|
||||||
<h1 id="logo">Leanote</h1>
|
<h1 id="logo"></h1>
|
||||||
<div id="boxForm">
|
<div id="boxForm">
|
||||||
<div id="boxHeader">{{msg . "register"}}</div>
|
<div id="boxHeader">{{msg . "register"}}</div>
|
||||||
<form>
|
<form>
|
||||||
@@ -43,7 +43,7 @@
|
|||||||
<a href="/index">{{msg . "home"}}</a>
|
<a href="/index">{{msg . "home"}}</a>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<a href="/index">leanote</a> © 2014-2015
|
<a href="https://leanote.com">Leanote</a> © 2014-2016
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -44,7 +44,7 @@
|
|||||||
<a class="btn btn-default btn-sm btn-export"><span class="fa fa-download"></span> {{msg $ "export"}}</a>
|
<a class="btn btn-default btn-sm btn-export"><span class="fa fa-download"></span> {{msg $ "export"}}</a>
|
||||||
<!-- 必须是自己的主题 -->
|
<!-- 必须是自己的主题 -->
|
||||||
{{if .activeTheme.ThemeId}}
|
{{if .activeTheme.ThemeId}}
|
||||||
<a class="btn btn-default btn-sm" href="{{$.siteUrl}}/preview?themeId={{.activeTheme.ThemeId.Hex}}" target="_blank"><span class="fa fa-eye"></span> {{msg $ "preview"}}</a>
|
<a class="btn btn-default btn-sm" href="/preview?themeId={{.activeTheme.ThemeId.Hex}}" target="_blank"><span class="fa fa-eye"></span> {{msg $ "preview"}}</a>
|
||||||
{{end}}
|
{{end}}
|
||||||
<a class="btn btn-primary btn-sm" target="_blank" href="/member/blog/updateTheme?themeId={{if .activeTheme.ThemeId}}{{.activeTheme.ThemeId.Hex}}{{end}}"><span class="fa fa-pencil"></span> {{msg $ "edit"}}</a>
|
<a class="btn btn-primary btn-sm" target="_blank" href="/member/blog/updateTheme?themeId={{if .activeTheme.ThemeId}}{{.activeTheme.ThemeId.Hex}}{{end}}"><span class="fa fa-pencil"></span> {{msg $ "edit"}}</a>
|
||||||
</div>
|
</div>
|
||||||
@@ -84,7 +84,7 @@
|
|||||||
<div class="btn-group" data-id="{{.ThemeId.Hex}}">
|
<div class="btn-group" data-id="{{.ThemeId.Hex}}">
|
||||||
<a class="btn btn-default btn-sm btn-delete" data-loading-text="..."><span class="fa fa-remove"></span> {{msg $ "delete"}}</a>
|
<a class="btn btn-default btn-sm btn-delete" data-loading-text="..."><span class="fa fa-remove"></span> {{msg $ "delete"}}</a>
|
||||||
<a class="btn btn-default btn-sm btn-export"><span class="fa fa-download"></span> {{msg $ "export"}}</a>
|
<a class="btn btn-default btn-sm btn-export"><span class="fa fa-download"></span> {{msg $ "export"}}</a>
|
||||||
<a class="btn btn-default btn-sm" href="{{$.siteUrl}}/preview?themeId={{.ThemeId.Hex}}" target="_blank"><span class="fa fa-eye"></span> {{msg $ "preview"}}</a>
|
<a class="btn btn-default btn-sm" href="/preview?themeId={{.ThemeId.Hex}}" target="_blank"><span class="fa fa-eye"></span> {{msg $ "preview"}}</a>
|
||||||
<a class="btn btn-default btn-sm" target="_blank" href="/member/blog/updateTheme?themeId={{.ThemeId.Hex}}"><span class="fa fa-pencil"></span> {{msg $ "edit"}}</a>
|
<a class="btn btn-default btn-sm" target="_blank" href="/member/blog/updateTheme?themeId={{.ThemeId.Hex}}"><span class="fa fa-pencil"></span> {{msg $ "edit"}}</a>
|
||||||
<a class="btn btn-primary btn-sm btn-active" data-loading-text="..."><span class="fa fa-check"></span> {{msg $ "use"}}</a>
|
<a class="btn btn-primary btn-sm btn-active" data-loading-text="..."><span class="fa fa-check"></span> {{msg $ "use"}}</a>
|
||||||
{{if $.isAdmin}}
|
{{if $.isAdmin}}
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
-
|
-
|
||||||
{{.theme.Name}}
|
{{.theme.Name}}
|
||||||
{{end}}
|
{{end}}
|
||||||
<a class="btn btn-default" href="{{$.siteUrl}}/preview?themeId={{.themeId}}" target="_blank"><span class="fa fa-eye"></span> {{msg . "preview"}}</a>
|
<a class="btn btn-default" href="/preview?themeId={{.themeId}}" target="_blank"><span class="fa fa-eye"></span> {{msg . "preview"}}</a>
|
||||||
|
|
||||||
<small>
|
<small>
|
||||||
|
|
||||||
|
|||||||
@@ -16,24 +16,24 @@
|
|||||||
<script src="/public/admin/js/ie/excanvas.js"></script>
|
<script src="/public/admin/js/ie/excanvas.js"></script>
|
||||||
<![endif]-->
|
<![endif]-->
|
||||||
</head>
|
</head>
|
||||||
<body class="">
|
<body class="lang-{{$.locale}}">
|
||||||
<section class="vbox">
|
<section class="vbox">
|
||||||
<header class="bg-dark dk header navbar navbar-fixed-top-xs">
|
<header class="bg-dark dk header navbar navbar-fixed-top-xs">
|
||||||
<div class="navbar-header aside-md" id="logo">
|
<div class="navbar-header aside-md logo-ctn">
|
||||||
<a href="/member" class="navbar-brand clearfix" data-toggle="fullscreen">
|
<a href="/member" class="navbar-brand clearfix" data-toggle="fullscreen">
|
||||||
<span class="logo-icon"></span>
|
<span id="logo"></span>
|
||||||
<span class="logo-title">{{msg . "memberCenter"}}</span>
|
<span class="logo-title">{{msg . "memberCenter"}}</span>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<ul class="nav navbar-nav navbar-right m-n hidden-xs nav-user">
|
<ul class="nav navbar-nav navbar-right m-n hidden-xs nav-user">
|
||||||
<li class="hidden-xs">
|
<li class="hidden-xs">
|
||||||
<a href="/note" class="dk" target="_blank">
|
<a href="/note" class="dk">
|
||||||
{{msg . "myNote"}}
|
{{msg . "myNote"}}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="hidden-xs">
|
<li class="hidden-xs">
|
||||||
<a href="/blog/{{$.session.Username}}" class="dk" target="_blank">
|
<a href="/blog/{{$.session.Username}}" class="dk">
|
||||||
{{msg . "myBlog"}}
|
{{msg . "myBlog"}}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
|||||||
@@ -6,8 +6,8 @@
|
|||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
|
||||||
<meta name="apple-touch-fullscreen" content="yes">
|
<meta name="apple-touch-fullscreen" content="yes">
|
||||||
<meta name=”apple-mobile-web-app-capable” content=”yes” />
|
<meta name=”apple-mobile-web-app-capable” content=”yes” />
|
||||||
<meta name="keywords" content="leanote,leanote.com">
|
<meta name="keywords" content="leanote,leanote.com,蚂蚁笔记">
|
||||||
<meta name="description" content="Leanote, {{msg $ "moto"}}">
|
<meta name="description" content="Leanote, 蚂蚁笔记, {{msg $ "moto"}}">
|
||||||
<title>Leanote, {{msg $ "moto"}}</title>
|
<title>Leanote, {{msg $ "moto"}}</title>
|
||||||
|
|
||||||
<link href="/css/bootstrap-min.css" rel="stylesheet" />
|
<link href="/css/bootstrap-min.css" rel="stylesheet" />
|
||||||
@@ -39,7 +39,7 @@ function log(o) {
|
|||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body class="leanote-plugin lang-{{$.locale}}">
|
||||||
<div id="page">
|
<div id="page">
|
||||||
<div id="pageInner">
|
<div id="pageInner">
|
||||||
|
|
||||||
@@ -47,17 +47,10 @@ function log(o) {
|
|||||||
<!-- <div id="headerContainer"> -->
|
<!-- <div id="headerContainer"> -->
|
||||||
<div id="header">
|
<div id="header">
|
||||||
|
|
||||||
<!--
|
<a id="logo" href="/" title="Leanote {{msg . "home"}}" class="pull-left"></a>
|
||||||
<div id="headerLeft" class="pull-left">
|
|
||||||
</div>
|
|
||||||
-->
|
|
||||||
<div id="logo" class="pull-left">
|
|
||||||
<!--<span>lea</span>note -->
|
|
||||||
<!--<img style="height: 45px;" src="/images/logo/leanote_white.png" title="leanote, 不一样的笔记" alt="leanote">-->
|
|
||||||
</div>
|
|
||||||
<div id="switcher" class="pull-left">
|
<div id="switcher" class="pull-left">
|
||||||
<i class="fa fa-align-justify" id="leftSwitcher" title="{{msg . "leftHidden"}}"></i>
|
<i class="fa fa-dedent" id="leftSwitcher" title="{{msg . "leftHidden"}}"></i>
|
||||||
<span id="leftSwitcher2" title="{{msg . "leftShow"}}"></span>
|
<span id="leftSwitcher2" class="fa fa-indent" title="{{msg . "leftShow"}}"></span>
|
||||||
</div>
|
</div>
|
||||||
<!-- search -->
|
<!-- search -->
|
||||||
<div class="pull-left" id="searchWrap">
|
<div class="pull-left" id="searchWrap">
|
||||||
@@ -134,9 +127,9 @@ function log(o) {
|
|||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="pull-right" style="margin: 0 10px" id="myProfile">
|
<div class="pull-right" id="myProfile">
|
||||||
<div class="dropdown">
|
<div class="dropdown">
|
||||||
<a class="dropdown-toggle" title="{{.userInfo.Username}}" data-toggle="dropdown" style="line-height: 60px;">
|
<a class="dropdown-toggle profile-img" title="{{.userInfo.Username}}" data-toggle="dropdown">
|
||||||
<img alt="{{.userInfo.Username}}" title="{{.userInfo.Username}}" src="{{if .userInfo.Logo}}{{.userInfo.Logo}}{{else}}/images/blog/default_avatar.png{{end}}" id="myAvatar"/>
|
<img alt="{{.userInfo.Username}}" title="{{.userInfo.Username}}" src="{{if .userInfo.Logo}}{{.userInfo.Logo}}{{else}}/images/blog/default_avatar.png{{end}}" id="myAvatar"/>
|
||||||
<span class="username">
|
<span class="username">
|
||||||
{{.userInfo.Username}}
|
{{.userInfo.Username}}
|
||||||
@@ -198,7 +191,7 @@ function log(o) {
|
|||||||
|
|
||||||
<div class="pull-right top-nav writting-hide lea-blog">
|
<div class="pull-right top-nav writting-hide lea-blog">
|
||||||
<a target="_blank" href="http://lea.leanote.com">
|
<a target="_blank" href="http://lea.leanote.com">
|
||||||
Lea++
|
{{msg . "Explore"}}
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -6,8 +6,8 @@
|
|||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
|
||||||
<meta name="apple-touch-fullscreen" content="yes">
|
<meta name="apple-touch-fullscreen" content="yes">
|
||||||
<meta name=”apple-mobile-web-app-capable” content=”yes” />
|
<meta name=”apple-mobile-web-app-capable” content=”yes” />
|
||||||
<meta name="keywords" content="leanote,leanote.com">
|
<meta name="keywords" content="leanote,leanote.com,蚂蚁笔记">
|
||||||
<meta name="description" content="Leanote, {{msg $ "moto"}}">
|
<meta name="description" content="Leanote, 蚂蚁笔记, {{msg $ "moto"}}">
|
||||||
<title>Leanote, {{msg $ "moto"}}</title>
|
<title>Leanote, {{msg $ "moto"}}</title>
|
||||||
<link href="/css/bootstrap-min.css" rel="stylesheet" />
|
<link href="/css/bootstrap-min.css" rel="stylesheet" />
|
||||||
<!-- 先加载, 没有样式, 宽度不定 -->
|
<!-- 先加载, 没有样式, 宽度不定 -->
|
||||||
@@ -35,23 +35,16 @@ function log(o) {
|
|||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body class="leanote-plugin lang-{{$.locale}}">
|
||||||
<div id="page">
|
<div id="page">
|
||||||
<div id="pageInner">
|
<div id="pageInner">
|
||||||
<!-- 头部 -->
|
<!-- 头部 -->
|
||||||
<!-- <div id="headerContainer"> -->
|
<!-- <div id="headerContainer"> -->
|
||||||
<div id="header">
|
<div id="header">
|
||||||
<!--
|
<a id="logo" href="/" title="Leanote {{msg . "home"}}" class="pull-left"></a>
|
||||||
<div id="headerLeft" class="pull-left">
|
|
||||||
</div>
|
|
||||||
-->
|
|
||||||
<div id="logo" class="pull-left">
|
|
||||||
<!--<span>lea</span>note -->
|
|
||||||
<!--<img style="height: 45px;" src="/images/logo/leanote_white.png" title="leanote, 不一样的笔记" alt="leanote">-->
|
|
||||||
</div>
|
|
||||||
<div id="switcher" class="pull-left">
|
<div id="switcher" class="pull-left">
|
||||||
<i class="fa fa-align-justify" id="leftSwitcher" title="{{msg . "leftHidden"}}"></i>
|
<i class="fa fa-dedent" id="leftSwitcher" title="{{msg . "leftHidden"}}"></i>
|
||||||
<span id="leftSwitcher2" title="{{msg . "leftShow"}}"></span>
|
<span id="leftSwitcher2" class="fa fa-indent" title="{{msg . "leftShow"}}"></span>
|
||||||
</div>
|
</div>
|
||||||
<!-- search -->
|
<!-- search -->
|
||||||
<div class="pull-left" id="searchWrap">
|
<div class="pull-left" id="searchWrap">
|
||||||
@@ -124,9 +117,9 @@ function log(o) {
|
|||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="pull-right" style="margin: 0 10px" id="myProfile">
|
<div class="pull-right" id="myProfile">
|
||||||
<div class="dropdown">
|
<div class="dropdown">
|
||||||
<a class="dropdown-toggle" title="{{.userInfo.Username}}" data-toggle="dropdown" style="line-height: 60px;">
|
<a class="dropdown-toggle profile-img" title="{{.userInfo.Username}}" data-toggle="dropdown">
|
||||||
<img alt="{{.userInfo.Username}}" title="{{.userInfo.Username}}" src="{{if .userInfo.Logo}}{{.userInfo.Logo}}{{else}}/images/blog/default_avatar.png{{end}}" id="myAvatar"/>
|
<img alt="{{.userInfo.Username}}" title="{{.userInfo.Username}}" src="{{if .userInfo.Logo}}{{.userInfo.Logo}}{{else}}/images/blog/default_avatar.png{{end}}" id="myAvatar"/>
|
||||||
<span class="username">
|
<span class="username">
|
||||||
{{.userInfo.Username}}
|
{{.userInfo.Username}}
|
||||||
@@ -187,7 +180,7 @@ function log(o) {
|
|||||||
</div>
|
</div>
|
||||||
<div class="pull-right top-nav writting-hide lea-blog">
|
<div class="pull-right top-nav writting-hide lea-blog">
|
||||||
<a target="_blank" href="http://lea.leanote.com">
|
<a target="_blank" href="http://lea.leanote.com">
|
||||||
Lea++
|
{{msg . "Explore"}}
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -9,7 +9,7 @@ SP=$(cd "$(dirname "$0")"; pwd)
|
|||||||
tmp="/Users/life/Desktop/leanote_release"
|
tmp="/Users/life/Desktop/leanote_release"
|
||||||
|
|
||||||
# version
|
# version
|
||||||
V="v1.4.2"
|
V="v2.0"
|
||||||
|
|
||||||
##=================================
|
##=================================
|
||||||
# 1. 先build 成 3个平台, 2种bit = 6种
|
# 1. 先build 成 3个平台, 2种bit = 6种
|
||||||
|
|||||||
+5
-5
@@ -1,5 +1,5 @@
|
|||||||
#------------------------
|
#------------------------
|
||||||
# leanote config
|
# Leanote config
|
||||||
#------------------------
|
#------------------------
|
||||||
|
|
||||||
http.port=9000
|
http.port=9000
|
||||||
@@ -12,16 +12,16 @@ adminUsername=admin
|
|||||||
# mongdb
|
# mongdb
|
||||||
db.host=127.0.0.1
|
db.host=127.0.0.1
|
||||||
db.port=27017
|
db.port=27017
|
||||||
db.dbname=leanote # required
|
db.dbname=leanote2 # required
|
||||||
db.username= # if not exists, please leave it blank
|
db.username= # if not exists, please leave it blank
|
||||||
db.password= # if not exists, please leave it blank
|
db.password= # if not exists, please leave it blank
|
||||||
# or you can set the mongodb url for more complex needs the format is:
|
# or you can set the mongodb url for more complex needs the format is:
|
||||||
# mongodb://myuser:mypass@localhost:40001,otherhost:40001/mydb
|
# mongodb://myuser:mypass@localhost:40001,otherhost:40001/mydb
|
||||||
# db.url=mongodb://root:root123@localhost:27017/leanote
|
# db.url=mongodb://root:root123@localhost:27017/leanote
|
||||||
# db.urlEnv=${MONGODB_URL} # set url from env. eg. mongodb://root:root123@localhost:27017/leanote
|
db.urlEnv=${MONGODB_URL} # set url from env, for docker. eg. mongodb://root:root123@localhost:27017/leanote
|
||||||
|
|
||||||
# You Must Change It !! About Security!!
|
# You Must Change It !! About Security!!
|
||||||
app.secret=V85ZzBeTnzpsHyjQX4zukbQ8qqtju9y2aDM55VWxAH9Qop19poekx3xkcDVvrD0y
|
app.secret=V85ZzBeTnzpsHyjQX4zukbQ8qqtju9y2aDM55VWxAH9Qop19poekx3xkcDVvrD0y #
|
||||||
|
|
||||||
#--------------------------------
|
#--------------------------------
|
||||||
# revel config
|
# revel config
|
||||||
@@ -44,7 +44,7 @@ log.warn.prefix = "WARN "
|
|||||||
log.error.prefix = "ERROR "
|
log.error.prefix = "ERROR "
|
||||||
|
|
||||||
# The default language of this application.
|
# The default language of this application.
|
||||||
i18n.default_language=en
|
i18n.default_language=en-us
|
||||||
|
|
||||||
module.static=github.com/revel/modules/static
|
module.static=github.com/revel/modules/static
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,74 @@
|
|||||||
|
#------------------------
|
||||||
|
# leanote config
|
||||||
|
#------------------------
|
||||||
|
|
||||||
|
http.port=9000
|
||||||
|
|
||||||
|
site.url=http://localhost:9000 # or http://x.com:8080, http://www.xx.com:9000
|
||||||
|
|
||||||
|
# admin username
|
||||||
|
adminUsername=admin
|
||||||
|
|
||||||
|
# mongdb
|
||||||
|
db.host=127.0.0.1
|
||||||
|
db.port=27017
|
||||||
|
db.dbname=leanote # required
|
||||||
|
db.username= # if not exists, please leave it blank
|
||||||
|
db.password= # if not exists, please leave it blank
|
||||||
|
# or you can set the mongodb url for more complex needs the format is:
|
||||||
|
# mongodb://myuser:mypass@localhost:40001,otherhost:40001/mydb
|
||||||
|
# db.url=mongodb://root:root123@localhost:27017/leanote
|
||||||
|
# db.urlEnv=${MONGODB_URL} # set url from env. eg.
|
||||||
|
# mongodb://root:root123@localhost:27017/leanote
|
||||||
|
|
||||||
|
# You Must Change It !! About Security!!
|
||||||
|
app.secret=V85ZzBeTnzpsHyjQX4zukbQ8qqtju9y2aDM55VWxAH9Qop19poekx3xkcDVvrD0y
|
||||||
|
|
||||||
|
#--------------------------------
|
||||||
|
# revel config
|
||||||
|
# for dev
|
||||||
|
#--------------------------------
|
||||||
|
app.name=leanote
|
||||||
|
http.addr=
|
||||||
|
http.ssl=false
|
||||||
|
cookie.httponly=false
|
||||||
|
cookie.prefix=LEANOTE
|
||||||
|
cookie.domain= # for share cookie with sub-domain
|
||||||
|
cookie.secure=false
|
||||||
|
format.date=2006-01-02
|
||||||
|
format.datetime=2006-01-02 15:04:05 # 必须这样配置
|
||||||
|
results.chunked=false
|
||||||
|
|
||||||
|
log.trace.prefix = "TRACE "
|
||||||
|
log.info.prefix = "INFO "
|
||||||
|
log.warn.prefix = "WARN "
|
||||||
|
log.error.prefix = "ERROR "
|
||||||
|
|
||||||
|
# The default language of this application.
|
||||||
|
i18n.default_language=en-us
|
||||||
|
|
||||||
|
module.static=github.com/revel/modules/static
|
||||||
|
|
||||||
|
[dev]
|
||||||
|
mode.dev=true
|
||||||
|
results.pretty=true
|
||||||
|
watch=true
|
||||||
|
|
||||||
|
module.testrunner = # github.com/revel/modules/testrunner
|
||||||
|
|
||||||
|
log.trace.output = stderr
|
||||||
|
log.info.output = stderr
|
||||||
|
log.warn.output = stderr
|
||||||
|
log.error.output = stderr
|
||||||
|
|
||||||
|
[prod]
|
||||||
|
mode.dev=false
|
||||||
|
results.pretty=false
|
||||||
|
watch=false
|
||||||
|
|
||||||
|
module.testrunner =
|
||||||
|
|
||||||
|
log.trace.output = off
|
||||||
|
log.info.output = off
|
||||||
|
log.warn.output = %(app.name)s.log
|
||||||
|
log.error.output = %(app.name)s.log
|
||||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -83,6 +83,7 @@ notGoodPassword=Tt's not a good password, the length is at least 6
|
|||||||
|
|
||||||
# note
|
# note
|
||||||
myBlog=Blog
|
myBlog=Blog
|
||||||
|
Explore=Explore
|
||||||
history=Histories
|
history=Histories
|
||||||
save=Save
|
save=Save
|
||||||
editorTips=Tips
|
editorTips=Tips
|
||||||
@@ -0,0 +1,179 @@
|
|||||||
|
Cut=Cut
|
||||||
|
Header 2=Header 2
|
||||||
|
Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.=Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.
|
||||||
|
Div=Div
|
||||||
|
Paste=Paste
|
||||||
|
Close=Close
|
||||||
|
Font Family=Font Family
|
||||||
|
Pre=Pre
|
||||||
|
Align right=Align right
|
||||||
|
New document=New document
|
||||||
|
Blockquote=Blockquote
|
||||||
|
Numbered list=Numbered list
|
||||||
|
Increase indent=Increase indent
|
||||||
|
Formats=Formats
|
||||||
|
Headers=Headers
|
||||||
|
Select all=Select all
|
||||||
|
Header 3=Header 3
|
||||||
|
Blocks=Blocks
|
||||||
|
Undo=Undo
|
||||||
|
Strikethrough=Strike-through
|
||||||
|
Bullet list=Bullet list
|
||||||
|
Header 1=Header 1
|
||||||
|
Superscript=Superscript
|
||||||
|
Clear formatting=Clear formatting
|
||||||
|
Font Sizes=Font Sizes
|
||||||
|
Subscript=Subscript
|
||||||
|
Header 6=Header 6
|
||||||
|
Redo=Redo
|
||||||
|
Paragraph=Paragraph
|
||||||
|
Ok=Ok
|
||||||
|
Bold=Bold
|
||||||
|
Code=Code
|
||||||
|
Italic=Italic
|
||||||
|
Align center=Align centre
|
||||||
|
Header 5=Header 5
|
||||||
|
Decrease indent=Decrease indent
|
||||||
|
Header 4=Header 4
|
||||||
|
Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.=Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.
|
||||||
|
Underline=Underline
|
||||||
|
Cancel=Cancel
|
||||||
|
Justify=Justify
|
||||||
|
Inline=Inline
|
||||||
|
Copy=Copy
|
||||||
|
Align left=Align left
|
||||||
|
Visual aids=Visual aids
|
||||||
|
Lower Greek=Lower Greek
|
||||||
|
Square=Square
|
||||||
|
Default=Default
|
||||||
|
Lower Alpha=Lower Alpha
|
||||||
|
Circle=Circle
|
||||||
|
Disc=Disc
|
||||||
|
Upper Alpha=Upper Alpha
|
||||||
|
Upper Roman=Upper Roman
|
||||||
|
Lower Roman=Lower Roman
|
||||||
|
Name=Name
|
||||||
|
Anchor=Anchor
|
||||||
|
You have unsaved changes are you sure you want to navigate away?=You have unsaved changes are you sure you want to navigate away?
|
||||||
|
Restore last draft=Restore last draft
|
||||||
|
Special character=Special character
|
||||||
|
Source code=Source code
|
||||||
|
Right to left=Right to left
|
||||||
|
Left to right=Left to right
|
||||||
|
Emoticons=Emoticons
|
||||||
|
Robots=Robots
|
||||||
|
Document properties=Document properties
|
||||||
|
Title=Title
|
||||||
|
Keywords=Keywords
|
||||||
|
Encoding=Encoding
|
||||||
|
Description=Description
|
||||||
|
Author=Author
|
||||||
|
Language=Language
|
||||||
|
`ctrl/cmd+shift+c` toggle code=`ctrl/cmd+shift+c` toggle code
|
||||||
|
Fullscreen=Full-screen
|
||||||
|
Horizontal line=Horizontal line
|
||||||
|
Horizontal space=Horizontal space
|
||||||
|
Insert\/edit image=Insert\/edit image
|
||||||
|
General=General
|
||||||
|
Advanced=Advanced
|
||||||
|
Source=Source
|
||||||
|
Border=Border
|
||||||
|
Constrain proportions=Constrain proportions
|
||||||
|
Vertical space=Vertical space
|
||||||
|
Image description=Image description
|
||||||
|
Style=Style
|
||||||
|
Dimensions=Dimensions
|
||||||
|
Insert image=Insert image
|
||||||
|
Insert date\/time=Insert date\/time
|
||||||
|
Remove link=Remove link
|
||||||
|
Url=URL
|
||||||
|
Text to display=Text to display
|
||||||
|
Anchors=Anchors
|
||||||
|
Insert link=Insert link
|
||||||
|
New window=New window
|
||||||
|
None=None
|
||||||
|
The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?=The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?
|
||||||
|
Target=Target
|
||||||
|
The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?=The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?
|
||||||
|
Insert\/edit link=Insert\/edit link
|
||||||
|
Insert\/edit video=Insert\/edit video
|
||||||
|
Poster=Poster
|
||||||
|
Alternative source=Alternative source
|
||||||
|
Paste your embed code below:=Paste your embed code below:
|
||||||
|
Insert video=Insert video
|
||||||
|
Embed=Embed
|
||||||
|
Nonbreaking space=Non-breaking space
|
||||||
|
Page break=Page break
|
||||||
|
Paste as text=Paste as text
|
||||||
|
Preview=Preview
|
||||||
|
Print=Print
|
||||||
|
Save=Save
|
||||||
|
Could not find the specified string.=Could not find the specified string.
|
||||||
|
Replace=Replace
|
||||||
|
Next=Next
|
||||||
|
Whole words=Whole words
|
||||||
|
Find and replace=Find and replace
|
||||||
|
Replace with=Replace with
|
||||||
|
Find=Find
|
||||||
|
Replace all=Replace all
|
||||||
|
Match case=Match case
|
||||||
|
Prev=Prev
|
||||||
|
Spellcheck=Spell-check
|
||||||
|
Finish=Finish
|
||||||
|
Ignore all=Ignore all
|
||||||
|
Ignore=Ignore
|
||||||
|
Insert row before=Insert row before
|
||||||
|
Rows=Rows
|
||||||
|
Height=Height
|
||||||
|
Paste row after=Paste row after
|
||||||
|
Alignment=Alignment
|
||||||
|
Column group=Column group
|
||||||
|
Row=Row
|
||||||
|
Insert column before=Insert column before
|
||||||
|
Split cell=Split cell
|
||||||
|
Cell padding=Cell padding
|
||||||
|
Cell spacing=Cell spacing
|
||||||
|
Row type=Row type
|
||||||
|
Insert table=Insert table
|
||||||
|
Body=Body
|
||||||
|
Caption=Caption
|
||||||
|
Footer=Footer
|
||||||
|
Delete row=Delete row
|
||||||
|
Paste row before=Paste row before
|
||||||
|
Scope=Scope
|
||||||
|
Delete table=Delete table
|
||||||
|
Header cell=Header cell
|
||||||
|
Column=Column
|
||||||
|
Cell=Cell
|
||||||
|
Header=Header
|
||||||
|
Cell type=Cell type
|
||||||
|
Copy row=Copy row
|
||||||
|
Row properties=Row properties
|
||||||
|
Table properties=Table properties
|
||||||
|
Row group=Row group
|
||||||
|
Right=Right
|
||||||
|
Insert column after=Insert column after
|
||||||
|
Cols=Cols
|
||||||
|
Insert row after=Insert row after
|
||||||
|
Width=Width
|
||||||
|
Cell properties=Cell properties
|
||||||
|
Left=Left
|
||||||
|
Cut row=Cut row
|
||||||
|
Delete column=Delete column
|
||||||
|
Center=Centre
|
||||||
|
Merge cells=Merge cells
|
||||||
|
Insert template=Insert template
|
||||||
|
Templates=Templates
|
||||||
|
Background color=Background colour
|
||||||
|
Text color=Text colour
|
||||||
|
Show blocks=Show blocks
|
||||||
|
Show invisible characters=Show invisible characters
|
||||||
|
Words: {0}=Words: {0}
|
||||||
|
Insert=Insert
|
||||||
|
File=File
|
||||||
|
Edit=Edit
|
||||||
|
Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help=Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help
|
||||||
|
Tools=Tools
|
||||||
|
View=View
|
||||||
|
Table=Table
|
||||||
|
Format=Format
|
||||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -80,6 +80,7 @@ notGoodPassword=Le mot de passe est incorrect, il doit comporter au moins 6 cara
|
|||||||
|
|
||||||
# note
|
# note
|
||||||
myBlog=Blog
|
myBlog=Blog
|
||||||
|
Explore=Explore
|
||||||
history=Historique
|
history=Historique
|
||||||
save=Sauvegarder
|
save=Sauvegarder
|
||||||
editorTips=Astuces
|
editorTips=Astuces
|
||||||
@@ -111,7 +112,7 @@ saving=Sauvegarde
|
|||||||
saveSuccess=Sauvegarde réussie
|
saveSuccess=Sauvegarde réussie
|
||||||
SearchNote=Chercher une note
|
SearchNote=Chercher une note
|
||||||
SearchNotebook=Chercher un bloc-note
|
SearchNotebook=Chercher un bloc-note
|
||||||
Toggle Modify with Readonly=Toggle Modify with Readonly
|
Toggle Modify with Readonly=Passer d'écriture à lecture seule
|
||||||
|
|
||||||
update=Mettre à jour
|
update=Mettre à jour
|
||||||
create=Créer
|
create=Créer
|
||||||
@@ -245,30 +246,30 @@ themeValidHasRoundInclude=WARNING: Les modèles ont des références circulaires
|
|||||||
|
|
||||||
# share
|
# share
|
||||||
tokenExpired=Token Expired
|
tokenExpired=Token Expired
|
||||||
Share=Share
|
Share=Partager
|
||||||
hasSharedThisNote=has shared this note
|
hasSharedThisNote=a partagé cette note
|
||||||
inputSharePwd=Please input password
|
inputSharePwd=Veuillez entrer le mot de passe
|
||||||
shareToGroup=Share to group
|
shareToGroup=Partager avec le groupe
|
||||||
shareByPwd=Share by password
|
shareByPwd=Partager via un mot de passe
|
||||||
groupName=Group Name
|
groupName=Nom du groupe
|
||||||
operation=Operation
|
operation=Opération
|
||||||
groupAndMemberManage=Manage group/member
|
groupAndMemberManage=Gérer le groupe/les membres
|
||||||
shareToGroupTips=If you share your note to group, the member belongs to group will have the right to access the note
|
shareToGroupTips=Si vous partagez cette note avec le groupe, les membres auront le droit d'y accéder.
|
||||||
shared=Shared
|
shared=Partagé
|
||||||
notShared=Not shared
|
notShared=Non partagé
|
||||||
shareLink=Share link
|
shareLink=Partager le lien
|
||||||
sharePwd=Access password
|
sharePwd=Accès au mot de passe
|
||||||
cancelShare=Cancel
|
cancelShare=Annuler
|
||||||
getShareLinkAndPwd=Get link and password
|
getShareLinkAndPwd=Obtenir le lien et le mot de passe
|
||||||
|
|
||||||
# Common
|
# Common
|
||||||
created=Créé
|
created=Créé
|
||||||
updated=Mis à jour
|
updated=Mis à jour
|
||||||
modify=Modifier
|
modify=Modifier
|
||||||
Search=Search
|
Search=Chercher
|
||||||
Save Success=Save Success
|
Save Success=Sauvegardé avec succès
|
||||||
Please save note firstly!=Please save note firstly!
|
Please save note firstly!=Veuillez d'abord enregistrer votre note!
|
||||||
Please sign in firstly!=Please sign in firstly!
|
Please sign in firstly!=Veuillez d'abord vous enregistrer!
|
||||||
|
|
||||||
# error
|
# error
|
||||||
notFound=Page introuvable.
|
notFound=Page introuvable.
|
||||||
@@ -0,0 +1,179 @@
|
|||||||
|
Cut=Cut
|
||||||
|
Header 2=Header 2
|
||||||
|
Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.=Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.
|
||||||
|
Div=Div
|
||||||
|
Paste=Paste
|
||||||
|
Close=Close
|
||||||
|
Font Family=Font Family
|
||||||
|
Pre=Pre
|
||||||
|
Align right=Align right
|
||||||
|
New document=New document
|
||||||
|
Blockquote=Blockquote
|
||||||
|
Numbered list=Numbered list
|
||||||
|
Increase indent=Increase indent
|
||||||
|
Formats=Formats
|
||||||
|
Headers=Headers
|
||||||
|
Select all=Select all
|
||||||
|
Header 3=Header 3
|
||||||
|
Blocks=Blocks
|
||||||
|
Undo=Undo
|
||||||
|
Strikethrough=Strike-through
|
||||||
|
Bullet list=Bullet list
|
||||||
|
Header 1=Header 1
|
||||||
|
Superscript=Superscript
|
||||||
|
Clear formatting=Clear formatting
|
||||||
|
Font Sizes=Font Sizes
|
||||||
|
Subscript=Subscript
|
||||||
|
Header 6=Header 6
|
||||||
|
Redo=Redo
|
||||||
|
Paragraph=Paragraph
|
||||||
|
Ok=Ok
|
||||||
|
Bold=Bold
|
||||||
|
Code=Code
|
||||||
|
Italic=Italic
|
||||||
|
Align center=Align centre
|
||||||
|
Header 5=Header 5
|
||||||
|
Decrease indent=Decrease indent
|
||||||
|
Header 4=Header 4
|
||||||
|
Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.=Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.
|
||||||
|
Underline=Underline
|
||||||
|
Cancel=Cancel
|
||||||
|
Justify=Justify
|
||||||
|
Inline=Inline
|
||||||
|
Copy=Copy
|
||||||
|
Align left=Align left
|
||||||
|
Visual aids=Visual aids
|
||||||
|
Lower Greek=Lower Greek
|
||||||
|
Square=Square
|
||||||
|
Default=Default
|
||||||
|
Lower Alpha=Lower Alpha
|
||||||
|
Circle=Circle
|
||||||
|
Disc=Disc
|
||||||
|
Upper Alpha=Upper Alpha
|
||||||
|
Upper Roman=Upper Roman
|
||||||
|
Lower Roman=Lower Roman
|
||||||
|
Name=Name
|
||||||
|
Anchor=Anchor
|
||||||
|
You have unsaved changes are you sure you want to navigate away?=You have unsaved changes are you sure you want to navigate away?
|
||||||
|
Restore last draft=Restore last draft
|
||||||
|
Special character=Special character
|
||||||
|
Source code=Source code
|
||||||
|
Right to left=Right to left
|
||||||
|
Left to right=Left to right
|
||||||
|
Emoticons=Emoticons
|
||||||
|
Robots=Robots
|
||||||
|
Document properties=Document properties
|
||||||
|
Title=Title
|
||||||
|
Keywords=Keywords
|
||||||
|
Encoding=Encoding
|
||||||
|
Description=Description
|
||||||
|
Author=Author
|
||||||
|
Language=Language
|
||||||
|
`ctrl/cmd+shift+c` toggle code=`ctrl/cmd+shift+c` toggle code
|
||||||
|
Fullscreen=Full-screen
|
||||||
|
Horizontal line=Horizontal line
|
||||||
|
Horizontal space=Horizontal space
|
||||||
|
Insert\/edit image=Insert\/edit image
|
||||||
|
General=General
|
||||||
|
Advanced=Advanced
|
||||||
|
Source=Source
|
||||||
|
Border=Border
|
||||||
|
Constrain proportions=Constrain proportions
|
||||||
|
Vertical space=Vertical space
|
||||||
|
Image description=Image description
|
||||||
|
Style=Style
|
||||||
|
Dimensions=Dimensions
|
||||||
|
Insert image=Insert image
|
||||||
|
Insert date\/time=Insert date\/time
|
||||||
|
Remove link=Remove link
|
||||||
|
Url=URL
|
||||||
|
Text to display=Text to display
|
||||||
|
Anchors=Anchors
|
||||||
|
Insert link=Insert link
|
||||||
|
New window=New window
|
||||||
|
None=None
|
||||||
|
The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?=The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?
|
||||||
|
Target=Target
|
||||||
|
The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?=The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?
|
||||||
|
Insert\/edit link=Insert\/edit link
|
||||||
|
Insert\/edit video=Insert\/edit video
|
||||||
|
Poster=Poster
|
||||||
|
Alternative source=Alternative source
|
||||||
|
Paste your embed code below:=Paste your embed code below:
|
||||||
|
Insert video=Insert video
|
||||||
|
Embed=Embed
|
||||||
|
Nonbreaking space=Non-breaking space
|
||||||
|
Page break=Page break
|
||||||
|
Paste as text=Paste as text
|
||||||
|
Preview=Preview
|
||||||
|
Print=Print
|
||||||
|
Save=Save
|
||||||
|
Could not find the specified string.=Could not find the specified string.
|
||||||
|
Replace=Replace
|
||||||
|
Next=Next
|
||||||
|
Whole words=Whole words
|
||||||
|
Find and replace=Find and replace
|
||||||
|
Replace with=Replace with
|
||||||
|
Find=Find
|
||||||
|
Replace all=Replace all
|
||||||
|
Match case=Match case
|
||||||
|
Prev=Prev
|
||||||
|
Spellcheck=Spell-check
|
||||||
|
Finish=Finish
|
||||||
|
Ignore all=Ignore all
|
||||||
|
Ignore=Ignore
|
||||||
|
Insert row before=Insert row before
|
||||||
|
Rows=Rows
|
||||||
|
Height=Height
|
||||||
|
Paste row after=Paste row after
|
||||||
|
Alignment=Alignment
|
||||||
|
Column group=Column group
|
||||||
|
Row=Row
|
||||||
|
Insert column before=Insert column before
|
||||||
|
Split cell=Split cell
|
||||||
|
Cell padding=Cell padding
|
||||||
|
Cell spacing=Cell spacing
|
||||||
|
Row type=Row type
|
||||||
|
Insert table=Insert table
|
||||||
|
Body=Body
|
||||||
|
Caption=Caption
|
||||||
|
Footer=Footer
|
||||||
|
Delete row=Delete row
|
||||||
|
Paste row before=Paste row before
|
||||||
|
Scope=Scope
|
||||||
|
Delete table=Delete table
|
||||||
|
Header cell=Header cell
|
||||||
|
Column=Column
|
||||||
|
Cell=Cell
|
||||||
|
Header=Header
|
||||||
|
Cell type=Cell type
|
||||||
|
Copy row=Copy row
|
||||||
|
Row properties=Row properties
|
||||||
|
Table properties=Table properties
|
||||||
|
Row group=Row group
|
||||||
|
Right=Right
|
||||||
|
Insert column after=Insert column after
|
||||||
|
Cols=Cols
|
||||||
|
Insert row after=Insert row after
|
||||||
|
Width=Width
|
||||||
|
Cell properties=Cell properties
|
||||||
|
Left=Left
|
||||||
|
Cut row=Cut row
|
||||||
|
Delete column=Delete column
|
||||||
|
Center=Centre
|
||||||
|
Merge cells=Merge cells
|
||||||
|
Insert template=Insert template
|
||||||
|
Templates=Templates
|
||||||
|
Background color=Background colour
|
||||||
|
Text color=Text colour
|
||||||
|
Show blocks=Show blocks
|
||||||
|
Show invisible characters=Show invisible characters
|
||||||
|
Words: {0}=Words: {0}
|
||||||
|
Insert=Insert
|
||||||
|
File=File
|
||||||
|
Edit=Edit
|
||||||
|
Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help=Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help
|
||||||
|
Tools=Tools
|
||||||
|
View=View
|
||||||
|
Table=Table
|
||||||
|
Format=Format
|
||||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -83,6 +83,7 @@ notGoodPassword=Esta não é uma boa senha, o tamanho deve ser de pelo menos 6 c
|
|||||||
|
|
||||||
# note
|
# note
|
||||||
myBlog=Blog
|
myBlog=Blog
|
||||||
|
Explore=Explore
|
||||||
history=Histórico
|
history=Histórico
|
||||||
save=Salvar
|
save=Salvar
|
||||||
editorTips=Dicas
|
editorTips=Dicas
|
||||||
@@ -0,0 +1,179 @@
|
|||||||
|
Cut=Cut
|
||||||
|
Header 2=Header 2
|
||||||
|
Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.=Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.
|
||||||
|
Div=Div
|
||||||
|
Paste=Paste
|
||||||
|
Close=Close
|
||||||
|
Font Family=Font Family
|
||||||
|
Pre=Pre
|
||||||
|
Align right=Align right
|
||||||
|
New document=New document
|
||||||
|
Blockquote=Blockquote
|
||||||
|
Numbered list=Numbered list
|
||||||
|
Increase indent=Increase indent
|
||||||
|
Formats=Formats
|
||||||
|
Headers=Headers
|
||||||
|
Select all=Select all
|
||||||
|
Header 3=Header 3
|
||||||
|
Blocks=Blocks
|
||||||
|
Undo=Undo
|
||||||
|
Strikethrough=Strike-through
|
||||||
|
Bullet list=Bullet list
|
||||||
|
Header 1=Header 1
|
||||||
|
Superscript=Superscript
|
||||||
|
Clear formatting=Clear formatting
|
||||||
|
Font Sizes=Font Sizes
|
||||||
|
Subscript=Subscript
|
||||||
|
Header 6=Header 6
|
||||||
|
Redo=Redo
|
||||||
|
Paragraph=Paragraph
|
||||||
|
Ok=Ok
|
||||||
|
Bold=Bold
|
||||||
|
Code=Code
|
||||||
|
Italic=Italic
|
||||||
|
Align center=Align centre
|
||||||
|
Header 5=Header 5
|
||||||
|
Decrease indent=Decrease indent
|
||||||
|
Header 4=Header 4
|
||||||
|
Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.=Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.
|
||||||
|
Underline=Underline
|
||||||
|
Cancel=Cancel
|
||||||
|
Justify=Justify
|
||||||
|
Inline=Inline
|
||||||
|
Copy=Copy
|
||||||
|
Align left=Align left
|
||||||
|
Visual aids=Visual aids
|
||||||
|
Lower Greek=Lower Greek
|
||||||
|
Square=Square
|
||||||
|
Default=Default
|
||||||
|
Lower Alpha=Lower Alpha
|
||||||
|
Circle=Circle
|
||||||
|
Disc=Disc
|
||||||
|
Upper Alpha=Upper Alpha
|
||||||
|
Upper Roman=Upper Roman
|
||||||
|
Lower Roman=Lower Roman
|
||||||
|
Name=Name
|
||||||
|
Anchor=Anchor
|
||||||
|
You have unsaved changes are you sure you want to navigate away?=You have unsaved changes are you sure you want to navigate away?
|
||||||
|
Restore last draft=Restore last draft
|
||||||
|
Special character=Special character
|
||||||
|
Source code=Source code
|
||||||
|
Right to left=Right to left
|
||||||
|
Left to right=Left to right
|
||||||
|
Emoticons=Emoticons
|
||||||
|
Robots=Robots
|
||||||
|
Document properties=Document properties
|
||||||
|
Title=Title
|
||||||
|
Keywords=Keywords
|
||||||
|
Encoding=Encoding
|
||||||
|
Description=Description
|
||||||
|
Author=Author
|
||||||
|
Language=Language
|
||||||
|
`ctrl/cmd+shift+c` toggle code=`ctrl/cmd+shift+c` toggle code
|
||||||
|
Fullscreen=Full-screen
|
||||||
|
Horizontal line=Horizontal line
|
||||||
|
Horizontal space=Horizontal space
|
||||||
|
Insert\/edit image=Insert\/edit image
|
||||||
|
General=General
|
||||||
|
Advanced=Advanced
|
||||||
|
Source=Source
|
||||||
|
Border=Border
|
||||||
|
Constrain proportions=Constrain proportions
|
||||||
|
Vertical space=Vertical space
|
||||||
|
Image description=Image description
|
||||||
|
Style=Style
|
||||||
|
Dimensions=Dimensions
|
||||||
|
Insert image=Insert image
|
||||||
|
Insert date\/time=Insert date\/time
|
||||||
|
Remove link=Remove link
|
||||||
|
Url=URL
|
||||||
|
Text to display=Text to display
|
||||||
|
Anchors=Anchors
|
||||||
|
Insert link=Insert link
|
||||||
|
New window=New window
|
||||||
|
None=None
|
||||||
|
The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?=The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?
|
||||||
|
Target=Target
|
||||||
|
The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?=The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?
|
||||||
|
Insert\/edit link=Insert\/edit link
|
||||||
|
Insert\/edit video=Insert\/edit video
|
||||||
|
Poster=Poster
|
||||||
|
Alternative source=Alternative source
|
||||||
|
Paste your embed code below:=Paste your embed code below:
|
||||||
|
Insert video=Insert video
|
||||||
|
Embed=Embed
|
||||||
|
Nonbreaking space=Non-breaking space
|
||||||
|
Page break=Page break
|
||||||
|
Paste as text=Paste as text
|
||||||
|
Preview=Preview
|
||||||
|
Print=Print
|
||||||
|
Save=Save
|
||||||
|
Could not find the specified string.=Could not find the specified string.
|
||||||
|
Replace=Replace
|
||||||
|
Next=Next
|
||||||
|
Whole words=Whole words
|
||||||
|
Find and replace=Find and replace
|
||||||
|
Replace with=Replace with
|
||||||
|
Find=Find
|
||||||
|
Replace all=Replace all
|
||||||
|
Match case=Match case
|
||||||
|
Prev=Prev
|
||||||
|
Spellcheck=Spell-check
|
||||||
|
Finish=Finish
|
||||||
|
Ignore all=Ignore all
|
||||||
|
Ignore=Ignore
|
||||||
|
Insert row before=Insert row before
|
||||||
|
Rows=Rows
|
||||||
|
Height=Height
|
||||||
|
Paste row after=Paste row after
|
||||||
|
Alignment=Alignment
|
||||||
|
Column group=Column group
|
||||||
|
Row=Row
|
||||||
|
Insert column before=Insert column before
|
||||||
|
Split cell=Split cell
|
||||||
|
Cell padding=Cell padding
|
||||||
|
Cell spacing=Cell spacing
|
||||||
|
Row type=Row type
|
||||||
|
Insert table=Insert table
|
||||||
|
Body=Body
|
||||||
|
Caption=Caption
|
||||||
|
Footer=Footer
|
||||||
|
Delete row=Delete row
|
||||||
|
Paste row before=Paste row before
|
||||||
|
Scope=Scope
|
||||||
|
Delete table=Delete table
|
||||||
|
Header cell=Header cell
|
||||||
|
Column=Column
|
||||||
|
Cell=Cell
|
||||||
|
Header=Header
|
||||||
|
Cell type=Cell type
|
||||||
|
Copy row=Copy row
|
||||||
|
Row properties=Row properties
|
||||||
|
Table properties=Table properties
|
||||||
|
Row group=Row group
|
||||||
|
Right=Right
|
||||||
|
Insert column after=Insert column after
|
||||||
|
Cols=Cols
|
||||||
|
Insert row after=Insert row after
|
||||||
|
Width=Width
|
||||||
|
Cell properties=Cell properties
|
||||||
|
Left=Left
|
||||||
|
Cut row=Cut row
|
||||||
|
Delete column=Delete column
|
||||||
|
Center=Centre
|
||||||
|
Merge cells=Merge cells
|
||||||
|
Insert template=Insert template
|
||||||
|
Templates=Templates
|
||||||
|
Background color=Background colour
|
||||||
|
Text color=Text colour
|
||||||
|
Show blocks=Show blocks
|
||||||
|
Show invisible characters=Show invisible characters
|
||||||
|
Words: {0}=Words: {0}
|
||||||
|
Insert=Insert
|
||||||
|
File=File
|
||||||
|
Edit=Edit
|
||||||
|
Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help=Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help
|
||||||
|
Tools=Tools
|
||||||
|
View=View
|
||||||
|
Table=Table
|
||||||
|
Format=Format
|
||||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -15,6 +15,7 @@ try=体验一下
|
|||||||
usernameOrEmail=用户名或Email
|
usernameOrEmail=用户名或Email
|
||||||
password=密码
|
password=密码
|
||||||
home=主页
|
home=主页
|
||||||
|
Leanote Explore=Leanote探索
|
||||||
desktopApp=客户端
|
desktopApp=客户端
|
||||||
aboutLeanote=关于Leanote
|
aboutLeanote=关于Leanote
|
||||||
suggestions=建议
|
suggestions=建议
|
||||||
@@ -105,6 +106,7 @@ notGoodPassword=密码至少6位
|
|||||||
|
|
||||||
# 笔记主页
|
# 笔记主页
|
||||||
myBlog=我的博客
|
myBlog=我的博客
|
||||||
|
Explore=探索
|
||||||
history=历史记录
|
history=历史记录
|
||||||
save=保存
|
save=保存
|
||||||
editorTips=帮助
|
editorTips=帮助
|
||||||
@@ -0,0 +1,186 @@
|
|||||||
|
Cut=剪切
|
||||||
|
Header 2=标题2
|
||||||
|
Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.=你的浏览器不支持对剪贴板的访问,请使用Ctrl+X\/C\/V键进行复制粘贴。
|
||||||
|
Div=Div区块
|
||||||
|
Paste=粘贴
|
||||||
|
Close=关闭
|
||||||
|
Font Family=字体
|
||||||
|
Pre=预格式文本
|
||||||
|
Align right=右对齐
|
||||||
|
New document=新文档
|
||||||
|
Blockquote=引用
|
||||||
|
Numbered list=编号列表
|
||||||
|
Increase indent=增加缩进
|
||||||
|
Formats=格式
|
||||||
|
Headers=标题
|
||||||
|
Select all=全选
|
||||||
|
Header 3=标题3
|
||||||
|
Blocks=区块
|
||||||
|
Undo=撤消
|
||||||
|
Strikethrough=删除线
|
||||||
|
Bullet list=项目符号
|
||||||
|
Header 1=标题1
|
||||||
|
Superscript=上标
|
||||||
|
Clear formatting=清除格式
|
||||||
|
Font Sizes=字号
|
||||||
|
Subscript=下标
|
||||||
|
Header 6=标题6
|
||||||
|
Redo=重复
|
||||||
|
Paragraph=段落
|
||||||
|
Ok=确定
|
||||||
|
Bold=粗体
|
||||||
|
Code=代码
|
||||||
|
Italic=斜体
|
||||||
|
Align center=居中
|
||||||
|
Header 5=标题5
|
||||||
|
Decrease indent=减少缩进
|
||||||
|
Header 4=标题4
|
||||||
|
Convert Code=转换成文本
|
||||||
|
toggleCode=ctrl+shift+c 切换代码
|
||||||
|
Language=代码语言
|
||||||
|
`ctrl/cmd+shift+c` toggle code=`ctrl/cmd+shift+c` 切换代码
|
||||||
|
Toggle ace with raw html=Ace代码与普通Pre代码切换
|
||||||
|
Inline Code=<code>
|
||||||
|
Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.=当前为纯文本粘贴模式,再次点击可以回到普通粘贴模式。
|
||||||
|
Underline=下划线
|
||||||
|
Cancel=取消
|
||||||
|
Justify=两端对齐
|
||||||
|
Inline=文本
|
||||||
|
Copy=复制
|
||||||
|
Align left=左对齐
|
||||||
|
Visual aids=网格线
|
||||||
|
Lower Greek=小写希腊字母
|
||||||
|
Square=方块
|
||||||
|
Default=默认
|
||||||
|
Lower Alpha=小写英文字母
|
||||||
|
Circle=空心圆
|
||||||
|
Disc=实心圆
|
||||||
|
Upper Alpha=大写英文字母
|
||||||
|
Upper Roman=大写罗马字母
|
||||||
|
Lower Roman=小写罗马字母
|
||||||
|
Name=名称
|
||||||
|
Anchor=锚点
|
||||||
|
You have unsaved changes are you sure you want to navigate away?=你还有文档尚未保存,确定要离开?
|
||||||
|
Restore last draft=恢复上次的草稿
|
||||||
|
Special character=特殊符号
|
||||||
|
Source code=源代码
|
||||||
|
Right to left=从右到左
|
||||||
|
Left to right=从左到右
|
||||||
|
Emoticons=表情
|
||||||
|
Robots=机器人
|
||||||
|
Document properties=文档属性
|
||||||
|
Title=标题
|
||||||
|
Keywords=关键词
|
||||||
|
Encoding=编码
|
||||||
|
Description=描述
|
||||||
|
Author=作者
|
||||||
|
Fullscreen=全屏
|
||||||
|
Horizontal line=水平分割线
|
||||||
|
Horizontal space=水平边距
|
||||||
|
Insert\/edit image=上传/插入图片
|
||||||
|
Insert\/edit mind map=新建/编辑思维导图
|
||||||
|
Insert Mind Map=插入思维导图
|
||||||
|
Mind Map=思维导图
|
||||||
|
Image=图片
|
||||||
|
Insert Image=插入
|
||||||
|
General=普通
|
||||||
|
Advanced=高级
|
||||||
|
Source=地址
|
||||||
|
Border=边框
|
||||||
|
Constrain proportions=保持纵横比
|
||||||
|
Vertical space=垂直边距
|
||||||
|
Image description=图片描述
|
||||||
|
Style=样式
|
||||||
|
Dimensions=大小
|
||||||
|
Insert image=插入图片
|
||||||
|
Insert date\/time=插入日期\/时间
|
||||||
|
Remove link=删除链接
|
||||||
|
Url=地址
|
||||||
|
Text to display=显示文字
|
||||||
|
Anchors=锚点
|
||||||
|
Insert link=插入链接
|
||||||
|
New window=在新窗口打开
|
||||||
|
None=无
|
||||||
|
Target=打开方式
|
||||||
|
Insert\/edit link=插入\/编辑链接
|
||||||
|
Insert\/edit video=插入\/编辑视频
|
||||||
|
Poster=封面
|
||||||
|
Alternative source=镜像
|
||||||
|
Paste your embed code below:=将内嵌代码粘贴在下面:
|
||||||
|
Insert video=插入视频
|
||||||
|
Embed=内嵌
|
||||||
|
Nonbreaking space=不间断空格
|
||||||
|
Page break=分页符
|
||||||
|
Paste as text=粘贴为文本
|
||||||
|
Preview=预览
|
||||||
|
Print=打印
|
||||||
|
Save=保存
|
||||||
|
Could not find the specified string.=未找到搜索内容.
|
||||||
|
Replace=替换
|
||||||
|
Next=下一个
|
||||||
|
Whole words=全字匹配
|
||||||
|
Find and replace=查找和替换
|
||||||
|
Replace with=替换为
|
||||||
|
Find=查找
|
||||||
|
Replace all=全部替换
|
||||||
|
Match case=区分大小写
|
||||||
|
Prev=上一个
|
||||||
|
Spellcheck=拼写检查
|
||||||
|
Finish=完成
|
||||||
|
Ignore all=全部忽略
|
||||||
|
Ignore=忽略
|
||||||
|
Insert row before=在上方插入
|
||||||
|
Rows=行
|
||||||
|
Height=高
|
||||||
|
Paste row after=粘贴到下方
|
||||||
|
Alignment=对齐方式
|
||||||
|
Column group=列组
|
||||||
|
Row=行
|
||||||
|
Insert column before=在左侧插入
|
||||||
|
Split cell=拆分单元格
|
||||||
|
Cell padding=单元格内边距
|
||||||
|
Cell spacing=单元格外间距
|
||||||
|
Row type=行类型
|
||||||
|
Insert table=插入表格
|
||||||
|
Body=表体
|
||||||
|
Caption=标题
|
||||||
|
Footer=表尾
|
||||||
|
Delete row=删除行
|
||||||
|
Paste row before=粘贴到上方
|
||||||
|
Scope=范围
|
||||||
|
Delete table=删除表格
|
||||||
|
Header cell=表头单元格
|
||||||
|
Column=列
|
||||||
|
Cell=单元格
|
||||||
|
Header=表头
|
||||||
|
Cell type=单元格类型
|
||||||
|
Copy row=复制行
|
||||||
|
Row properties=行属性
|
||||||
|
Table properties=表格属性
|
||||||
|
Row group=行组
|
||||||
|
Right=右对齐
|
||||||
|
Insert column after=在右侧插入
|
||||||
|
Cols=列
|
||||||
|
Insert row after=在下方插入
|
||||||
|
Width=宽
|
||||||
|
Cell properties=单元格属性
|
||||||
|
Left=左对齐
|
||||||
|
Cut row=剪切行
|
||||||
|
Delete column=删除列
|
||||||
|
Center=居中
|
||||||
|
Merge cells=合并单元格
|
||||||
|
Insert template=插入模板
|
||||||
|
Templates=模板
|
||||||
|
Background color=背景色
|
||||||
|
Text color=文字颜色
|
||||||
|
Show blocks=显示区块边框
|
||||||
|
Show invisible characters=显示不可见字符
|
||||||
|
Words: {0}=字数:{0}
|
||||||
|
Insert=插入
|
||||||
|
File=文件
|
||||||
|
Edit=编辑
|
||||||
|
Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help=在编辑区按ALT-F9打开菜单,按ALT-F10打开工具栏,按ALT-0查看帮助
|
||||||
|
Tools=工具
|
||||||
|
View=视图
|
||||||
|
Table=表格
|
||||||
|
Format=格式
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
|
||||||
|
# album image
|
||||||
|
Images=圖片
|
||||||
|
Upload=上傳
|
||||||
|
Image URL=圖片地址
|
||||||
|
Albums=相冊
|
||||||
|
Default=預設
|
||||||
|
File title search=通過標題搜索
|
||||||
|
Go to upload images=去上傳圖片
|
||||||
|
Rename=重新命名
|
||||||
|
Add=新增
|
||||||
|
Add Album=新增相簿
|
||||||
|
Add Image=新增圖片
|
||||||
|
Can't load this url=不能載入該圖片
|
||||||
|
No Images=無圖片
|
||||||
|
Click to upload images Or Drop images to here=點擊上傳圖片或將圖片拖至此
|
||||||
|
|
||||||
|
Cannot delete default album=不能刪除預設相簿
|
||||||
|
Cannot rename default album=不能重命名預設相簿
|
||||||
|
This album has images, please delete it's images at first.=相簿內有圖片, 不能刪除
|
||||||
|
|
||||||
|
Rename Album=重新命名
|
||||||
|
Add Success!=新增成功!
|
||||||
|
Rename Success!=重新命名成功!
|
||||||
|
Delete Success!=刪除成功
|
||||||
|
Are you sure to delete this image ?=確定刪除該圖片?
|
||||||
|
click to remove this image=刪除圖片
|
||||||
|
error=錯誤
|
||||||
|
Error=錯誤
|
||||||
|
Prev=上一頁
|
||||||
|
Next=下一頁
|
||||||
@@ -0,0 +1,97 @@
|
|||||||
|
# blog
|
||||||
|
blog=部落格
|
||||||
|
aboutMe=關於我
|
||||||
|
blogSet=部落格設定
|
||||||
|
|
||||||
|
blogNavs=導航
|
||||||
|
quickLinks=快速連結
|
||||||
|
latestPosts=最近發表
|
||||||
|
|
||||||
|
noBlog=無部落格
|
||||||
|
noTag=無
|
||||||
|
blogClass=分類
|
||||||
|
updatedTime=更新
|
||||||
|
createdTime=建立
|
||||||
|
fullBlog=全文
|
||||||
|
blogNav=導航
|
||||||
|
more=更多...
|
||||||
|
previous=上一頁
|
||||||
|
next=下一頁
|
||||||
|
|
||||||
|
#
|
||||||
|
# set blog
|
||||||
|
#
|
||||||
|
blogSet=部落格設定
|
||||||
|
baseInfoSet=基本設定
|
||||||
|
commentSet=評論設定
|
||||||
|
themeSet=主題設定
|
||||||
|
theme=主題
|
||||||
|
blogName=部落格標題
|
||||||
|
blogLogo=部落格Logo
|
||||||
|
blogDesc=部落格描述
|
||||||
|
aboutMe=關於我
|
||||||
|
|
||||||
|
#domain
|
||||||
|
domainSet=域名設定
|
||||||
|
subDomain=部落格子域名
|
||||||
|
domain=自定義域名
|
||||||
|
|
||||||
|
# theme
|
||||||
|
elegant=大氣
|
||||||
|
navFixed=導航左側固定
|
||||||
|
|
||||||
|
openComment=開啟評論?
|
||||||
|
chooseComment=選擇評論系統
|
||||||
|
disqusHelp=請填寫您申請的Disqus唯一url前綴. 建議您申請Disqus帳號, 這樣可以自己管理評論. 或使用leanote的預設Disqus Id.
|
||||||
|
needHelp=需要幫助?
|
||||||
|
blogLogoTips=上傳logo將顯示logo(替代部落格標題)
|
||||||
|
saveSuccess=保存成功
|
||||||
|
|
||||||
|
community=社區
|
||||||
|
home=主頁
|
||||||
|
none=無
|
||||||
|
moreShare=更多分享
|
||||||
|
sinaWeibo=新浪微博
|
||||||
|
weixin=微信
|
||||||
|
tencentWeibo=騰訊微博
|
||||||
|
qqZone=QQ空間
|
||||||
|
renren=人人網
|
||||||
|
report=檢舉
|
||||||
|
like=讚
|
||||||
|
unlike=取消讚
|
||||||
|
viewers=人讀過
|
||||||
|
author=作者
|
||||||
|
delete=刪除
|
||||||
|
reply=回復
|
||||||
|
comment=評論
|
||||||
|
comments=條評論
|
||||||
|
cancel=取消
|
||||||
|
confirm=確認
|
||||||
|
signIn=登錄
|
||||||
|
signUp=註冊
|
||||||
|
submitComment=發表評論
|
||||||
|
reportReason1=不友善內容
|
||||||
|
reportReason2=廣告等垃圾信息
|
||||||
|
reportReason3=違法違規內容
|
||||||
|
reportReason4=不宜公開討論的政治內容
|
||||||
|
other=其它
|
||||||
|
reportReason=檢舉理由
|
||||||
|
chooseReason=請選擇檢舉理由
|
||||||
|
reportSuccess=檢舉成功, 我們處理後會通知作者, 感謝您的監督
|
||||||
|
error=錯誤
|
||||||
|
reportComment?=檢舉該評論?
|
||||||
|
reportBlog?=檢舉該部落格?
|
||||||
|
confirmDeleteComment=確定刪除該評論?
|
||||||
|
scanQRCode=打開微信掃一掃二維碼
|
||||||
|
|
||||||
|
justNow=剛剛
|
||||||
|
minutesAgo=分鐘前
|
||||||
|
hoursAgo=個小時前
|
||||||
|
daysAgo=天前
|
||||||
|
weeksAgo=周前
|
||||||
|
monthsAgo=個月前
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
a=a
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
|
||||||
|
# markdown editor
|
||||||
|
|
||||||
|
Hyperlink=超連結
|
||||||
|
Please provide the link URL and an optional title=請填寫連結和一個可選的標題
|
||||||
|
optional title=可選標題
|
||||||
|
Ok=確定
|
||||||
|
Cancel=取消
|
||||||
|
Strong=粗體
|
||||||
|
strong text=粗體
|
||||||
|
Emphasis=斜體
|
||||||
|
emphasized text=斜體
|
||||||
|
Blockquote=引用
|
||||||
|
Code Sample=代碼
|
||||||
|
enter code here=代碼
|
||||||
|
Image=圖片
|
||||||
|
Heading=標題
|
||||||
|
Numbered List=有序列表
|
||||||
|
Bulleted List=無序列表
|
||||||
|
List item=項目
|
||||||
|
Horizontal Rule=水平線
|
||||||
|
Markdown syntax=Markdown 語法
|
||||||
|
Undo=還原
|
||||||
|
Redo=重作
|
||||||
|
enter image description here=圖片標題
|
||||||
|
enter link description here=連結標題
|
||||||
|
Edit mode=編輯模式
|
||||||
|
Vim mode=Vim模式
|
||||||
|
Emacs mode=Emacs模式
|
||||||
|
Normal mode=普通模式
|
||||||
|
Normal=普通
|
||||||
|
Light=輕量
|
||||||
|
Light editor=輕量編輯器
|
||||||
|
|
||||||
|
Insert Image=插入
|
||||||
@@ -0,0 +1,137 @@
|
|||||||
|
####################
|
||||||
|
# 個人中心
|
||||||
|
####################
|
||||||
|
|
||||||
|
memberCenter=個人中心
|
||||||
|
userNotExists=使用者尚未註冊
|
||||||
|
hasUsers=使用者已存在
|
||||||
|
Leanote Blog Theme Api=Leanote博客主題API
|
||||||
|
My Group=我的群組
|
||||||
|
group=群組
|
||||||
|
newGroup=新增群組
|
||||||
|
deleteGroup=刪除群組
|
||||||
|
addMemberTips=輸入使用者名稱或電子郵件建立使用者
|
||||||
|
deleteMember=刪除使用者
|
||||||
|
forbiddenNotMyGroup=無權限操作, 非該群組的所有者
|
||||||
|
userExistsInGroup=已存在該使用者
|
||||||
|
notMyGroup=非該組組的所有者
|
||||||
|
|
||||||
|
# 博客列表
|
||||||
|
|
||||||
|
# 博客摘要設定
|
||||||
|
|
||||||
|
Abstract=摘要
|
||||||
|
Description=描述
|
||||||
|
Once the abstract has been updated, it will not set the abstract automatically other than you cancel it.=以下內容設定後, 以後修改筆記時將不自動獲取. 若將該文章取消為博客後, 以下內容會自動獲取.
|
||||||
|
Main Image=主要圖片
|
||||||
|
Get next image as main image from content=從筆記中自動取得一張
|
||||||
|
Raw Content=原文
|
||||||
|
|
||||||
|
# member title
|
||||||
|
Leanote Member Center=Leanote 個人中心
|
||||||
|
Username=使用者名稱
|
||||||
|
Email=Email
|
||||||
|
Password=密碼
|
||||||
|
Avatar=頭像
|
||||||
|
Add Account=新增Leanote帳號
|
||||||
|
Update Post Abstract=更新博文摘要
|
||||||
|
Blog Base Info=博客基本設定
|
||||||
|
Comment=評論設定
|
||||||
|
Posts=博文管理
|
||||||
|
Domain=域名
|
||||||
|
Paging=分頁
|
||||||
|
Category=分類管理
|
||||||
|
Add Single=添加單頁
|
||||||
|
Update Single=修改單頁
|
||||||
|
Single=單頁管理
|
||||||
|
Theme=主題
|
||||||
|
Update Theme=修改主題
|
||||||
|
|
||||||
|
|
||||||
|
#memeber
|
||||||
|
welcomeToLeanote=歡迎來到leanote
|
||||||
|
accountInfo=帳戶資訊
|
||||||
|
accountType=帳戶類型
|
||||||
|
premiumAccountType=旗艦套餐
|
||||||
|
normalAccountType=共享套餐
|
||||||
|
imageSize=圖片空間
|
||||||
|
attachSize=附件空間
|
||||||
|
totalTraffic=流量
|
||||||
|
upgrade=升級套餐
|
||||||
|
leanoteEvents=Leanote動態
|
||||||
|
addLeanoteAccount=新增Leanote帳號
|
||||||
|
defaultComment=預設leanote評論系統
|
||||||
|
upgradeAccountTips=Leanote支持綁定自己的域名到博客上, 請 <a class="btn btn-default" href="/service">升級您的帳戶</a>
|
||||||
|
cateIsPublicNotebook=分類是公開為博客的記事本
|
||||||
|
dragAndSort=拖動可排序
|
||||||
|
permanentLink=固定連結
|
||||||
|
cate=分類
|
||||||
|
noCates=無分類
|
||||||
|
single=單頁面
|
||||||
|
singleTips=您可以添加多個單頁面
|
||||||
|
addSingle=添加單頁面
|
||||||
|
updateSingle=修改單頁面
|
||||||
|
inputSingleTitle=請輸入單頁面標題
|
||||||
|
saveSort=保存排序
|
||||||
|
pagingAndSort=分頁與排序設定
|
||||||
|
perPageSize=每頁記錄數
|
||||||
|
sortField=排序字段
|
||||||
|
sortType=排序類型
|
||||||
|
publicTime=發表時間
|
||||||
|
createdTime=建立時間
|
||||||
|
updatedTime=更新時間
|
||||||
|
desc=降序
|
||||||
|
asc=升序
|
||||||
|
postList=文章列表
|
||||||
|
hasSelfDefined=已設定
|
||||||
|
noSelfDefined=未設定
|
||||||
|
setAbstract=摘要設定
|
||||||
|
title=標題
|
||||||
|
content=內容
|
||||||
|
|
||||||
|
addTheme=新增主題
|
||||||
|
importTheme=匯入主題
|
||||||
|
exportTheme=匯出主題
|
||||||
|
export=匯出
|
||||||
|
preview=預覽
|
||||||
|
edit=編輯
|
||||||
|
use=使用
|
||||||
|
install=安裝
|
||||||
|
currentTheme=當前主題
|
||||||
|
myOtherThemes=我的其它主題
|
||||||
|
leanoteThemeMarket=Leanote主題市場
|
||||||
|
updateTheme=編輯主題
|
||||||
|
tplStyleScript=模板, 樣式, 腳本
|
||||||
|
newFile=新文件
|
||||||
|
image=圖片
|
||||||
|
currentFile=當前文件
|
||||||
|
tpl=模板
|
||||||
|
style=樣式
|
||||||
|
script=腳本
|
||||||
|
header=頭部
|
||||||
|
footer=底部
|
||||||
|
index=首頁
|
||||||
|
cate=分類
|
||||||
|
search=搜索頁
|
||||||
|
single=單頁
|
||||||
|
archive=歸檔頁
|
||||||
|
post=文章頁
|
||||||
|
tags=標簽頁
|
||||||
|
tag_posts=標簽文章頁
|
||||||
|
share_comment=分享評論
|
||||||
|
themeJson=主題配置
|
||||||
|
paging=分頁
|
||||||
|
highlight=高亮
|
||||||
|
|
||||||
|
# view js
|
||||||
|
|
||||||
|
Are you sure ?=你確定執行該操作?
|
||||||
|
Are you sure to install it ?=你確定安裝該主題?
|
||||||
|
Are you sure to delete=你確定刪除
|
||||||
|
Success=成功
|
||||||
|
Error=錯誤
|
||||||
|
File exists=檔案已存在
|
||||||
|
Delete file=刪除檔案
|
||||||
|
No images=無圖片
|
||||||
|
Filename=文件名
|
||||||
|
Group Title=群組標題
|
||||||
@@ -0,0 +1,319 @@
|
|||||||
|
# leanote
|
||||||
|
app=Leanote
|
||||||
|
moto=不只是筆記!
|
||||||
|
moto2=知識管理, 博客, 分享, 協作... 盡在Leanote
|
||||||
|
moto3=簡約而不簡單
|
||||||
|
fork github=Github 源碼
|
||||||
|
|
||||||
|
# 首頁
|
||||||
|
openSource=開源
|
||||||
|
Desktop App=桌面客戶端
|
||||||
|
forgetPassword = 忘記密碼?
|
||||||
|
or=或
|
||||||
|
try=體驗一下
|
||||||
|
3th=第三方登入
|
||||||
|
usernameOrEmail=使用者名稱或Email
|
||||||
|
password=密碼
|
||||||
|
home=首頁
|
||||||
|
Leanote Explore=Leanote探索
|
||||||
|
desktopApp=客戶端
|
||||||
|
aboutLeanote=關於Leanote
|
||||||
|
suggestions=建議
|
||||||
|
yourSuggestions=說明完善Leanote
|
||||||
|
leanoteBlog=官方博客
|
||||||
|
knowledge=知識
|
||||||
|
knowledgeInfo=leanote是一個筆記, 你可以用它來管理自己的知識.
|
||||||
|
share=分享
|
||||||
|
shareInfo=你也可以將知識分享給你的好友.
|
||||||
|
cooperation=協作
|
||||||
|
cooperationInfo=分享給好友的同時也可以讓你的好友和你一起來完善它.
|
||||||
|
blog=博客
|
||||||
|
blogInfo=將筆記公開, 讓知識傳播的更遠!
|
||||||
|
suggestionsInfo=說明我們完善leanote
|
||||||
|
yourContact=您的聯絡方式
|
||||||
|
emailOrOthers=Email或其它聯絡方式
|
||||||
|
captcha=驗證碼
|
||||||
|
reloadCaptcha=刷新驗證碼
|
||||||
|
captchaError=驗證碼錯誤
|
||||||
|
inputCaptcha=請輸入驗證碼
|
||||||
|
noTag=無標簽
|
||||||
|
|
||||||
|
hi=Hi
|
||||||
|
welcomeUseLeanote=Welcome!
|
||||||
|
myNote=My note
|
||||||
|
curUser=Email
|
||||||
|
|
||||||
|
# form
|
||||||
|
submit=送出
|
||||||
|
Submit=送出
|
||||||
|
register=註冊
|
||||||
|
login=登入
|
||||||
|
Password=密碼
|
||||||
|
password2=請確認密碼
|
||||||
|
email=Email
|
||||||
|
inputUsername=請輸入使用者名稱或Email
|
||||||
|
inputEmail=請輸入Email
|
||||||
|
wrongEmail=Email錯誤
|
||||||
|
wrongUsernameOrPassword=使用者名稱或密碼錯誤
|
||||||
|
inputPassword=請輸入密碼
|
||||||
|
inputLoginPasswordTips=請輸入登入密碼
|
||||||
|
wrongPassword=密碼錯誤
|
||||||
|
logining=登入
|
||||||
|
loginSuccess=登入成功
|
||||||
|
|
||||||
|
hi=Hi
|
||||||
|
welcomeUseLeanote=歡迎使用leanote
|
||||||
|
myNote=我的筆記
|
||||||
|
curUser=當前登入帳戶
|
||||||
|
|
||||||
|
# form
|
||||||
|
submit=送出
|
||||||
|
login=登入
|
||||||
|
register=註冊
|
||||||
|
password2=確認密碼
|
||||||
|
email=Email
|
||||||
|
inputUsername=請輸入使用者名稱或Email
|
||||||
|
inputEmail=請輸入Email
|
||||||
|
wrongEmail=Email格式有誤
|
||||||
|
wrongUsernameOrPassword=使用者名稱或密碼錯誤
|
||||||
|
inputPassword=請輸入密碼
|
||||||
|
wrongPassword=密碼錯誤
|
||||||
|
logining=正在登入
|
||||||
|
loginSuccess=登入成功, 正在跳轉
|
||||||
|
ing=正在處理
|
||||||
|
use = 使用
|
||||||
|
hadAcount = 已有帳戶?
|
||||||
|
hasAcount = 還無帳戶?
|
||||||
|
signInWithThird=使用第三方帳號登入
|
||||||
|
|
||||||
|
# 註冊
|
||||||
|
registerSuccessAndRdirectToNote=註冊成功, 正在跳轉...
|
||||||
|
userHasBeenRegistered=%s已被註冊
|
||||||
|
|
||||||
|
# 找回密碼
|
||||||
|
passwordTips=密碼至少6位
|
||||||
|
findPassword=找回密碼
|
||||||
|
findPasswordSendEmailOver=已經將修改密碼的連結傳送到您的郵箱, 請查收郵件.
|
||||||
|
checkEmai=查收郵箱
|
||||||
|
updatePassword=修改密碼
|
||||||
|
findPasswordTimeout=連結已過期
|
||||||
|
reFindPassword=重新找回密碼
|
||||||
|
updatePassword=修改密碼
|
||||||
|
updatePasswordSuccessRedirectToLogin=修改成功, 正在跳轉到登入頁
|
||||||
|
inputPassword2=請再次輸入密碼
|
||||||
|
confirmPassword=兩次密碼輸入不一致
|
||||||
|
notGoodPassword=密碼至少6位
|
||||||
|
|
||||||
|
# 筆記首頁
|
||||||
|
myBlog=我的博客
|
||||||
|
Explore=探索
|
||||||
|
history=歷史記錄
|
||||||
|
save=儲存
|
||||||
|
editorTips=說明
|
||||||
|
editorTipsInfo=<h4>1. 快捷鍵</h4>ctrl+shift+c 代碼塊切換 <h4>2. shift+enter 跳出當前區域</h4>比如在代碼塊中<img src="/images/outofcode.png" style="width: 90px"/>按shift+enter可跳出當前代碼塊.
|
||||||
|
newNote=新記事
|
||||||
|
newMarkdownNote=新Markdown記事
|
||||||
|
noNoteNewNoteTips=該記事本下空空如也...何不
|
||||||
|
canntNewNoteTips=Sorry, 這裏不能新增筆記的. 你需要先選擇一個記事本.
|
||||||
|
new=新建
|
||||||
|
newMarkdown=新Markdown記事
|
||||||
|
clickAddTag=點擊新增標簽
|
||||||
|
notebook=記事本
|
||||||
|
note=筆記
|
||||||
|
myNotebook=我的記事本
|
||||||
|
addNotebook=新增記事本
|
||||||
|
search=搜尋
|
||||||
|
clearSearch=清除搜尋
|
||||||
|
all=最新
|
||||||
|
trash=垃圾桶
|
||||||
|
delete=刪除
|
||||||
|
unTitled=無標題
|
||||||
|
defaultShare=預設分享
|
||||||
|
leftHidden=隱藏左側
|
||||||
|
leftShow=展開左側
|
||||||
|
nav=文檔導航
|
||||||
|
writingMode=寫作模式
|
||||||
|
normalMode=普通模式
|
||||||
|
saving=正在儲存
|
||||||
|
saveSuccess=儲存成功
|
||||||
|
SearchNote=搜尋筆記
|
||||||
|
SearchNotebook=搜尋記事本
|
||||||
|
Choose File=選擇文件
|
||||||
|
Download All=下載全部
|
||||||
|
Information=信息
|
||||||
|
Are you sure to delete it ?=確認刪除?
|
||||||
|
Insert link into content=將附件連結插入到內容中
|
||||||
|
Download=下載
|
||||||
|
Delete=刪除
|
||||||
|
Drop images to here=將圖片拖動至此
|
||||||
|
Toggle Modify with Readonly=編輯與只讀切換
|
||||||
|
|
||||||
|
update=更新
|
||||||
|
create=建立
|
||||||
|
Update Time=更新時間
|
||||||
|
Create Time=建立時間
|
||||||
|
Post Url=博文連結
|
||||||
|
|
||||||
|
demoRegister=<a href="/register">立即註冊</a>
|
||||||
|
|
||||||
|
close=關閉
|
||||||
|
cancel=取消
|
||||||
|
send=傳送
|
||||||
|
|
||||||
|
# 標簽
|
||||||
|
tag=標簽
|
||||||
|
myTag=我的標簽
|
||||||
|
red=紅色
|
||||||
|
yellow=黃色
|
||||||
|
blue=藍色
|
||||||
|
green=綠色
|
||||||
|
|
||||||
|
# 設定
|
||||||
|
accountSetting=帳戶設定
|
||||||
|
logout=退出
|
||||||
|
basicInfo=基本信息
|
||||||
|
basicInfoSet=博客基本設定
|
||||||
|
updateEmail=修改Email
|
||||||
|
usernameSetting=使用者名稱設定
|
||||||
|
chooseImage=選擇圖片
|
||||||
|
oldPassword=舊密碼
|
||||||
|
newPassword=新密碼
|
||||||
|
admin=後台管理
|
||||||
|
|
||||||
|
default=預設
|
||||||
|
simple=簡約
|
||||||
|
|
||||||
|
# tinymce
|
||||||
|
uploadImage=上傳圖片
|
||||||
|
|
||||||
|
# blog
|
||||||
|
aboutMe=關於我
|
||||||
|
blogSet=博客設定
|
||||||
|
|
||||||
|
# error
|
||||||
|
notFound=該頁面不存在
|
||||||
|
|
||||||
|
# index
|
||||||
|
discussion=社區討論
|
||||||
|
download=下載
|
||||||
|
howToInstallLeanote=leanote安裝步驟
|
||||||
|
|
||||||
|
#
|
||||||
|
attachments = 附件
|
||||||
|
donate = 捐贈
|
||||||
|
|
||||||
|
# contextmenu
|
||||||
|
shareToFriends=分享給好友
|
||||||
|
publicAsBlog=公開為博客
|
||||||
|
cancelPublic=取消公開為博客
|
||||||
|
move=移動
|
||||||
|
copy=複製
|
||||||
|
rename=重命名
|
||||||
|
exportPdf=匯出PDF
|
||||||
|
addChildNotebook=新增子記事本
|
||||||
|
deleteAllShared=刪除所有分享
|
||||||
|
deleteSharedNotebook=刪除分享記事本
|
||||||
|
copyToMyNotebook=複製到我的記事本
|
||||||
|
|
||||||
|
####note-dev
|
||||||
|
emailInSending=正在傳送郵件到
|
||||||
|
checkEmail=查看郵件
|
||||||
|
setUsername=使用者名稱設定
|
||||||
|
setUsernameTips=你的郵箱是 <code>%s</code>, 可以再設定一個唯一的使用者名稱.<br />使用者名稱至少4位, 不可含特殊字符.
|
||||||
|
currentEmail=當前郵箱為: <code>%s</code>
|
||||||
|
updateEmail=修改郵箱
|
||||||
|
updateEmailTips=郵箱修改後, 驗證之後才有效, 驗證之後新的郵箱地址將會作為登入帳號使用.
|
||||||
|
sendVerifiedEmail=傳送驗證郵箱
|
||||||
|
sendSuccess=傳送成功
|
||||||
|
sendFailed=傳送失敗
|
||||||
|
verified=已驗證
|
||||||
|
unVerified=未驗證
|
||||||
|
verifiedNow=現在去驗證
|
||||||
|
resendVerifiedEmail=重新傳送驗證郵件
|
||||||
|
# 分享
|
||||||
|
defaultShare=預設分享
|
||||||
|
addShare=新增分享
|
||||||
|
friendEmail=好友郵箱
|
||||||
|
permission=權限
|
||||||
|
readOnly=只讀
|
||||||
|
writable=可寫
|
||||||
|
inputFriendEmail=請輸入好友郵箱
|
||||||
|
clickToChangePermission=點擊改變權限
|
||||||
|
sendInviteEmailToYourFriend=傳送邀請email給Ta
|
||||||
|
copySuccess=複製成功
|
||||||
|
copyFailed=對不起, 複製失敗, 請自行複製
|
||||||
|
friendNotExits=該用戶還沒有註冊%s, 複製邀請連結傳送給Ta, 邀請連結: %s
|
||||||
|
emailBodyRequired=郵件內容不能為空
|
||||||
|
clickToCopy=點擊複製
|
||||||
|
sendSuccess=傳送成功
|
||||||
|
inviteEmailBody=Hi, 你好, 我是%s, %s非常好用, 快來註冊吧!
|
||||||
|
<span></span> notes selected=當前選中了 <span></span> 篇筆記
|
||||||
|
|
||||||
|
# 歷史記錄
|
||||||
|
historiesNum=leanote會儲存筆記的最近<b>10</b>份歷史記錄
|
||||||
|
noHistories=無歷史記錄
|
||||||
|
datetime=日期
|
||||||
|
restoreFromThisVersion=從該版本還原
|
||||||
|
confirmBackup=確定要從該版還原? 還原前leanote會備份當前版本到歷史記錄中.
|
||||||
|
createAccount=建立帳號
|
||||||
|
createAccountSuccess=帳號建立成功
|
||||||
|
createAccountFailed=帳號建立失敗
|
||||||
|
thirdCreateAcountTips=您現在使用的是第三方帳號登入%(app)s, 您也可以註冊%(app)s帳號登入, 趕緊註冊一個吧. <br />註冊成功後仍可以使用第三方帳號登入leanote並管理您現有的筆記.
|
||||||
|
|
||||||
|
## valid msg
|
||||||
|
cannotUpdateDemo=抱歉, Demo用戶不允許修改
|
||||||
|
inputUsername=請輸入使用者名稱
|
||||||
|
updateUsernameSuccess=使用者名稱修改成功
|
||||||
|
usernameIsExisted=使用者名稱已存在
|
||||||
|
noSpecialChars=不能包含特殊字符
|
||||||
|
minLength=長度至少為%s
|
||||||
|
errorEmail=請輸入正確的email
|
||||||
|
verifiedEmaiHasSent=驗證郵件已傳送, 請及時查閱郵件並驗證.
|
||||||
|
emailSendFailed=郵件傳送失敗
|
||||||
|
inputPassword=請輸入密碼
|
||||||
|
inputNewPassword=請輸入新密碼
|
||||||
|
inputPassword2=請輸入確認密碼
|
||||||
|
errorPassword=請輸入長度不少於6位的密碼, 盡量復雜
|
||||||
|
oldPasswordError=舊密碼錯誤
|
||||||
|
confirmPassword=兩次密碼輸入不正確
|
||||||
|
updatePasswordSuccess=修改密碼成功
|
||||||
|
errorDomain=請輸入正確的網域名稱, 如www.myblog.com
|
||||||
|
domainExisted=網域名稱已存在
|
||||||
|
errorSubDomain=請輸入正確的博客子網域名稱, 長度至少為4, 不能包含特殊字符
|
||||||
|
subDomainExisted=博客子網域名稱已存在
|
||||||
|
domainNotPointToLeanote=該網域名稱還未指向 d.leanote.com, 請稍後再試
|
||||||
|
errorPerPageSize=每頁記錄數至少為1
|
||||||
|
errorSortField=排序類型錯誤
|
||||||
|
themeValidHasRoundInclude=警告: 模板存在循環引用問題!
|
||||||
|
|
||||||
|
#share
|
||||||
|
tokenExpired = 會話已過期
|
||||||
|
Share=分享
|
||||||
|
hasSharedThisNote=分享了筆記
|
||||||
|
inputSharePwd=您需要輸入分享密碼才能查看
|
||||||
|
shareToGroup=分享給項目組
|
||||||
|
shareByPwd=通過密碼分享
|
||||||
|
groupName=分組名
|
||||||
|
operation=操作
|
||||||
|
groupAndMemberManage=項目組/成員管理
|
||||||
|
shareToGroupTips=將筆記/記事本分享給項目組後, 該組下的用戶便擁有了該筆記/記事本
|
||||||
|
shared=已分享
|
||||||
|
notShared=未分享
|
||||||
|
shareLink=分享連結
|
||||||
|
sharePwd=查看密碼
|
||||||
|
cancelShare=取消分享
|
||||||
|
getShareLinkAndPwd=生成該筆記的分享連結和密碼
|
||||||
|
|
||||||
|
#############
|
||||||
|
# 通用
|
||||||
|
#############
|
||||||
|
created=建立
|
||||||
|
updated=更新
|
||||||
|
modify=修改
|
||||||
|
Search=搜尋
|
||||||
|
Save Success=儲存成功
|
||||||
|
Please save note firstly!=請先儲存筆記!
|
||||||
|
Please sign in firstly!=你還沒有登入, 請先登入!
|
||||||
|
|
||||||
|
# 必須要加這個, 奇怪
|
||||||
|
[CN]
|
||||||
@@ -0,0 +1,186 @@
|
|||||||
|
Cut=剪切
|
||||||
|
Header 2=標題2
|
||||||
|
Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.=你的瀏覽器不支持對剪貼簿的訪問,請使用Ctrl+X\/C\/V鍵進行複製貼上。
|
||||||
|
Div=Div區塊
|
||||||
|
Paste=貼上
|
||||||
|
Close=關閉
|
||||||
|
Font Family=字體
|
||||||
|
Pre=預格式文本
|
||||||
|
Align right=靠右對齊
|
||||||
|
New document=新文件
|
||||||
|
Blockquote=引用
|
||||||
|
Numbered list=編號列表
|
||||||
|
Increase indent=增加縮進
|
||||||
|
Formats=格式
|
||||||
|
Headers=標題
|
||||||
|
Select all=全選
|
||||||
|
Header 3=標題3
|
||||||
|
Blocks=區塊
|
||||||
|
Undo=撤消
|
||||||
|
Strikethrough=刪除線
|
||||||
|
Bullet list=項目符號
|
||||||
|
Header 1=標題1
|
||||||
|
Superscript=上標
|
||||||
|
Clear formatting=清除格式
|
||||||
|
Font Sizes=字體大小
|
||||||
|
Subscript=下標
|
||||||
|
Header 6=標題6
|
||||||
|
Redo=重作
|
||||||
|
Paragraph=段落
|
||||||
|
Ok=確定
|
||||||
|
Bold=粗體
|
||||||
|
Code=代碼
|
||||||
|
Italic=斜體
|
||||||
|
Align center=置中
|
||||||
|
Header 5=標題5
|
||||||
|
Decrease indent=減少縮進
|
||||||
|
Header 4=標題4
|
||||||
|
Convert Code=轉換成文本
|
||||||
|
toggleCode=ctrl+shift+c 切換代碼
|
||||||
|
Language=代碼語言
|
||||||
|
`ctrl/cmd+shift+c` toggle code=`ctrl/cmd+shift+c` 切換代碼
|
||||||
|
Toggle ace with raw html=Ace代碼與普通Pre代碼切換
|
||||||
|
Inline Code=<code>
|
||||||
|
Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.=當前為純文本貼上模式,再次點擊可以回到普通貼上模式。
|
||||||
|
Underline=下劃線
|
||||||
|
Cancel=取消
|
||||||
|
Justify=分散段期
|
||||||
|
Inline=文本
|
||||||
|
Copy=複製
|
||||||
|
Align left=靠左對齊
|
||||||
|
Visual aids=網格線
|
||||||
|
Lower Greek=小寫希臘字母
|
||||||
|
Square=方塊
|
||||||
|
Default=預設
|
||||||
|
Lower Alpha=小寫英文字母
|
||||||
|
Circle=空心圓
|
||||||
|
Disc=實心圓
|
||||||
|
Upper Alpha=大寫英文字母
|
||||||
|
Upper Roman=大寫羅馬字母
|
||||||
|
Lower Roman=小寫羅馬字母
|
||||||
|
Name=名稱
|
||||||
|
Anchor=錨點
|
||||||
|
You have unsaved changes are you sure you want to navigate away?=你還有檔案尚未保存,確定要離開?
|
||||||
|
Restore last draft=恢復上次的草稿
|
||||||
|
Special character=特殊符號
|
||||||
|
Source code=原始碼
|
||||||
|
Right to left=從右到左
|
||||||
|
Left to right=從左到右
|
||||||
|
Emoticons=表情
|
||||||
|
Robots=機器人
|
||||||
|
Document properties=文件屬性
|
||||||
|
Title=標題
|
||||||
|
Keywords=關鍵詞
|
||||||
|
Encoding=編碼
|
||||||
|
Description=描述
|
||||||
|
Author=作者
|
||||||
|
Fullscreen=全螢幕
|
||||||
|
Horizontal line=水平分割線
|
||||||
|
Horizontal space=水平邊距
|
||||||
|
Insert\/edit image=上傳/插入圖片
|
||||||
|
Insert\/edit mind map=新建/編輯心智圖
|
||||||
|
Insert Mind Map=插入心智圖
|
||||||
|
Mind Map=心智圖
|
||||||
|
Image=圖片
|
||||||
|
Insert Image=插入
|
||||||
|
General=普通
|
||||||
|
Advanced=進階
|
||||||
|
Source=地址
|
||||||
|
Border=邊框
|
||||||
|
Constrain proportions=保持長寬比
|
||||||
|
Vertical space=垂直邊距
|
||||||
|
Image description=圖片描述
|
||||||
|
Style=樣式
|
||||||
|
Dimensions=大小
|
||||||
|
Insert image=插入圖片
|
||||||
|
Insert date\/time=插入日期\/時間
|
||||||
|
Remove link=刪除連結
|
||||||
|
Url=地址
|
||||||
|
Text to display=顯示文字
|
||||||
|
Anchors=錨點
|
||||||
|
Insert link=插入連結
|
||||||
|
New window=在新窗口打開
|
||||||
|
None=無
|
||||||
|
Target=打開方式
|
||||||
|
Insert\/edit link=插入\/編輯連結
|
||||||
|
Insert\/edit video=插入\/編輯視頻
|
||||||
|
Poster=封面
|
||||||
|
Alternative source=鏡像
|
||||||
|
Paste your embed code below:=將內嵌代碼貼上在下面:
|
||||||
|
Insert video=插入視頻
|
||||||
|
Embed=內嵌
|
||||||
|
Nonbreaking space=不間斷空格
|
||||||
|
Page break=分頁符號
|
||||||
|
Paste as text=未格式化文字
|
||||||
|
Preview=預覽
|
||||||
|
Print=列印
|
||||||
|
Save=儲存
|
||||||
|
Could not find the specified string.=沒有找到搜索內容.
|
||||||
|
Replace=取代
|
||||||
|
Next=下一個
|
||||||
|
Whole words=全文匹配
|
||||||
|
Find and replace=尋找和取代
|
||||||
|
Replace with=取代為
|
||||||
|
Find=尋找
|
||||||
|
Replace all=全部取代
|
||||||
|
Match case=區分大小寫
|
||||||
|
Prev=上一個
|
||||||
|
Spellcheck=拼寫檢查
|
||||||
|
Finish=完成
|
||||||
|
Ignore all=全部忽略
|
||||||
|
Ignore=忽略
|
||||||
|
Insert row before=在上方插入
|
||||||
|
Rows=行
|
||||||
|
Height=高
|
||||||
|
Paste row after=貼上到下方
|
||||||
|
Alignment=對齊方式
|
||||||
|
Column group=列組
|
||||||
|
Row=行
|
||||||
|
Insert column before=在左側插入
|
||||||
|
Split cell=拆分單元格
|
||||||
|
Cell padding=單元格內邊距
|
||||||
|
Cell spacing=單元格外間距
|
||||||
|
Row type=行類型
|
||||||
|
Insert table=插入表格
|
||||||
|
Body=表體
|
||||||
|
Caption=標題
|
||||||
|
Footer=表尾
|
||||||
|
Delete row=刪除行
|
||||||
|
Paste row before=貼上到上方
|
||||||
|
Scope=範圍
|
||||||
|
Delete table=刪除表格
|
||||||
|
Header cell=表頭單元格
|
||||||
|
Column=列
|
||||||
|
Cell=單元格
|
||||||
|
Header=表頭
|
||||||
|
Cell type=單元格類型
|
||||||
|
Copy row=複製行
|
||||||
|
Row properties=行屬性
|
||||||
|
Table properties=表格屬性
|
||||||
|
Row group=行組
|
||||||
|
Right=靠右對齊
|
||||||
|
Insert column after=在右側插入
|
||||||
|
Cols=列
|
||||||
|
Insert row after=在下方插入
|
||||||
|
Width=寬
|
||||||
|
Cell properties=單元格屬性
|
||||||
|
Left=左對齊
|
||||||
|
Cut row=剪切行
|
||||||
|
Delete column=刪除列
|
||||||
|
Center=居中
|
||||||
|
Merge cells=合並單元格
|
||||||
|
Insert template=插入模板
|
||||||
|
Templates=模板
|
||||||
|
Background color=背景色
|
||||||
|
Text color=文字顏色
|
||||||
|
Show blocks=顯示區塊邊框
|
||||||
|
Show invisible characters=顯示不可見字符
|
||||||
|
Words: {0}=字數:{0}
|
||||||
|
Insert=插入
|
||||||
|
File=文件
|
||||||
|
Edit=編輯
|
||||||
|
Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help=在編輯區按ALT-F9打開選單,按ALT-F10打開工具列,按ALT-0查看說明
|
||||||
|
Tools=工具
|
||||||
|
View=檢視
|
||||||
|
Table=表格
|
||||||
|
Format=格式
|
||||||
+56
-18
@@ -1,3 +1,45 @@
|
|||||||
|
@font-face {
|
||||||
|
font-family: 'leanote';
|
||||||
|
src: url('../../fonts/leanote-font3/leanote.eot?-vcf23i');
|
||||||
|
src: url('../../fonts/leanote-font3/leanote.eot?#iefix-vcf23i') format('embedded-opentype'), url('../../fonts/leanote-font3/leanote.ttf?-vcf23i') format('truetype'), url('../../fonts/leanote-font3/leanote.woff?-vcf23i') format('woff'), url('../../fonts/leanote-font3/leanote.svg?-vcf23i#leanote') format('svg');
|
||||||
|
font-weight: normal;
|
||||||
|
font-style: normal;
|
||||||
|
}
|
||||||
|
#logo,
|
||||||
|
.mce-i-mind,
|
||||||
|
.mce-i-ace-pre,
|
||||||
|
.lea-icon {
|
||||||
|
font-family: 'leanote' !important;
|
||||||
|
speak: none;
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: normal;
|
||||||
|
font-variant: normal;
|
||||||
|
text-transform: none;
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
-moz-osx-font-smoothing: grayscale;
|
||||||
|
}
|
||||||
|
.icon-markdown:before {
|
||||||
|
content: "\e604";
|
||||||
|
}
|
||||||
|
.mce-i-mind:before {
|
||||||
|
content: "\e602";
|
||||||
|
}
|
||||||
|
.mce-i-ace-pre:before {
|
||||||
|
content: "\e603";
|
||||||
|
}
|
||||||
|
#logo:before {
|
||||||
|
content: "\e901";
|
||||||
|
line-height: 1;
|
||||||
|
margin-top: 5px;
|
||||||
|
display: inline-block;
|
||||||
|
vertical-align: top;
|
||||||
|
}
|
||||||
|
#logo.icon-only:before {
|
||||||
|
content: "\e902";
|
||||||
|
}
|
||||||
|
.lang-zh-cn #logo:before {
|
||||||
|
content: "\e900";
|
||||||
|
}
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Open Sans';
|
font-family: 'Open Sans';
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
@@ -22,14 +64,6 @@
|
|||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
src: local('Open Sans Italic'), local('OpenSans-Italic'), url('../../fonts/open-sans2/xjAJXh38I15wypJXxuGMBobN6UDyHWBl620a-IRfuBk.woff') format('woff');
|
src: local('Open Sans Italic'), local('OpenSans-Italic'), url('../../fonts/open-sans2/xjAJXh38I15wypJXxuGMBobN6UDyHWBl620a-IRfuBk.woff') format('woff');
|
||||||
}
|
}
|
||||||
/* leanote */
|
|
||||||
@font-face {
|
|
||||||
font-family: 'leanoteregular';
|
|
||||||
src: url('../../fonts/leanote/leanote-regular-webfont.eot');
|
|
||||||
src: url('../../fonts/leanote/leanote-regular-webfont.eot?#iefix') format('embedded-opentype'), url('../../fonts/leanote/leanote-regular-webfont.woff') format('woff'), url('../../fonts/leanote/leanote-regular-webfont.ttf') format('truetype'), url('../../fonts/leanote/leanote-regular-webfont.svg#leanoteregular') format('svg');
|
|
||||||
font-weight: normal;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
::selection {
|
::selection {
|
||||||
background: #000000;
|
background: #000000;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
@@ -52,20 +86,24 @@ h2,
|
|||||||
h3 {
|
h3 {
|
||||||
font-family: 'Open Sans', '微软雅黑', Arial, Tahoma, sans-serif;
|
font-family: 'Open Sans', '微软雅黑', Arial, Tahoma, sans-serif;
|
||||||
}
|
}
|
||||||
#logo a {
|
.navbar-brand {
|
||||||
font-family: "leanoteregular";
|
height: 45px;
|
||||||
font-size: 32px;
|
|
||||||
display: block;
|
|
||||||
float: left;
|
|
||||||
margin-top: -5px;
|
|
||||||
}
|
}
|
||||||
#logo div {
|
.logo-ctn {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
.logo-ctn #logo {
|
||||||
|
float: left;
|
||||||
|
padding-right: 3px;
|
||||||
|
}
|
||||||
|
.logo-ctn #logo:before {
|
||||||
|
line-height: 38px;
|
||||||
|
font-size: 28px;
|
||||||
|
}
|
||||||
|
.logo-ctn .logo-title {
|
||||||
float: left;
|
float: left;
|
||||||
line-height: 50px;
|
line-height: 50px;
|
||||||
}
|
}
|
||||||
#logo a:before {
|
|
||||||
content: "a";
|
|
||||||
}
|
|
||||||
.animated {
|
.animated {
|
||||||
-webkit-animation-fill-mode: both;
|
-webkit-animation-fill-mode: both;
|
||||||
-moz-animation-fill-mode: both;
|
-moz-animation-fill-mode: both;
|
||||||
|
|||||||
+15
-23
@@ -13,6 +13,8 @@
|
|||||||
@containerWidth: 945px;
|
@containerWidth: 945px;
|
||||||
@titleColor: #5AD4A0;
|
@titleColor: #5AD4A0;
|
||||||
|
|
||||||
|
@import "../../css/theme/includes/icon.less";
|
||||||
|
|
||||||
// font
|
// font
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Open Sans';
|
font-family: 'Open Sans';
|
||||||
@@ -38,17 +40,7 @@
|
|||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
src: local('Open Sans Italic'), local('OpenSans-Italic'), url('../../fonts/open-sans2/xjAJXh38I15wypJXxuGMBobN6UDyHWBl620a-IRfuBk.woff') format('woff');
|
src: local('Open Sans Italic'), local('OpenSans-Italic'), url('../../fonts/open-sans2/xjAJXh38I15wypJXxuGMBobN6UDyHWBl620a-IRfuBk.woff') format('woff');
|
||||||
}
|
}
|
||||||
/* leanote */
|
|
||||||
@font-face {
|
|
||||||
font-family: 'leanoteregular';
|
|
||||||
src: url('../../fonts/leanote/leanote-regular-webfont.eot');
|
|
||||||
src: url('../../fonts/leanote/leanote-regular-webfont.eot?#iefix') format('embedded-opentype'),
|
|
||||||
url('../../fonts/leanote/leanote-regular-webfont.woff') format('woff'),
|
|
||||||
url('../../fonts/leanote/leanote-regular-webfont.ttf') format('truetype'),
|
|
||||||
url('../../fonts/leanote/leanote-regular-webfont.svg#leanoteregular') format('svg');
|
|
||||||
font-weight: normal;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
@selectionBg: @aBlackColor;
|
@selectionBg: @aBlackColor;
|
||||||
@selectionColor: #fff;
|
@selectionColor: #fff;
|
||||||
@@ -64,25 +56,25 @@ html,body {
|
|||||||
h1, h2, h3 {
|
h1, h2, h3 {
|
||||||
font-family: @fontFamily;
|
font-family: @fontFamily;
|
||||||
}
|
}
|
||||||
|
.navbar-brand {
|
||||||
#logo {
|
height: 45px;
|
||||||
a {
|
}
|
||||||
font-family: "leanoteregular";
|
.logo-ctn {
|
||||||
font-size: 32px;
|
display: block;
|
||||||
display: block;
|
#logo {
|
||||||
float: left;
|
float: left;
|
||||||
margin-top: -5px;
|
padding-right: 3px;
|
||||||
|
&:before {
|
||||||
|
line-height: 38px;
|
||||||
|
font-size: 28px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
div {
|
.logo-title {
|
||||||
float: left;
|
float: left;
|
||||||
line-height: 50px;
|
line-height: 50px;
|
||||||
}
|
}
|
||||||
a:before {
|
|
||||||
content: "a";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
//------------
|
//------------
|
||||||
.animated {
|
.animated {
|
||||||
|
|||||||
@@ -1,325 +0,0 @@
|
|||||||
.entry-controls {
|
|
||||||
text-align: right;
|
|
||||||
padding-top: 20px;
|
|
||||||
margin-top: 20px;
|
|
||||||
margin-bottom: 10px;
|
|
||||||
border-top: 1px solid #f1f2f3;
|
|
||||||
}
|
|
||||||
.entry-controls .right-section {
|
|
||||||
float: right;
|
|
||||||
color: #9d9e9f;
|
|
||||||
}
|
|
||||||
.entry-controls .right-section a {
|
|
||||||
color: #9d9e9f;
|
|
||||||
}
|
|
||||||
.post-menu-button {
|
|
||||||
padding-bottom: 10px;
|
|
||||||
}
|
|
||||||
.ui-menu-button {
|
|
||||||
position: relative;
|
|
||||||
display: inline-block;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
.entry-controls .control-item {
|
|
||||||
margin-left: 15px;
|
|
||||||
color: #9d9e9f;
|
|
||||||
font-size: 15px;
|
|
||||||
opacity: 1;
|
|
||||||
-webkit-transition: all 0.05s ease-in-out;
|
|
||||||
-moz-transition: all 0.05s ease-in-out;
|
|
||||||
-o-transition: all 0.05s ease-in-out;
|
|
||||||
transition: all 0.05s ease-in-out;
|
|
||||||
}
|
|
||||||
.vote-section-wrapper {
|
|
||||||
display: inline-block;
|
|
||||||
float: left;
|
|
||||||
}
|
|
||||||
.entry-controls .voters {
|
|
||||||
display: block;
|
|
||||||
margin-top: 52px;
|
|
||||||
height: 25px;
|
|
||||||
clear: both;
|
|
||||||
}
|
|
||||||
.entry-controls .voters .more-voters,
|
|
||||||
.entry-controls .voters .voter {
|
|
||||||
width: 25px;
|
|
||||||
height: 25px;
|
|
||||||
position: relative;
|
|
||||||
margin: 0 8px 8px 0;
|
|
||||||
float: left;
|
|
||||||
}
|
|
||||||
.entry-controls .voters .voter > img {
|
|
||||||
float: left;
|
|
||||||
}
|
|
||||||
.avatar-small {
|
|
||||||
width: 25px;
|
|
||||||
height: 25px;
|
|
||||||
border-radius: 50%;
|
|
||||||
}
|
|
||||||
.comment-box {
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
font-size: 16px;
|
|
||||||
}
|
|
||||||
.comment-box a {
|
|
||||||
font-size: 16px;
|
|
||||||
}
|
|
||||||
.comment-box .box-header {
|
|
||||||
border-top: 1px solid #f1f2f3;
|
|
||||||
font-size: 15px;
|
|
||||||
color: #9d9e9f;
|
|
||||||
padding: 30px 0 10px;
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
.comment-box .box-header .icon {
|
|
||||||
margin-right: 8px;
|
|
||||||
vertical-align: -3px;
|
|
||||||
}
|
|
||||||
.comment-box .box-header a.comment-options {
|
|
||||||
margin-left: 10px;
|
|
||||||
}
|
|
||||||
@media screen and (max-width: 600px) {
|
|
||||||
.comment-box .box-header {
|
|
||||||
padding-left: 17px;
|
|
||||||
padding-right: 17px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.comment-box .load-more {
|
|
||||||
height: 26px;
|
|
||||||
margin-top: 15px;
|
|
||||||
padding-top: 24px;
|
|
||||||
text-align: center;
|
|
||||||
font-size: 15px;
|
|
||||||
border-top: solid 1px #f1f2f3;
|
|
||||||
}
|
|
||||||
.comment-box .load-more a {
|
|
||||||
color: #9d9e9f;
|
|
||||||
}
|
|
||||||
.comment-box .ui-spinner {
|
|
||||||
margin: 0 auto;
|
|
||||||
}
|
|
||||||
.comment-box .ui-spinner.small {
|
|
||||||
position: relative;
|
|
||||||
left: 10px;
|
|
||||||
}
|
|
||||||
.comment-box.empty.cannot-comment {
|
|
||||||
border: 1px solid #dddddd;
|
|
||||||
}
|
|
||||||
.comment-box.cannot-comment .editable,
|
|
||||||
.comment-box.cannot-comment .editable,
|
|
||||||
.comment-box.comment-box.cannot-comment .command,
|
|
||||||
.comment-box.comment-box.cannot-comment .op-link.reply {
|
|
||||||
display: none !important;
|
|
||||||
}
|
|
||||||
.comment-box.empty.cannot-comment .comment-form {
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
.comment-box.empty.cannot-comment .comment-box-ft {
|
|
||||||
background: #ffffff;
|
|
||||||
}
|
|
||||||
.comment-box.empty.cannot-comment .comment-box-ft,
|
|
||||||
.comment-box .comment-box-ft {
|
|
||||||
position: relative;
|
|
||||||
margin-top: 0;
|
|
||||||
}
|
|
||||||
.comment-box .avatar {
|
|
||||||
width: 40px;
|
|
||||||
height: 40px;
|
|
||||||
border-radius: 20px;
|
|
||||||
float: left;
|
|
||||||
}
|
|
||||||
.comment-box .message {
|
|
||||||
margin-top: 24px;
|
|
||||||
padding: 10px;
|
|
||||||
border-radius: 4px;
|
|
||||||
text-align: center;
|
|
||||||
background: #F7F8F9;
|
|
||||||
color: #9d9e9f;
|
|
||||||
}
|
|
||||||
.comment-item {
|
|
||||||
position: relative;
|
|
||||||
list-style: none;
|
|
||||||
outline: 0;
|
|
||||||
padding: 15px 0;
|
|
||||||
border-bottom: solid 1px #f1f2f3;
|
|
||||||
}
|
|
||||||
.item-highlight * {
|
|
||||||
border-radius: 5px;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
@media screen and (max-width: 600px) {
|
|
||||||
.comment-item {
|
|
||||||
padding-left: 17px;
|
|
||||||
padding-right: 17px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.comment-item > .avatar-link {
|
|
||||||
float: left;
|
|
||||||
margin: 4px 0 0;
|
|
||||||
}
|
|
||||||
.comment-item > .comment-body {
|
|
||||||
margin: 0 0 0 60px;
|
|
||||||
}
|
|
||||||
.comment-item .comment-content {
|
|
||||||
min-height: 22px;
|
|
||||||
font-size: 15px;
|
|
||||||
word-wrap: break-word;
|
|
||||||
padding: 5px 0;
|
|
||||||
}
|
|
||||||
.comment-item .comment-hd,
|
|
||||||
.comment-item .comment-ft {
|
|
||||||
color: #9d9e9f;
|
|
||||||
}
|
|
||||||
.comment-item .comment-hd .desc,
|
|
||||||
.comment-item .comment-ft .desc {
|
|
||||||
font-size: 15px;
|
|
||||||
}
|
|
||||||
.comment-item .comment-ft {
|
|
||||||
font-size: 15px;
|
|
||||||
}
|
|
||||||
.comment-item .op-link {
|
|
||||||
color: #9d9e9f;
|
|
||||||
font-size: 15px;
|
|
||||||
margin-left: 12px;
|
|
||||||
}
|
|
||||||
.comment-item .op-link {
|
|
||||||
visibility: hidden;
|
|
||||||
}
|
|
||||||
@media screen and (max-width: 420px) {
|
|
||||||
.comment-item .op-link .icon {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.comment-item .like-num {
|
|
||||||
float: right;
|
|
||||||
}
|
|
||||||
.comment-item .like-num.nil {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
.comment-item:hover .op-link {
|
|
||||||
visibility: visible;
|
|
||||||
}
|
|
||||||
.comment-form.comment-reply-form {
|
|
||||||
padding: 20px 0;
|
|
||||||
}
|
|
||||||
.comment-form .row {
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
.comment-form .editable {
|
|
||||||
padding: 6px 12px;
|
|
||||||
font-size: 16px;
|
|
||||||
min-height: 18px;
|
|
||||||
line-height: 26px;
|
|
||||||
white-space: pre-wrap;
|
|
||||||
width: 100%;
|
|
||||||
color: #222;
|
|
||||||
cursor: text;
|
|
||||||
border: 1px solid #DDD;
|
|
||||||
border-radius: 4px;
|
|
||||||
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) inset;
|
|
||||||
background: #e6eaed;
|
|
||||||
color: #747f8c;
|
|
||||||
}
|
|
||||||
#commentForm {
|
|
||||||
border-top: solid 1px #f1f2f3;
|
|
||||||
padding: 10px 0;
|
|
||||||
}
|
|
||||||
.comment-form .editable:focus {
|
|
||||||
outline: none;
|
|
||||||
border: 1px solid #cccccc;
|
|
||||||
}
|
|
||||||
.comment-form > .command {
|
|
||||||
display: none;
|
|
||||||
margin-top: 20px;
|
|
||||||
padding-bottom: 0;
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
.comment-form > .command .save {
|
|
||||||
float: right;
|
|
||||||
}
|
|
||||||
.comment-form > .command .cancel {
|
|
||||||
color: #9d9e9f;
|
|
||||||
vertical-align: -7px;
|
|
||||||
margin-right: 10px;
|
|
||||||
}
|
|
||||||
.comment-form.expanded .command {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
.comment-form > .avatar + .editable {
|
|
||||||
margin-left: 60px;
|
|
||||||
}
|
|
||||||
#comments {
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
#comments form {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
@media screen and (max-width: 600px) {
|
|
||||||
.comment-form {
|
|
||||||
padding-left: 17px;
|
|
||||||
padding-right: 17px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.btn-zan {
|
|
||||||
border-radius: 50px;
|
|
||||||
}
|
|
||||||
.btn-weibo {
|
|
||||||
border-radius: 50px;
|
|
||||||
color: #d44137;
|
|
||||||
border-color: #d44137;
|
|
||||||
}
|
|
||||||
.btn-weibo:hover {
|
|
||||||
color: #fff;
|
|
||||||
background: #d44137;
|
|
||||||
}
|
|
||||||
.btn-weixin {
|
|
||||||
color: #38ad5a;
|
|
||||||
border-color: #38ad5a;
|
|
||||||
border-radius: 50px;
|
|
||||||
}
|
|
||||||
.btn-weixin:hover {
|
|
||||||
color: #fff;
|
|
||||||
background: #38ad5a;
|
|
||||||
}
|
|
||||||
.reply-comment-btn {
|
|
||||||
width: 100px;
|
|
||||||
}
|
|
||||||
.avatar-wrap {
|
|
||||||
float: left;
|
|
||||||
}
|
|
||||||
.editor-wrap {
|
|
||||||
margin-left: 60px;
|
|
||||||
}
|
|
||||||
#weixinQRCode {
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
.report-form ul {
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
.report-form .options > li {
|
|
||||||
list-style: none;
|
|
||||||
display: block;
|
|
||||||
line-height: 2;
|
|
||||||
color: #666768;
|
|
||||||
}
|
|
||||||
.report-form .options input {
|
|
||||||
margin-right: 10px;
|
|
||||||
vertical-align: 1px;
|
|
||||||
}
|
|
||||||
.footnote {
|
|
||||||
color: red;
|
|
||||||
}
|
|
||||||
#moreComments {
|
|
||||||
padding: 20px 0;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
.needLogin {
|
|
||||||
padding: 20px 0;
|
|
||||||
text-align: center;
|
|
||||||
font-size: 18px;
|
|
||||||
border-top: 1px solid #f1f2f3;
|
|
||||||
}
|
|
||||||
.needLogin a {
|
|
||||||
font-size: 18px;
|
|
||||||
}
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
::selection{background:#000;color:#fff}::-moz-selection{background:#000;color:#fff}::-webkit-selection{background:#000;color:#fff}@-webkit-keyframes dropdown{0%{margin-top:-25px;opacity:0}90%{margin-top:2px}100%{margin-top:0;opacity:1}}@-moz-keyframes dropdown{0%{margin-top:-25px;opacity:0}90%{margin-top:2px}100%{margin-top:0;opacity:1}}@-ms-keyframes dropdown{0%{margin-top:-25px;opacity:0}90%{margin-top:2px}100%{margin-top:0;opacity:1}}@keyframes dropdown{0%{margin-top:-25px;opacity:0}90%{margin-top:2px}100%{margin-top:0;opacity:1}}@-webkit-keyframes pulldown{0%{top:0;opacity:0}90%{top:90%}100%{top:100%;opacity:1}}@-moz-keyframes pulldown{0%{top:0;opacity:0}90%{top:90%}100%{top:100%;opacity:1}}@-ms-keyframes pulldown{0%{top:0;opacity:0}90%{top:90%}100%{top:100%;opacity:1}}@keyframes pulldown{0%{top:0;opacity:0}90%{top:90%}100%{top:100%;opacity:1}}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-moz-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-o-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translateY(20px)}100%{opacity:1;-webkit-transform:translateY(0)}}@-moz-keyframes fadeInUp{0%{opacity:0;-moz-transform:translateY(20px)}100%{opacity:1;-moz-transform:translateY(0)}}@-o-keyframes fadeInUp{0%{opacity:0;-o-transform:translateY(20px)}100%{opacity:1;-o-transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}100%{opacity:1;transform:translateY(0)}}.animated{-webkit-animation-fill-mode:both;-moz-animation-fill-mode:both;-ms-animation-fill-mode:both;-o-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.5s;-moz-animation-duration:.5s;-ms-animation-duration:.5s;-o-animation-duration:.5s;animation-duration:.5s}.fadeIn{-webkit-animation-name:fadeIn;-moz-animation-name:fadeIn;-o-animation-name:fadeIn;animation-name:fadeIn}.fadeInUp{-webkit-animation-name:fadeInUp;-moz-animation-name:fadeInUp;-o-animation-name:fadeInUp;animation-name:fadeInUp}@font-face{font-family:leanote;src:url(../../fonts/leanote-font2/leanote.eot?-vcf23i);src:url(../../fonts/leanote-font2/leanote.eot?#iefix-vcf23i) format('embedded-opentype'),url(../../fonts/leanote-font2/leanote.ttf?-vcf23i) format('truetype'),url(../../fonts/leanote-font2/leanote.woff?-vcf23i) format('woff'),url(../../fonts/leanote-font2/leanote.svg?-vcf23i#leanote) format('svg');font-weight:400;font-style:normal}.close:focus{outline:0}.invisible{visibility:hidden}.btn{border-radius:2px}.alert{margin-bottom:10px}.btn *{cursor:pointer!important}.dropdown-submenu{position:relative}.dropdown-submenu>ul.dropdown-menu{top:0;left:100%;margin-left:-3px!important;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;padding-top:10px!important}.dropdown-submenu:hover>.dropdown-menu{display:block}.dropdown-submenu:after{display:block;content:" ";position:absolute;right:0;top:10px;width:0;height:0;border-color:transparent;border-style:solid;border-width:5px 0 5px 5px;border-left-color:#666}.dropdown-submenu:hover>a:after{border-left-color:#fff}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.open>.dropdown-menu,.dropdown-submenu:hover>.dropdown-menu{visibility:visible;-webkit-animation:pulldown .2s;animation:pulldown .2s}.dropdown-menu{visibility:hidden;display:block}.dropdown-list{width:530px;border-radius:3px}.dropdown-list ul{margin:0;padding:0}.dropdown-list ul li{float:left;width:120px;margin-left:10px;margin-bottom:10px;border:1px dashed #ccc}.dropdown-menu .divider{margin:3px 0}.dropdown-menu{border-radius:3px;margin:0;border:1px solid #e6eaed;box-shadow:rgba(0,0,0,.172549)0 6px 12px 0}.dropdown-menu:before{content:"";width:20px;height:12px;position:absolute;top:-12px;right:8px;background-image:url(../../images/triangle_2x.png);background-size:20px 12px}.dropdown-submenu .dropdown-menu:before{background:0 0}#searchNotebookForAddDropdownList,#searchNotebookForAddShareDropdownList{left:-200px}#searchNotebookForAddDropdownList:before,#searchNotebookForAddShareDropdownList:before{left:190px;right:inherit}.dropdown-menu li{list-style:none;padding-left:10px;width:100%;height:30px;line-height:30px}.dropdown-menu li>a{color:#000;display:block;padding-right:20px}.dropdown-menu>li>a{padding:3px 20px 3px 0}.noteSplit{position:absolute;top:0;width:5px;height:100%;overflow:hidden;z-index:3333;cursor:col-resize}a.raw{color:#428bca}a.raw:hover{color:#2a6496}.cm-item{position:relative}.cm-item .cm-text{position:absolute;left:23px;right:10px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cm-item .cm-text .c-text{display:initial}.b-m-mpanel{border-radius:3px}.modal-content{background-color:#f8f8f8}.modal-body{background-color:#fff;padding-bottom:30px}.modal-footer{margin-top:0}#editorTool,#newNoteWrap,#myBlog,.lea-blog,#myProfile,#toggleEditorMode,.Line truncated
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
html {
|
|
||||||
border: none;
|
|
||||||
}
|
|
||||||
body {
|
|
||||||
background-color: #fbfcf7;
|
|
||||||
}
|
|
||||||
* {
|
|
||||||
font-size: 16px;
|
|
||||||
}
|
|
||||||
pre {
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
img {
|
|
||||||
max-width: 100% !important;
|
|
||||||
}
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
html {
|
|
||||||
margin-top: 3px;
|
|
||||||
padding: 3px;
|
|
||||||
border: 1px solid #ebeff2;
|
|
||||||
border-radius: 5px;
|
|
||||||
-webkit-border-radius: 5px;
|
|
||||||
border-width: 1px;
|
|
||||||
box-shadow: none;
|
|
||||||
}
|
|
||||||
* {
|
|
||||||
font-family: Helvetica, Tahoma, Arial, Hiragino Sans GB, "Microsoft YaHei", "微软雅黑", "Micro Hei", SimSun, "宋体", Heiti, "黑体", sans-serif;
|
|
||||||
}
|
|
||||||
.mce-item-table,
|
|
||||||
.mce-item-table td,
|
|
||||||
.mce-item-table th,
|
|
||||||
.mce-item-table caption {
|
|
||||||
border: 1px solid #9B9898;
|
|
||||||
border-collapse: collapse;
|
|
||||||
}
|
|
||||||
img {
|
|
||||||
max-width: 100% !important;
|
|
||||||
}
|
|
||||||
@media screen and (max-width: 500px) {
|
|
||||||
* {
|
|
||||||
font-size: 16px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
::selection{background:#000;color:#fff}::-moz-selection{background:#000;color:#fff}::-webkit-selection{background:#000;color:#fff}@-webkit-keyframes dropdown{0%{margin-top:-25px;opacity:0}90%{margin-top:2px}100%{margin-top:0;opacity:1}}@-moz-keyframes dropdown{0%{margin-top:-25px;opacity:0}90%{margin-top:2px}100%{margin-top:0;opacity:1}}@-ms-keyframes dropdown{0%{margin-top:-25px;opacity:0}90%{margin-top:2px}100%{margin-top:0;opacity:1}}@keyframes dropdown{0%{margin-top:-25px;opacity:0}90%{margin-top:2px}100%{margin-top:0;opacity:1}}@-webkit-keyframes pulldown{0%{top:0;opacity:0}90%{top:90%}100%{top:100%;opacity:1}}@-moz-keyframes pulldown{0%{top:0;opacity:0}90%{top:90%}100%{top:100%;opacity:1}}@-ms-keyframes pulldown{0%{top:0;opacity:0}90%{top:90%}100%{top:100%;opacity:1}}@keyframes pulldown{0%{top:0;opacity:0}90%{top:90%}100%{top:100%;opacity:1}}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-moz-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-o-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translateY(20px)}100%{opacity:1;-webkit-transform:translateY(0)}}@-moz-keyframes fadeInUp{0%{opacity:0;-moz-transform:translateY(20px)}100%{opacity:1;-moz-transform:translateY(0)}}@-o-keyframes fadeInUp{0%{opacity:0;-o-transform:translateY(20px)}100%{opacity:1;-o-transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}100%{opacity:1;transform:translateY(0)}}.animated{-webkit-animation-fill-mode:both;-moz-animation-fill-mode:both;-ms-animation-fill-mode:both;-o-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.5s;-moz-animation-duration:.5s;-ms-animation-duration:.5s;-o-animation-duration:.5s;animation-duration:.5s}.fadeIn{-webkit-animation-name:fadeIn;-moz-animation-name:fadeIn;-o-animation-name:fadeIn;animation-name:fadeIn}.fadeInUp{-webkit-animation-name:fadeInUp;-moz-animation-name:fadeInUp;-o-animation-name:fadeInUp;animation-name:fadeInUp}@font-face{font-family:leanote;src:url(../../fonts/leanote-font2/leanote.eot?-vcf23i);src:url(../../fonts/leanote-font2/leanote.eot?#iefix-vcf23i) format('embedded-opentype'),url(../../fonts/leanote-font2/leanote.ttf?-vcf23i) format('truetype'),url(../../fonts/leanote-font2/leanote.woff?-vcf23i) format('woff'),url(../../fonts/leanote-font2/leanote.svg?-vcf23i#leanote) format('svg');font-weight:400;font-style:normal}.close:focus{outline:0}.invisible{visibility:hidden}.btn{border-radius:2px}.alert{margin-bottom:10px}.btn *{cursor:pointer!important}.dropdown-submenu{position:relative}.dropdown-submenu>ul.dropdown-menu{top:0;left:100%;margin-left:-3px!important;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;padding-top:10px!important}.dropdown-submenu:hover>.dropdown-menu{display:block}.dropdown-submenu:after{display:block;content:" ";position:absolute;right:0;top:10px;width:0;height:0;border-color:transparent;border-style:solid;border-width:5px 0 5px 5px;border-left-color:#666}.dropdown-submenu:hover>a:after{border-left-color:#fff}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.open>.dropdown-menu,.dropdown-submenu:hover>.dropdown-menu{visibility:visible;-webkit-animation:pulldown .2s;animation:pulldown .2s}.dropdown-menu{visibility:hidden;display:block}.dropdown-list{width:530px;border-radius:3px}.dropdown-list ul{margin:0;padding:0}.dropdown-list ul li{float:left;width:120px;margin-left:10px;margin-bottom:10px;border:1px dashed #ccc}.dropdown-menu .divider{margin:3px 0}.dropdown-menu{border-radius:3px;margin:0;border:1px solid #e6eaed;box-shadow:rgba(0,0,0,.172549)0 6px 12px 0}.dropdown-menu:before{content:"";width:20px;height:12px;position:absolute;top:-12px;right:8px;background-image:url(../../images/triangle_2x.png);background-size:20px 12px}.dropdown-submenu .dropdown-menu:before{background:0 0}#searchNotebookForAddDropdownList,#searchNotebookForAddShareDropdownList{left:-200px}#searchNotebookForAddDropdownList:before,#searchNotebookForAddShareDropdownList:before{left:190px;right:inherit}.dropdown-menu li{list-style:none;padding-left:10px;width:100%;height:30px;line-height:30px}.dropdown-menu li>a{color:#000;display:block;padding-right:20px}.dropdown-menu>li>a{padding:3px 20px 3px 0}.noteSplit{position:absolute;top:0;width:5px;height:100%;overflow:hidden;z-index:3333;cursor:col-resize}a.raw{color:#428bca}a.raw:hover{color:#2a6496}.cm-item{position:relative}.cm-item .cm-text{position:absolute;left:23px;right:10px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cm-item .cm-text .c-text{display:initial}.b-m-mpanel{border-radius:3px}.modal-content{background-color:#f8f8f8}.modal-body{background-color:#fff;padding-bottom:30px}.modal-footer{margin-top:0}#editorTool,#newNoteWrap,#myBlog,.lea-blog,#myProfile,#toggleEditorMode,.Line truncated
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
::selection{background:#000;color:#fff}::-moz-selection{background:#000;color:#fff}::-webkit-selection{background:#000;color:#fff}@-webkit-keyframes dropdown{0%{margin-top:-25px;opacity:0}90%{margin-top:2px}100%{margin-top:0;opacity:1}}@-moz-keyframes dropdown{0%{margin-top:-25px;opacity:0}90%{margin-top:2px}100%{margin-top:0;opacity:1}}@-ms-keyframes dropdown{0%{margin-top:-25px;opacity:0}90%{margin-top:2px}100%{margin-top:0;opacity:1}}@keyframes dropdown{0%{margin-top:-25px;opacity:0}90%{margin-top:2px}100%{margin-top:0;opacity:1}}@-webkit-keyframes pulldown{0%{top:0;opacity:0}90%{top:90%}100%{top:100%;opacity:1}}@-moz-keyframes pulldown{0%{top:0;opacity:0}90%{top:90%}100%{top:100%;opacity:1}}@-ms-keyframes pulldown{0%{top:0;opacity:0}90%{top:90%}100%{top:100%;opacity:1}}@keyframes pulldown{0%{top:0;opacity:0}90%{top:90%}100%{top:100%;opacity:1}}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-moz-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-o-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translateY(20px)}100%{opacity:1;-webkit-transform:translateY(0)}}@-moz-keyframes fadeInUp{0%{opacity:0;-moz-transform:translateY(20px)}100%{opacity:1;-moz-transform:translateY(0)}}@-o-keyframes fadeInUp{0%{opacity:0;-o-transform:translateY(20px)}100%{opacity:1;-o-transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}100%{opacity:1;transform:translateY(0)}}.animated{-webkit-animation-fill-mode:both;-moz-animation-fill-mode:both;-ms-animation-fill-mode:both;-o-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.5s;-moz-animation-duration:.5s;-ms-animation-duration:.5s;-o-animation-duration:.5s;animation-duration:.5s}.fadeIn{-webkit-animation-name:fadeIn;-moz-animation-name:fadeIn;-o-animation-name:fadeIn;animation-name:fadeIn}.fadeInUp{-webkit-animation-name:fadeInUp;-moz-animation-name:fadeInUp;-o-animation-name:fadeInUp;animation-name:fadeInUp}@font-face{font-family:leanote;src:url(../../fonts/leanote-font2/leanote.eot?-vcf23i);src:url(../../fonts/leanote-font2/leanote.eot?#iefix-vcf23i) format('embedded-opentype'),url(../../fonts/leanote-font2/leanote.ttf?-vcf23i) format('truetype'),url(../../fonts/leanote-font2/leanote.woff?-vcf23i) format('woff'),url(../../fonts/leanote-font2/leanote.svg?-vcf23i#leanote) format('svg');font-weight:400;font-style:normal}.close:focus{outline:0}.invisible{visibility:hidden}.btn{border-radius:2px}.alert{margin-bottom:10px}.btn *{cursor:pointer!important}.dropdown-submenu{position:relative}.dropdown-submenu>ul.dropdown-menu{top:0;left:100%;margin-left:-3px!important;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;padding-top:10px!important}.dropdown-submenu:hover>.dropdown-menu{display:block}.dropdown-submenu:after{display:block;content:" ";position:absolute;right:0;top:10px;width:0;height:0;border-color:transparent;border-style:solid;border-width:5px 0 5px 5px;border-left-color:#666}.dropdown-submenu:hover>a:after{border-left-color:#fff}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.open>.dropdown-menu,.dropdown-submenu:hover>.dropdown-menu{visibility:visible;-webkit-animation:pulldown .2s;animation:pulldown .2s}.dropdown-menu{visibility:hidden;display:block}.dropdown-list{width:530px;border-radius:3px}.dropdown-list ul{margin:0;padding:0}.dropdown-list ul li{float:left;width:120px;margin-left:10px;margin-bottom:10px;border:1px dashed #ccc}.dropdown-menu .divider{margin:3px 0}.dropdown-menu{border-radius:3px;margin:0;border:1px solid #e6eaed;box-shadow:rgba(0,0,0,.172549)0 6px 12px 0}.dropdown-menu:before{content:"";width:20px;height:12px;position:absolute;top:-12px;right:8px;background-image:url(../../images/triangle_2x.png);background-size:20px 12px}.dropdown-submenu .dropdown-menu:before{background:0 0}#searchNotebookForAddDropdownList,#searchNotebookForAddShareDropdownList{left:-200px}#searchNotebookForAddDropdownList:before,#searchNotebookForAddShareDropdownList:before{left:190px;right:inherit}.dropdown-menu li{list-style:none;padding-left:10px;width:100%;height:30px;line-height:30px}.dropdown-menu li>a{color:#000;display:block;padding-right:20px}.dropdown-menu>li>a{padding:3px 20px 3px 0}.noteSplit{position:absolute;top:0;width:5px;height:100%;overflow:hidden;z-index:3333;cursor:col-resize}a.raw{color:#428bca}a.raw:hover{color:#2a6496}.cm-item{position:relative}.cm-item .cm-text{position:absolute;left:23px;right:10px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cm-item .cm-text .c-text{display:initial}.b-m-mpanel{border-radius:3px}.modal-content{background-color:#f8f8f8}.modal-body{background-color:#fff;padding-bottom:30px}.modal-footer{margin-top:0}#editorTool,#newNoteWrap,#myBlog,.lea-blog,#myProfile,#toggleEditorMode,.Line truncated
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
::selection{background:#000;color:#fff}::-moz-selection{background:#000;color:#fff}::-webkit-selection{background:#000;color:#fff}@-webkit-keyframes dropdown{0%{margin-top:-25px;opacity:0}90%{margin-top:2px}100%{margin-top:0;opacity:1}}@-moz-keyframes dropdown{0%{margin-top:-25px;opacity:0}90%{margin-top:2px}100%{margin-top:0;opacity:1}}@-ms-keyframes dropdown{0%{margin-top:-25px;opacity:0}90%{margin-top:2px}100%{margin-top:0;opacity:1}}@keyframes dropdown{0%{margin-top:-25px;opacity:0}90%{margin-top:2px}100%{margin-top:0;opacity:1}}@-webkit-keyframes pulldown{0%{top:0;opacity:0}90%{top:90%}100%{top:100%;opacity:1}}@-moz-keyframes pulldown{0%{top:0;opacity:0}90%{top:90%}100%{top:100%;opacity:1}}@-ms-keyframes pulldown{0%{top:0;opacity:0}90%{top:90%}100%{top:100%;opacity:1}}@keyframes pulldown{0%{top:0;opacity:0}90%{top:90%}100%{top:100%;opacity:1}}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-moz-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-o-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translateY(20px)}100%{opacity:1;-webkit-transform:translateY(0)}}@-moz-keyframes fadeInUp{0%{opacity:0;-moz-transform:translateY(20px)}100%{opacity:1;-moz-transform:translateY(0)}}@-o-keyframes fadeInUp{0%{opacity:0;-o-transform:translateY(20px)}100%{opacity:1;-o-transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}100%{opacity:1;transform:translateY(0)}}.animated{-webkit-animation-fill-mode:both;-moz-animation-fill-mode:both;-ms-animation-fill-mode:both;-o-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.5s;-moz-animation-duration:.5s;-ms-animation-duration:.5s;-o-animation-duration:.5s;animation-duration:.5s}.fadeIn{-webkit-animation-name:fadeIn;-moz-animation-name:fadeIn;-o-animation-name:fadeIn;animation-name:fadeIn}.fadeInUp{-webkit-animation-name:fadeInUp;-moz-animation-name:fadeInUp;-o-animation-name:fadeInUp;animation-name:fadeInUp}@font-face{font-family:leanote;src:url(../../fonts/leanote-font2/leanote.eot?-vcf23i);src:url(../../fonts/leanote-font2/leanote.eot?#iefix-vcf23i) format('embedded-opentype'),url(../../fonts/leanote-font2/leanote.ttf?-vcf23i) format('truetype'),url(../../fonts/leanote-font2/leanote.woff?-vcf23i) format('woff'),url(../../fonts/leanote-font2/leanote.svg?-vcf23i#leanote) format('svg');font-weight:400;font-style:normal}.close:focus{outline:0}.invisible{visibility:hidden}.btn{border-radius:2px}.alert{margin-bottom:10px}.btn *{cursor:pointer!important}.dropdown-submenu{position:relative}.dropdown-submenu>ul.dropdown-menu{top:0;left:100%;margin-left:-3px!important;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;padding-top:10px!important}.dropdown-submenu:hover>.dropdown-menu{display:block}.dropdown-submenu:after{display:block;content:" ";position:absolute;right:0;top:10px;width:0;height:0;border-color:transparent;border-style:solid;border-width:5px 0 5px 5px;border-left-color:#666}.dropdown-submenu:hover>a:after{border-left-color:#fff}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.open>.dropdown-menu,.dropdown-submenu:hover>.dropdown-menu{visibility:visible;-webkit-animation:pulldown .2s;animation:pulldown .2s}.dropdown-menu{visibility:hidden;display:block}.dropdown-list{width:530px;border-radius:3px}.dropdown-list ul{margin:0;padding:0}.dropdown-list ul li{float:left;width:120px;margin-left:10px;margin-bottom:10px;border:1px dashed #ccc}.dropdown-menu .divider{margin:3px 0}.dropdown-menu{border-radius:3px;margin:0;border:1px solid #e6eaed;box-shadow:rgba(0,0,0,.172549)0 6px 12px 0}.dropdown-menu:before{content:"";width:20px;height:12px;position:absolute;top:-12px;right:8px;background-image:url(../../images/triangle_2x.png);background-size:20px 12px}.dropdown-submenu .dropdown-menu:before{background:0 0}#searchNotebookForAddDropdownList,#searchNotebookForAddShareDropdownList{left:-200px}#searchNotebookForAddDropdownList:before,#searchNotebookForAddShareDropdownList:before{left:190px;right:inherit}.dropdown-menu li{list-style:none;padding-left:10px;width:100%;height:30px;line-height:30px}.dropdown-menu li>a{color:#000;display:block;padding-right:20px}.dropdown-menu>li>a{padding:3px 20px 3px 0}.noteSplit{position:absolute;top:0;width:5px;height:100%;overflow:hidden;z-index:3333;cursor:col-resize}a.raw{color:#428bca}a.raw:hover{color:#2a6496}.cm-item{position:relative}.cm-item .cm-text{position:absolute;left:23px;right:10px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cm-item .cm-text .c-text{display:initial}.b-m-mpanel{border-radius:3px}.modal-content{background-color:#f8f8f8}.modal-body{background-color:#fff;padding-bottom:30px}.modal-footer{margin-top:0}#editorTool,#newNoteWrap,#myBlog,.lea-blog,#myProfile,#toggleEditorMode,.Line truncated
|
|
||||||
+52
-7
@@ -1,3 +1,45 @@
|
|||||||
|
@font-face {
|
||||||
|
font-family: 'leanote';
|
||||||
|
src: url('../../fonts/leanote-font3/leanote.eot?-vcf23i');
|
||||||
|
src: url('../../fonts/leanote-font3/leanote.eot?#iefix-vcf23i') format('embedded-opentype'), url('../../fonts/leanote-font3/leanote.ttf?-vcf23i') format('truetype'), url('../../fonts/leanote-font3/leanote.woff?-vcf23i') format('woff'), url('../../fonts/leanote-font3/leanote.svg?-vcf23i#leanote') format('svg');
|
||||||
|
font-weight: normal;
|
||||||
|
font-style: normal;
|
||||||
|
}
|
||||||
|
#logo,
|
||||||
|
.mce-i-mind,
|
||||||
|
.mce-i-ace-pre,
|
||||||
|
.lea-icon {
|
||||||
|
font-family: 'leanote' !important;
|
||||||
|
speak: none;
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: normal;
|
||||||
|
font-variant: normal;
|
||||||
|
text-transform: none;
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
-moz-osx-font-smoothing: grayscale;
|
||||||
|
}
|
||||||
|
.icon-markdown:before {
|
||||||
|
content: "\e604";
|
||||||
|
}
|
||||||
|
.mce-i-mind:before {
|
||||||
|
content: "\e602";
|
||||||
|
}
|
||||||
|
.mce-i-ace-pre:before {
|
||||||
|
content: "\e603";
|
||||||
|
}
|
||||||
|
#logo:before {
|
||||||
|
content: "\e901";
|
||||||
|
line-height: 1;
|
||||||
|
margin-top: 5px;
|
||||||
|
display: inline-block;
|
||||||
|
vertical-align: top;
|
||||||
|
}
|
||||||
|
#logo.icon-only:before {
|
||||||
|
content: "\e902";
|
||||||
|
}
|
||||||
|
.lang-zh-cn #logo:before {
|
||||||
|
content: "\e900";
|
||||||
|
}
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Open Sans';
|
font-family: 'Open Sans';
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
@@ -22,6 +64,11 @@
|
|||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
src: local('Open Sans Italic'), local('OpenSans-Italic'), url('../fonts/open-sans2/xjAJXh38I15wypJXxuGMBobN6UDyHWBl620a-IRfuBk.woff') format('woff');
|
src: local('Open Sans Italic'), local('OpenSans-Italic'), url('../fonts/open-sans2/xjAJXh38I15wypJXxuGMBobN6UDyHWBl620a-IRfuBk.woff') format('woff');
|
||||||
}
|
}
|
||||||
|
#logo {
|
||||||
|
font-size: 32px;
|
||||||
|
color: #000;
|
||||||
|
padding-top: 8px;
|
||||||
|
}
|
||||||
/*"HelveticaNeue-Light","Helvetica Neue Light","Helvetica Neue", Helvetica, "Microsoft Yahei", Verdana, Simsun, "Segoe UI", "Segoe UI Web Regular", "Segoe UI Symbol", "BBAlpha Sans", "S60 Sans", Arial, sans-serif;*/
|
/*"HelveticaNeue-Light","Helvetica Neue Light","Helvetica Neue", Helvetica, "Microsoft Yahei", Verdana, Simsun, "Segoe UI", "Segoe UI Web Regular", "Segoe UI Symbol", "BBAlpha Sans", "S60 Sans", Arial, sans-serif;*/
|
||||||
::selection {
|
::selection {
|
||||||
background: #000000;
|
background: #000000;
|
||||||
@@ -60,14 +107,13 @@ a:hover {
|
|||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
#headerContainer .navbar-brand {
|
#headerContainer .navbar-brand {
|
||||||
padding: 0;
|
|
||||||
padding-left: 10px;
|
padding-left: 10px;
|
||||||
line-height: 60px;
|
|
||||||
}
|
}
|
||||||
#headerContainer .navbar-brand img {
|
#headerContainer .navbar-brand img {
|
||||||
height: 50px;
|
height: 50px;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
margin-top: -5px;
|
margin-top: -5px;
|
||||||
|
padding: 8px;
|
||||||
}
|
}
|
||||||
#headerContainer .navbar-nav a {
|
#headerContainer .navbar-nav a {
|
||||||
line-height: 60px;
|
line-height: 60px;
|
||||||
@@ -687,14 +733,13 @@ input,
|
|||||||
opacity: 0;
|
opacity: 0;
|
||||||
}
|
}
|
||||||
.footer-leanote {
|
.footer-leanote {
|
||||||
margin-top: 20px;
|
margin-top: 20px;
|
||||||
color: #475F77;
|
color: #475F77;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
#footer .footer-leanote a {
|
#footer .footer-leanote a {
|
||||||
color: #475F77;
|
color: #475F77;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* news */
|
/* news */
|
||||||
.index-news a:hover {
|
.index-news a:hover {
|
||||||
text-decoration: underline !important;
|
text-decoration: underline !important;
|
||||||
|
|||||||
+10
-2
@@ -13,6 +13,8 @@
|
|||||||
@containerWidth: 945px;
|
@containerWidth: 945px;
|
||||||
@titleColor: #5AD4A0;
|
@titleColor: #5AD4A0;
|
||||||
|
|
||||||
|
@import "./theme/includes/icon.less";
|
||||||
|
|
||||||
// font
|
// font
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Open Sans';
|
font-family: 'Open Sans';
|
||||||
@@ -39,6 +41,12 @@
|
|||||||
src: local('Open Sans Italic'), local('OpenSans-Italic'), url('../fonts/open-sans2/xjAJXh38I15wypJXxuGMBobN6UDyHWBl620a-IRfuBk.woff') format('woff');
|
src: local('Open Sans Italic'), local('OpenSans-Italic'), url('../fonts/open-sans2/xjAJXh38I15wypJXxuGMBobN6UDyHWBl620a-IRfuBk.woff') format('woff');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#logo {
|
||||||
|
font-size: 32px;
|
||||||
|
color: #000;
|
||||||
|
padding-top: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
/*"HelveticaNeue-Light","Helvetica Neue Light","Helvetica Neue", Helvetica, "Microsoft Yahei", Verdana, Simsun, "Segoe UI", "Segoe UI Web Regular", "Segoe UI Symbol", "BBAlpha Sans", "S60 Sans", Arial, sans-serif;*/
|
/*"HelveticaNeue-Light","Helvetica Neue Light","Helvetica Neue", Helvetica, "Microsoft Yahei", Verdana, Simsun, "Segoe UI", "Segoe UI Web Regular", "Segoe UI Symbol", "BBAlpha Sans", "S60 Sans", Arial, sans-serif;*/
|
||||||
@selectionBg: @aBlackColor;
|
@selectionBg: @aBlackColor;
|
||||||
@selectionColor: #fff;
|
@selectionColor: #fff;
|
||||||
@@ -74,13 +82,13 @@ a:hover {
|
|||||||
box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.1);
|
box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.1);
|
||||||
margin: 0;
|
margin: 0;
|
||||||
.navbar-brand {
|
.navbar-brand {
|
||||||
padding: 0;
|
|
||||||
padding-left: 10px;
|
padding-left: 10px;
|
||||||
line-height: @headerHeight;
|
// line-height: @headerHeight;
|
||||||
img {
|
img {
|
||||||
height: 50px;
|
height: 50px;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
margin-top: -5px;
|
margin-top: -5px;
|
||||||
|
padding: 8px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.navbar-nav a {
|
.navbar-nav a {
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
@import "includes/animation.less";
|
@import "includes/animation.less";
|
||||||
@import "includes/common.less";
|
@import "includes/common.less";
|
||||||
|
@import "includes/icon.less";
|
||||||
@import "includes/header.less";
|
@import "includes/header.less";
|
||||||
@import "includes/page.less";
|
@import "includes/page.less";
|
||||||
|
|
||||||
@@ -21,43 +22,6 @@
|
|||||||
@import "includes/tag.less";
|
@import "includes/tag.less";
|
||||||
@import "includes/batch.less";
|
@import "includes/batch.less";
|
||||||
|
|
||||||
#logo,
|
|
||||||
#switcher span,
|
|
||||||
.mce-i-mind,
|
|
||||||
.mce-i-ace-pre,
|
|
||||||
.lea-icon
|
|
||||||
{
|
|
||||||
font-family: 'leanote' !important;
|
|
||||||
speak: none;
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: normal;
|
|
||||||
font-variant: normal;
|
|
||||||
text-transform: none;
|
|
||||||
|
|
||||||
/* Better Font Rendering =========== */
|
|
||||||
-webkit-font-smoothing: antialiased;
|
|
||||||
-moz-osx-font-smoothing: grayscale;
|
|
||||||
}
|
|
||||||
.icon-markdown:before {
|
|
||||||
content: "\e604";
|
|
||||||
}
|
|
||||||
.mce-i-mind:before {
|
|
||||||
content: "\e602";
|
|
||||||
}
|
|
||||||
.mce-i-ace-pre:before {
|
|
||||||
content: "\e603";
|
|
||||||
}
|
|
||||||
#logo:before {
|
|
||||||
content: "\e600";
|
|
||||||
line-height: 1;
|
|
||||||
margin-top: 5px;
|
|
||||||
display: inline-block;
|
|
||||||
vertical-align: top;
|
|
||||||
}
|
|
||||||
#switcher span:before {
|
|
||||||
content: "\e601";
|
|
||||||
}
|
|
||||||
|
|
||||||
*,.h1,
|
*,.h1,
|
||||||
.h2,
|
.h2,
|
||||||
.h3,
|
.h3,
|
||||||
@@ -103,7 +67,9 @@ h1, h2, h3 {
|
|||||||
|
|
||||||
@fontFamily: 'Open Sans', Helvetica, Tahoma, Arial, Hiragino Sans GB, "Microsoft YaHei", "微软雅黑", "Micro Hei", SimSun, "宋体", Heiti, "黑体", sans-serif;
|
@fontFamily: 'Open Sans', Helvetica, Tahoma, Arial, Hiragino Sans GB, "Microsoft YaHei", "微软雅黑", "Micro Hei", SimSun, "宋体", Heiti, "黑体", sans-serif;
|
||||||
// @fontFamily: Helvetica, Tahoma, Arial, Hiragino Sans GB, "Microsoft YaHei", "微软雅黑", "Micro Hei", SimSun, "宋体", Heiti, "黑体", sans-serif;
|
// @fontFamily: Helvetica, Tahoma, Arial, Hiragino Sans GB, "Microsoft YaHei", "微软雅黑", "Micro Hei", SimSun, "宋体", Heiti, "黑体", sans-serif;
|
||||||
@aceFontFamily: 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'source-code-pro', Hiragino Sans GB, "Microsoft YaHei", "微软雅黑";
|
@aceFontFamily: 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'source-code-pro', Hiragino Sans GB, "Microsoft YaHei", "微软雅黑", monospace, sans-serif;
|
||||||
|
// @fontFamily: PingFang SC,Hiragino Sans GB,Helvetica Neue,Microsoft Yahei,WenQuanYi Micro Hei,sans-serif;
|
||||||
|
@aceFontFamily: Menlo, 'Ubuntu Mono', Consolas, 'Courier New', 'Microsoft Yahei', 'Hiragino Sans GB', 'WenQuanYi Micro Hei', sans-serif;
|
||||||
|
|
||||||
// header
|
// header
|
||||||
@headerTextColor: #fff;
|
@headerTextColor: #fff;
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
::selection{background:#000;color:#fff}::-moz-selection{background:#000;color:#fff}::-webkit-selection{background:#000;color:#fff}@-webkit-keyframes dropdown{0%{margin-top:-25px;opacity:0}90%{margin-top:2px}100%{margin-top:0;opacity:1}}@-moz-keyframes dropdown{0%{margin-top:-25px;opacity:0}90%{margin-top:2px}100%{margin-top:0;opacity:1}}@-ms-keyframes dropdown{0%{margin-top:-25px;opacity:0}90%{margin-top:2px}100%{margin-top:0;opacity:1}}@keyframes dropdown{0%{margin-top:-25px;opacity:0}90%{margin-top:2px}100%{margin-top:0;opacity:1}}@-webkit-keyframes pulldown{0%{top:0;opacity:0}90%{top:90%}100%{top:100%;opacity:1}}@-moz-keyframes pulldown{0%{top:0;opacity:0}90%{top:90%}100%{top:100%;opacity:1}}@-ms-keyframes pulldown{0%{top:0;opacity:0}90%{top:90%}100%{top:100%;opacity:1}}@keyframes pulldown{0%{top:0;opacity:0}90%{top:90%}100%{top:100%;opacity:1}}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-moz-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-o-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translateY(20px)}100%{opacity:1;-webkit-transform:translateY(0)}}@-moz-keyframes fadeInUp{0%{opacity:0;-moz-transform:translateY(20px)}100%{opacity:1;-moz-transform:translateY(0)}}@-o-keyframes fadeInUp{0%{opacity:0;-o-transform:translateY(20px)}100%{opacity:1;-o-transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}100%{opacity:1;transform:translateY(0)}}.animated{-webkit-animation-fill-mode:both;-moz-animation-fill-mode:both;-ms-animation-fill-mode:both;-o-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.5s;-moz-animation-duration:.5s;-ms-animation-duration:.5s;-o-animation-duration:.5s;animation-duration:.5s}.fadeIn{-webkit-animation-name:fadeIn;-moz-animation-name:fadeIn;-o-animation-name:fadeIn;animation-name:fadeIn}.fadeInUp{-webkit-animation-name:fadeInUp;-moz-animation-name:fadeInUp;-o-animation-name:fadeInUp;animation-name:fadeInUp}@font-face{font-family:leanote;src:url(../../fonts/leanote-font2/leanote.eot?-vcf23i);src:url(../../fonts/leanote-font2/leanote.eot?#iefix-vcf23i) format('embedded-opentype'),url(../../fonts/leanote-font2/leanote.ttf?-vcf23i) format('truetype'),url(../../fonts/leanote-font2/leanote.woff?-vcf23i) format('woff'),url(../../fonts/leanote-font2/leanote.svg?-vcf23i#leanote) format('svg');font-weight:400;font-style:normal}.close:focus{outline:0}.invisible{visibility:hidden}.btn{border-radius:2px}.alert{margin-bottom:10px}.btn *{cursor:pointer!important}.dropdown-submenu{position:relative}.dropdown-submenu>ul.dropdown-menu{top:0;left:100%;margin-left:-3px!important;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;padding-top:10px!important}.dropdown-submenu:hover>.dropdown-menu{display:block}.dropdown-submenu:after{display:block;content:" ";position:absolute;right:0;top:10px;width:0;height:0;border-color:transparent;border-style:solid;border-width:5px 0 5px 5px;border-left-color:#666}.dropdown-submenu:hover>a:after{border-left-color:#fff}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.open>.dropdown-menu,.dropdown-submenu:hover>.dropdown-menu{visibility:visible;-webkit-animation:pulldown .2s;animation:pulldown .2s}.dropdown-menu{visibility:hidden;display:block}.dropdown-list{width:530px;border-radius:3px}.dropdown-list ul{margin:0;padding:0}.dropdown-list ul li{float:left;width:120px;margin-left:10px;margin-bottom:10px;border:1px dashed #ccc}.dropdown-menu .divider{margin:3px 0}.dropdown-menu{border-radius:3px;margin:0;border:1px solid #e6eaed;box-shadow:rgba(0,0,0,.172549)0 6px 12px 0}.dropdown-menu:before{content:"";width:20px;height:12px;position:absolute;top:-12px;right:8px;background-image:url(../../images/triangle_2x.png);background-size:20px 12px}.dropdown-submenu .dropdown-menu:before{background:0 0}#searchNotebookForAddDropdownList,#searchNotebookForAddShareDropdownList{left:-200px}#searchNotebookForAddDropdownList:before,#searchNotebookForAddShareDropdownList:before{left:190px;right:inherit}.dropdown-menu li{list-style:none;padding-left:10px;width:100%;height:30px;line-height:30px}.dropdown-menu li>a{color:#000;display:block;padding-right:20px}.dropdown-menu>li>a{padding:3px 20px 3px 0}.noteSplit{position:absolute;top:0;width:5px;height:100%;overflow:hidden;z-index:3333;cursor:col-resize}a.raw{color:#428bca}a.raw:hover{color:#2a6496}.cm-item{position:relative}.cm-item .cm-text{position:absolute;left:23px;right:10px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cm-item .cm-text .c-text{display:initial}.b-m-mpanel{border-radius:3px}.modal-content{background-color:#f8f8f8}.modal-body{background-color:#fff;padding-bottom:30px}.modal-footer{margin-top:0}#editorTool,#newNoteWrap,#myBlog,.lea-blog,#myProfile,#toggleEditorMode,.Line truncated
|
::selection{background:#000;color:#fff}::-moz-selection{background:#000;color:#fff}::-webkit-selection{background:#000;color:#fff}@-webkit-keyframes dropdown{0%{margin-top:-25px;opacity:0}90%{margin-top:2px}100%{margin-top:0;opacity:1}}@-moz-keyframes dropdown{0%{margin-top:-25px;opacity:0}90%{margin-top:2px}100%{margin-top:0;opacity:1}}@-ms-keyframes dropdown{0%{margin-top:-25px;opacity:0}90%{margin-top:2px}100%{margin-top:0;opacity:1}}@keyframes dropdown{0%{margin-top:-25px;opacity:0}90%{margin-top:2px}100%{margin-top:0;opacity:1}}@-webkit-keyframes pulldown{0%{top:0;opacity:0}90%{top:90%}100%{top:100%;opacity:1}}@-moz-keyframes pulldown{0%{top:0;opacity:0}90%{top:90%}100%{top:100%;opacity:1}}@-ms-keyframes pulldown{0%{top:0;opacity:0}90%{top:90%}100%{top:100%;opacity:1}}@keyframes pulldown{0%{top:0;opacity:0}90%{top:90%}100%{top:100%;opacity:1}}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-moz-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-o-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translateY(20px)}100%{opacity:1;-webkit-transform:translateY(0)}}@-moz-keyframes fadeInUp{0%{opacity:0;-moz-transform:translateY(20px)}100%{opacity:1;-moz-transform:translateY(0)}}@-o-keyframes fadeInUp{0%{opacity:0;-o-transform:translateY(20px)}100%{opacity:1;-o-transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}100%{opacity:1;transform:translateY(0)}}.animated{-webkit-animation-fill-mode:both;-moz-animation-fill-mode:both;-ms-animation-fill-mode:both;-o-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.5s;-moz-animation-duration:.5s;-ms-animation-duration:.5s;-o-animation-duration:.5s;animation-duration:.5s}.fadeIn{-webkit-animation-name:fadeIn;-moz-animation-name:fadeIn;-o-animation-name:fadeIn;animation-name:fadeIn}.fadeInUp{-webkit-animation-name:fadeInUp;-moz-animation-name:fadeInUp;-o-animation-name:fadeInUp;animation-name:fadeInUp}@font-face{font-family:'Open Sans';font-style:normal;font-weight:300;src:local('Open Sans Light'),local('OpenSans-Light'),url(../../fonts/open-sans2/DXI1ORHCpsQm3Vp6mXoaTXhCUOGz7vYGh680lGh-uXM.woff) format('woff')}@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;src:local('Open Sans'),local('OpenSans'),url(../../fonts/open-sans2/cJZKeOuBrn4kERxqtaUH3T8E0i7KZn-EPnyo3HZu7kw.woff) format('woff')}@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;src:local('Open Sans Bold'),local('OpenSans-Bold'),url(../../fonts/open-sans2/k3k702ZOKiLJc3WVjuplzHhCUOGz7vYGh680lGh-uXM.woff) format('woff')}@font-face{font-family:'Open Sans';font-style:italic;font-weight:400;src:local('Open Sans Italic'),local('OpenSans-Italic'),url(../../fonts/open-sans2/xjAJXh38I15wypJXxuGMBobN6UDyHWBl620a-IRfuBk.woff) format('woff')}.close:focus{outline:0}.invisible{visibility:hidden}.mobile-show{display:none}.btn{border-radius:2px}.alert{margin-bottom:10px}.btn *{cursor:pointer!important}.dropdown-submenu{position:relative}.dropdown-submenu>ul.dropdown-menu{top:0;left:100%;margin-left:-3px!important;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;padding-top:10px!important}.dropdown-submenu:hover>.dropdown-menu{display:block}.dropdown-submenu:after{display:block;content:" ";position:absolute;right:0;top:10px;width:0;height:0;border-color:transparent;border-style:solid;border-width:5px 0 5px 5px;border-left-color:#666}.dropdown-submenu:hover>a:after{border-left-color:#fff}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.open>.dropdown-menu,.dropdown-submenu:hover>.dropdown-menu{visibility:visible;-webkit-animation:pulldown .2s;animation:pulldown .2s}.dropdown-menu{visibility:hidden;display:block}.dropdown-list{width:530px;border-radius:3px}.dropdown-list ul{margin:0;padding:0}.dropdown-list ul li{float:left;width:120px;margin-left:10px;margin-bottom:10px;border:1px dashed #ccc}.dropdown-menu .divider{margin:3px 0}.dropdown-menu{border-radius:3px;margin:0}.dropdown-menu:before{content:"";width:20px;height:12px;position:absolute;top:-12px;right:8px;background-image:url(../../images/triangle_2x.png);background-size:20px 12px}.dropdown-submenu .dropdown-menu:before{background:0 0}#searchNotebookForAddDropdownList,#searchNotebookForAddShareDropdownList{left:-200px}#searchNotebookForAddDropdownList:before,#searchNotebookForAddShareDropdownList:before{left:190px;right:inherit}.dropdown-menu li{list-style:none;padding-left:10px;width:100%;height:30px;line-height:30px}.dropdown-menu li>a{color:#000;display:block;padding-right:20px}.dropdown-menu>li>a{padding:3px 20px 3px 0}.noteSplit{position:absolute;top:0;width:5px;height:100%;overflow:hidden;z-index:3333;cursor:col-resize}a.raw{color:#428bca}a.raw:hover{color:#2a6496}.cm-item{position:relativLine truncated
|
||||||
@@ -3,7 +3,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
// 字体
|
// 字体
|
||||||
/*
|
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Open Sans';
|
font-family: 'Open Sans';
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
@@ -28,33 +28,6 @@
|
|||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
src: local('Open Sans Italic'), local('OpenSans-Italic'), url('../../fonts/open-sans2/xjAJXh38I15wypJXxuGMBobN6UDyHWBl620a-IRfuBk.woff') format('woff');
|
src: local('Open Sans Italic'), local('OpenSans-Italic'), url('../../fonts/open-sans2/xjAJXh38I15wypJXxuGMBobN6UDyHWBl620a-IRfuBk.woff') format('woff');
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
|
|
||||||
/* leanote */
|
|
||||||
/*
|
|
||||||
@font-face {
|
|
||||||
font-family: 'leanoteregular';
|
|
||||||
src: url('../../fonts/leanote/leanote-regular-webfont.eot');
|
|
||||||
src: url('../../fonts/leanote/leanote-regular-webfont.eot?#iefix') format('embedded-opentype'),
|
|
||||||
url('../../fonts/leanote/leanote-regular-webfont.woff') format('woff'),
|
|
||||||
url('../../fonts/leanote/leanote-regular-webfont.ttf') format('truetype'),
|
|
||||||
url('../../fonts/leanote/leanote-regular-webfont.svg#leanoteregular') format('svg');
|
|
||||||
font-weight: normal;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: 'leanote';
|
|
||||||
src:url('../../fonts/leanote-font2/leanote.eot?-vcf23i');
|
|
||||||
src:url('../../fonts/leanote-font2/leanote.eot?#iefix-vcf23i') format('embedded-opentype'),
|
|
||||||
url('../../fonts/leanote-font2/leanote.ttf?-vcf23i') format('truetype'),
|
|
||||||
url('../../fonts/leanote-font2/leanote.woff?-vcf23i') format('woff'),
|
|
||||||
url('../../fonts/leanote-font2/leanote.svg?-vcf23i#leanote') format('svg');
|
|
||||||
font-weight: normal;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.close:focus {
|
.close:focus {
|
||||||
outline: none;
|
outline: none;
|
||||||
@@ -64,6 +37,9 @@
|
|||||||
visibility: hidden;
|
visibility: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.mobile-show {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
.btn {
|
.btn {
|
||||||
border-radius: 2px;
|
border-radius: 2px;
|
||||||
@@ -78,7 +54,6 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//-----------------
|
//-----------------
|
||||||
// 下拉菜单
|
// 下拉菜单
|
||||||
.dropdown-submenu {
|
.dropdown-submenu {
|
||||||
@@ -190,10 +165,10 @@
|
|||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
margin:0;
|
margin:0;
|
||||||
// border: 1px solid @hColor;
|
// border: 1px solid @hColor;
|
||||||
border: 1px solid #e6eaed;
|
// border: 1px solid #e6eaed;
|
||||||
/*overflow-x: hidden; */
|
/*overflow-x: hidden; */
|
||||||
/*overflow-y: scroll;*/
|
/*overflow-y: scroll;*/
|
||||||
box-shadow: rgba(0, 0, 0, 0.172549) 0px 6px 12px 0px;
|
// box-shadow: rgba(0, 0, 0, 0.172549) 0px 6px 12px 0px;
|
||||||
|
|
||||||
&:before {
|
&:before {
|
||||||
content: "";
|
content: "";
|
||||||
|
|||||||
@@ -18,9 +18,6 @@
|
|||||||
padding: 2px;
|
padding: 2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#logo {
|
|
||||||
font-size: 36px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#avatar {
|
#avatar {
|
||||||
height: 60px; max-width: 200px; display: inline-block; margin: 10px;
|
height: 60px; max-width: 200px; display: inline-block; margin: 10px;
|
||||||
@@ -157,7 +154,8 @@ a:hover {
|
|||||||
width: 140px;
|
width: 140px;
|
||||||
height: @headerHeight;
|
height: @headerHeight;
|
||||||
padding-left: 10px;
|
padding-left: 10px;
|
||||||
padding-top: 0px;
|
padding-top: 9px;
|
||||||
|
font-size: 32px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#switcher {
|
#switcher {
|
||||||
@@ -173,11 +171,9 @@ a:hover {
|
|||||||
color: @hColor;
|
color: @hColor;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
span {
|
#leftSwitcher2 {
|
||||||
border-radius: 5px;
|
|
||||||
// background-color: @switcherBgColor;
|
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
font-size: 18px;
|
font-size: 16px;
|
||||||
line-height: 34px;
|
line-height: 34px;
|
||||||
margin-top: 8px;
|
margin-top: 8px;
|
||||||
padding: 0 5px;
|
padding: 0 5px;
|
||||||
@@ -271,3 +267,31 @@ a:hover {
|
|||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
visibility: hidden;
|
visibility: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#inviteFriends {
|
||||||
|
position: relative;
|
||||||
|
.dot {
|
||||||
|
display: inline-block;
|
||||||
|
position: absolute;
|
||||||
|
right: -8px;
|
||||||
|
top: -8px;
|
||||||
|
width: 8px;
|
||||||
|
height: 8px;
|
||||||
|
border-radius: 50%;
|
||||||
|
background: #FF9263;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#inviteUrl {
|
||||||
|
width: 400px;
|
||||||
|
padding: 3px;
|
||||||
|
border-radius: 3px;
|
||||||
|
border: 1px solid #eee;
|
||||||
|
}
|
||||||
|
|
||||||
|
#myProfile {
|
||||||
|
margin: 0 10px;
|
||||||
|
}
|
||||||
|
.profile-img {
|
||||||
|
line-height: 60px;
|
||||||
|
}
|
||||||
@@ -0,0 +1,51 @@
|
|||||||
|
@font-face {
|
||||||
|
font-family: 'leanote';
|
||||||
|
src:url('../../fonts/leanote-font3/leanote.eot?-vcf23i');
|
||||||
|
src:url('../../fonts/leanote-font3/leanote.eot?#iefix-vcf23i') format('embedded-opentype'),
|
||||||
|
url('../../fonts/leanote-font3/leanote.ttf?-vcf23i') format('truetype'),
|
||||||
|
url('../../fonts/leanote-font3/leanote.woff?-vcf23i') format('woff'),
|
||||||
|
url('../../fonts/leanote-font3/leanote.svg?-vcf23i#leanote') format('svg');
|
||||||
|
font-weight: normal;
|
||||||
|
font-style: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
#logo,
|
||||||
|
.mce-i-mind,
|
||||||
|
.mce-i-ace-pre,
|
||||||
|
.lea-icon
|
||||||
|
{
|
||||||
|
font-family: 'leanote' !important;
|
||||||
|
speak: none;
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: normal;
|
||||||
|
font-variant: normal;
|
||||||
|
text-transform: none;
|
||||||
|
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
-moz-osx-font-smoothing: grayscale;
|
||||||
|
}
|
||||||
|
.icon-markdown:before {
|
||||||
|
content: "\e604";
|
||||||
|
}
|
||||||
|
.mce-i-mind:before {
|
||||||
|
content: "\e602";
|
||||||
|
}
|
||||||
|
.mce-i-ace-pre:before {
|
||||||
|
content: "\e603";
|
||||||
|
}
|
||||||
|
|
||||||
|
#logo:before {
|
||||||
|
content: "\e901";
|
||||||
|
line-height: 1;
|
||||||
|
margin-top: 5px;
|
||||||
|
display: inline-block;
|
||||||
|
vertical-align: top;
|
||||||
|
}
|
||||||
|
#logo.icon-only:before {
|
||||||
|
content: "\e902";
|
||||||
|
}
|
||||||
|
.lang-zh-cn {
|
||||||
|
#logo:before {
|
||||||
|
content: "\e900";
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -157,12 +157,20 @@
|
|||||||
font-style: normal;
|
font-style: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
textarea#wmd-input {
|
textarea#wmd-input {
|
||||||
color: #000 !important;
|
color: #000 !important;
|
||||||
font-family: @aceFontFamily;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 为了防止vim在linux下光标混乱的问题
|
||||||
|
.ace_editor {
|
||||||
|
font-family: @aceFontFamily;
|
||||||
|
// font-family: @aceFontFamily !important; // 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'source-code-pro';
|
||||||
|
}
|
||||||
|
.ace_editor * {
|
||||||
|
font-family: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
// markdown editor ace
|
// markdown editor ace
|
||||||
@mdAceTextColor: #2C3E50; // #04294E; // #384654;
|
@mdAceTextColor: #2C3E50; // #04294E; // #384654;
|
||||||
@mdAceHeadingColor: #000; // 1a2026
|
@mdAceHeadingColor: #000; // 1a2026
|
||||||
@@ -295,8 +303,152 @@ textarea#wmd-input {
|
|||||||
background-color: rgb(101, 189, 119, 0.9);
|
background-color: rgb(101, 189, 119, 0.9);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
// markdown todo list
|
// markdown todo list
|
||||||
.m-todo-item {
|
.m-todo-item {
|
||||||
list-style: none;
|
list-style: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// markdown editor ace
|
||||||
|
@mdAceTextColor: #333333; // #04294E; // #384654;
|
||||||
|
@mdAceHeadingColor: #1d3e81; // 1a2026
|
||||||
|
@mdAceBlockquoteColor: #003873;
|
||||||
|
@mdAceCursorColor: #243342;
|
||||||
|
|
||||||
|
@mdAceTextColor: #000;
|
||||||
|
@mdAceTagColor: #1d3e81; // rgba(87, 108, 130, 0.6);
|
||||||
|
|
||||||
|
textarea#wmd-input {
|
||||||
|
color: #000 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#wmd-input {
|
||||||
|
.ace_cjk {
|
||||||
|
color: inherit;
|
||||||
|
}
|
||||||
|
.ace_searchbtn_close {
|
||||||
|
margin: 0px;
|
||||||
|
}
|
||||||
|
.ace_content {
|
||||||
|
padding-top: 5px;
|
||||||
|
}
|
||||||
|
&.ace_editor {
|
||||||
|
color: @mdAceTextColor;
|
||||||
|
}
|
||||||
|
&.ace-tm {
|
||||||
|
background-color: #ffffff;
|
||||||
|
}
|
||||||
|
&.ace-tm .ace_text-input {
|
||||||
|
box-sizing: initial;
|
||||||
|
}
|
||||||
|
&.ace-tm .ace_marker-layer .ace_active-line {
|
||||||
|
background-color: rgba(89, 128, 166, 0.05);
|
||||||
|
}
|
||||||
|
&.ace-tm .ace_cursor {
|
||||||
|
color: @mdAceCursorColor;
|
||||||
|
}
|
||||||
|
// 左侧的线
|
||||||
|
&.ace-tm .ace_print-margin {
|
||||||
|
background: none;
|
||||||
|
// background-color: rgba(89, 128, 166, 0.05);
|
||||||
|
}
|
||||||
|
&.ace-tm .ace_markup.ace_heading {
|
||||||
|
color: @mdAceTextColor;
|
||||||
|
font-weight: bold;
|
||||||
|
&.ace_1,&.ace_2,&.ace_3,&.ace_4,&.ace_5 {
|
||||||
|
color: @mdAceTagColor;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&.ace-tm .ace_markup.ace_list {
|
||||||
|
color: @mdAceTextColor;
|
||||||
|
}
|
||||||
|
&.ace-tm .ace_constant.ace_language {
|
||||||
|
color: @mdAceTagColor;
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
&.ace-tm .ace_meta.ace_tag {
|
||||||
|
color: #384654;
|
||||||
|
font-style: italic;
|
||||||
|
font-weight: bold;
|
||||||
|
// background-color: rgba(0, 0, 0, 0.04);
|
||||||
|
}
|
||||||
|
&.ace-tm .ace_keyword.ace_operator {
|
||||||
|
color: #384654;
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
&.ace-tm .ace_storage,
|
||||||
|
&.ace-tm .ace_keyword {
|
||||||
|
color: #384654;
|
||||||
|
// background-color: rgba(0, 0, 0, 0.04);
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
&.ace-tm .ace_entity.ace_name.ace_function {
|
||||||
|
color: #1a2026;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
&.ace-tm .ace_string {
|
||||||
|
color: #384654;
|
||||||
|
font-style: italic;
|
||||||
|
// background-color: rgba(0, 0, 0, 0.04);
|
||||||
|
}
|
||||||
|
&.ace-tm .ace_invalid {
|
||||||
|
color: inherit;
|
||||||
|
background: inherit;
|
||||||
|
}
|
||||||
|
&.ace-tm .ace_strong {
|
||||||
|
color: @mdAceTextColor;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
&.ace-tm .ace_emphasis {
|
||||||
|
color: @mdAceTextColor;
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
&.ace-tm .ace_blockquote {
|
||||||
|
color: @mdAceTextColor;
|
||||||
|
}
|
||||||
|
&.ace-tm .ace_code {
|
||||||
|
color: #1a2026;
|
||||||
|
// background-color: rgba(0, 0, 0, 0.04);
|
||||||
|
}
|
||||||
|
&.ace-tm .ace_code_block {
|
||||||
|
color: #1a2026;
|
||||||
|
}
|
||||||
|
&.ace-tm .ace_link {
|
||||||
|
color: @mdAceTextColor;
|
||||||
|
background-color: transparent;
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
.ace_underline {
|
||||||
|
color: @mdAceHeadingColor;
|
||||||
|
text-decoration: none;
|
||||||
|
|
||||||
|
}
|
||||||
|
&.ace-tm .ace_description {
|
||||||
|
color: #576c82;
|
||||||
|
}
|
||||||
|
&.ace-tm .ace_constant {
|
||||||
|
color: #384654;
|
||||||
|
}
|
||||||
|
&.ace-tm .ace_comment {
|
||||||
|
color: rgba(87, 108, 130, 0.6);
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
&.ace-tm .ace_marker-layer .misspelled {
|
||||||
|
position: absolute;
|
||||||
|
z-index: -2;
|
||||||
|
border-bottom: 1px dotted red;
|
||||||
|
margin-bottom: -1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
// vim cursor
|
||||||
|
&.normal-mode .ace_cursor {
|
||||||
|
// background-color: #003A92;
|
||||||
|
}
|
||||||
|
// emacs cursor
|
||||||
|
&.emacs-mode .ace_cursor {
|
||||||
|
border: 2px rgba(101, 189, 119, 0.8) solid !important;
|
||||||
|
background-color: rgb(101, 189, 119, 0.9);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -41,6 +41,7 @@
|
|||||||
padding: 8px;
|
padding: 8px;
|
||||||
line-height: 20px;
|
line-height: 20px;
|
||||||
vertical-align: top;
|
vertical-align: top;
|
||||||
|
word-break: break-all;
|
||||||
}
|
}
|
||||||
td {
|
td {
|
||||||
max-width: 280px;
|
max-width: 280px;
|
||||||
|
|||||||
+157
-23
@@ -20,24 +20,35 @@
|
|||||||
#notebookMin,
|
#notebookMin,
|
||||||
.ui-loader,
|
.ui-loader,
|
||||||
#md-section-helper,
|
#md-section-helper,
|
||||||
.writing-mobile-hide
|
.writing-mobile-hide,
|
||||||
|
.tips-ctn,
|
||||||
|
#wmd-undo-button,
|
||||||
|
#wmd-redo-button,
|
||||||
|
#wmd-hr-button,
|
||||||
|
#wmd-help-button
|
||||||
{
|
{
|
||||||
display: none !important;
|
display: none !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
*,
|
*,
|
||||||
.ztree li a.level0 span,
|
.ztree li a.level0 span,
|
||||||
.ztree li a.level1 span,
|
.ztree li a.level1 span,
|
||||||
.label
|
|
||||||
{
|
{
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.label i {
|
.label i {
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
width: 20px;
|
width: 12px;
|
||||||
&:hover, &:focus {
|
&:hover, &:focus {
|
||||||
color: @green !important;
|
color: @green !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#leftSwitcher:before {
|
||||||
|
content: "\f039";
|
||||||
|
}
|
||||||
|
|
||||||
a:focus, a:hover, a:active {
|
a:focus, a:hover, a:active {
|
||||||
color: @green !important;
|
color: @green !important;
|
||||||
}
|
}
|
||||||
@@ -89,6 +100,7 @@ a:focus, a:hover, a:active {
|
|||||||
visibility: hidden !important;
|
visibility: hidden !important;
|
||||||
}
|
}
|
||||||
left: 0 !important;
|
left: 0 !important;
|
||||||
|
padding-left: 0;
|
||||||
}
|
}
|
||||||
#note.editor-show {
|
#note.editor-show {
|
||||||
visibility: visible;
|
visibility: visible;
|
||||||
@@ -147,7 +159,7 @@ a:focus, a:hover, a:active {
|
|||||||
}
|
}
|
||||||
#tag {
|
#tag {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 140px;
|
right: 124px;
|
||||||
left:0;
|
left:0;
|
||||||
top:0;
|
top:0;
|
||||||
bottom:0;
|
bottom:0;
|
||||||
@@ -186,8 +198,9 @@ a:focus, a:hover, a:active {
|
|||||||
#left-column {
|
#left-column {
|
||||||
width: 100% !important;
|
width: 100% !important;
|
||||||
}
|
}
|
||||||
#mdEditor #wmd-input {
|
|
||||||
font-size: 16px;
|
#mdEditor #wmd-input * {
|
||||||
|
font-size: 14px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.new-markdown-text-abbr, .new-note-text-abbr {
|
.new-markdown-text-abbr, .new-note-text-abbr {
|
||||||
@@ -266,6 +279,9 @@ a:focus, a:hover, a:active {
|
|||||||
#editorContent .ace-tomorrow {
|
#editorContent .ace-tomorrow {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
|
#note, #editor, #mdEditor {
|
||||||
|
left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
// readonly
|
// readonly
|
||||||
|
|
||||||
@@ -288,10 +304,11 @@ a:focus, a:hover, a:active {
|
|||||||
-webkit-overflow-scrolling: touch !important;
|
-webkit-overflow-scrolling: touch !important;
|
||||||
}
|
}
|
||||||
.preview-container {
|
.preview-container {
|
||||||
left: 10px;
|
left: 5px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// ipad
|
// ipad
|
||||||
@@ -317,23 +334,13 @@ a:focus, a:hover, a:active {
|
|||||||
#tag {
|
#tag {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 310px;
|
right: 310px;
|
||||||
left:0;
|
left: 0;
|
||||||
top:0;
|
top:0;
|
||||||
bottom:0;
|
bottom:0;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
padding-left: 5px;
|
||||||
|
|
||||||
#tags {
|
|
||||||
position: absolute;
|
|
||||||
left: 50px;
|
|
||||||
right: 0;
|
|
||||||
top: 0;
|
|
||||||
bottom: 0;
|
|
||||||
overflow-y: hidden;
|
|
||||||
overflow-x: scroll;
|
|
||||||
position: absolute;
|
|
||||||
line-height: 40px;
|
|
||||||
line-height: inherit !important;
|
|
||||||
}
|
|
||||||
#tagDropdown {
|
#tagDropdown {
|
||||||
float: left;
|
float: left;
|
||||||
width: 50px;
|
width: 50px;
|
||||||
@@ -353,6 +360,18 @@ a:focus, a:hover, a:active {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#tags {
|
||||||
|
position: absolute;
|
||||||
|
left: 50px;
|
||||||
|
right: 0;
|
||||||
|
top: 0;
|
||||||
|
bottom: 0;
|
||||||
|
overflow-y: hidden;
|
||||||
|
overflow-x: scroll;
|
||||||
|
position: absolute;
|
||||||
|
line-height: 40px;
|
||||||
|
line-height: inherit !important;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media screen and (max-width: 800px) {
|
@media screen and (max-width: 800px) {
|
||||||
@@ -392,7 +411,7 @@ a:focus, a:hover, a:active {
|
|||||||
|
|
||||||
#tag {
|
#tag {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 160px;
|
right: 124px;
|
||||||
left:0;
|
left:0;
|
||||||
top:0;
|
top:0;
|
||||||
bottom:0;
|
bottom:0;
|
||||||
@@ -460,7 +479,7 @@ a:focus, a:hover, a:active {
|
|||||||
width: 100% !important;
|
width: 100% !important;
|
||||||
}
|
}
|
||||||
#mdEditor #wmd-input {
|
#mdEditor #wmd-input {
|
||||||
font-size: 16px;
|
font-size: 14px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.my-link {
|
.my-link {
|
||||||
@@ -482,7 +501,7 @@ a:focus, a:hover, a:active {
|
|||||||
|
|
||||||
// 有一些toolbar不能显示
|
// 有一些toolbar不能显示
|
||||||
.wmd-button-bar-inner {
|
.wmd-button-bar-inner {
|
||||||
overflow: scroll;
|
// overflow: scroll;
|
||||||
height: 30px;
|
height: 30px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -501,5 +520,120 @@ a:focus, a:hover, a:active {
|
|||||||
left: 10px;
|
left: 10px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#searchNote {
|
||||||
|
margin-top: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#noteTitle {
|
||||||
|
// padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tags {
|
||||||
|
.label, .label i {
|
||||||
|
font-size: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.mobile-hide {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.mobile-show {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
#editorContent, #mdEditor {
|
||||||
|
bottom: 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#mdEditor .layout-wrapper-l3, #editorContent {
|
||||||
|
margin-top: 0;
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
// iframe插件 视频
|
||||||
|
.leanote-plugin {
|
||||||
|
@pluginHeaderHeight: 40px;
|
||||||
|
#header {
|
||||||
|
height: @pluginHeaderHeight;
|
||||||
|
}
|
||||||
|
#mainContainer {
|
||||||
|
top: @pluginHeaderHeight;
|
||||||
|
}
|
||||||
|
.profile-img {
|
||||||
|
line-height: @pluginHeaderHeight - 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
#switcher i {
|
||||||
|
padding: 11px 0;
|
||||||
|
}
|
||||||
|
#searchNote {
|
||||||
|
padding-top: 1px;
|
||||||
|
}
|
||||||
|
#newNoteWrap {
|
||||||
|
line-height: 22px;
|
||||||
|
}
|
||||||
|
#leanoteMsg {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
*,
|
||||||
|
.ztree li a.level0 span,
|
||||||
|
.ztree li a.level1 span,
|
||||||
|
#noteItemList .item-setting, #noteItemList .item-blog {
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
h1, h2, h3, h4, h5 {
|
||||||
|
}
|
||||||
|
.leanoteNav h1 {
|
||||||
|
font-size: 16px;
|
||||||
|
}
|
||||||
|
h1 {
|
||||||
|
font-size: 24px;
|
||||||
|
}
|
||||||
|
h2 {
|
||||||
|
font-size: 20px;
|
||||||
|
}
|
||||||
|
h3 {
|
||||||
|
font-size: 18px;
|
||||||
|
}
|
||||||
|
h4 {
|
||||||
|
font-size: 16px;
|
||||||
|
}
|
||||||
|
#noteItemList .item-setting, #noteItemList .item-blog {
|
||||||
|
width: 23px;
|
||||||
|
padding: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#noteItemList .item {
|
||||||
|
height: 69px;
|
||||||
|
}
|
||||||
|
#noteItemList .item-thumb {
|
||||||
|
width: 60px;
|
||||||
|
height: 60px;
|
||||||
|
margin-top: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#preview-contents {
|
||||||
|
padding-left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#msg {
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#noteInfo {
|
||||||
|
width: 265px;
|
||||||
|
}
|
||||||
|
#noteInfo table th {
|
||||||
|
min-width: 72px;
|
||||||
|
}
|
||||||
|
#noteInfo .post-url-wrap span {
|
||||||
|
word-break: break-all;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.extension-preview-buttons {
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1 +1 @@
|
|||||||
::selection{background:#000;color:#fff}::-moz-selection{background:#000;color:#fff}::-webkit-selection{background:#000;color:#fff}@-webkit-keyframes dropdown{0%{margin-top:-25px;opacity:0}90%{margin-top:2px}100%{margin-top:0;opacity:1}}@-moz-keyframes dropdown{0%{margin-top:-25px;opacity:0}90%{margin-top:2px}100%{margin-top:0;opacity:1}}@-ms-keyframes dropdown{0%{margin-top:-25px;opacity:0}90%{margin-top:2px}100%{margin-top:0;opacity:1}}@keyframes dropdown{0%{margin-top:-25px;opacity:0}90%{margin-top:2px}100%{margin-top:0;opacity:1}}@-webkit-keyframes pulldown{0%{top:0;opacity:0}90%{top:90%}100%{top:100%;opacity:1}}@-moz-keyframes pulldown{0%{top:0;opacity:0}90%{top:90%}100%{top:100%;opacity:1}}@-ms-keyframes pulldown{0%{top:0;opacity:0}90%{top:90%}100%{top:100%;opacity:1}}@keyframes pulldown{0%{top:0;opacity:0}90%{top:90%}100%{top:100%;opacity:1}}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-moz-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-o-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translateY(20px)}100%{opacity:1;-webkit-transform:translateY(0)}}@-moz-keyframes fadeInUp{0%{opacity:0;-moz-transform:translateY(20px)}100%{opacity:1;-moz-transform:translateY(0)}}@-o-keyframes fadeInUp{0%{opacity:0;-o-transform:translateY(20px)}100%{opacity:1;-o-transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}100%{opacity:1;transform:translateY(0)}}.animated{-webkit-animation-fill-mode:both;-moz-animation-fill-mode:both;-ms-animation-fill-mode:both;-o-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.5s;-moz-animation-duration:.5s;-ms-animation-duration:.5s;-o-animation-duration:.5s;animation-duration:.5s}.fadeIn{-webkit-animation-name:fadeIn;-moz-animation-name:fadeIn;-o-animation-name:fadeIn;animation-name:fadeIn}.fadeInUp{-webkit-animation-name:fadeInUp;-moz-animation-name:fadeInUp;-o-animation-name:fadeInUp;animation-name:fadeInUp}@font-face{font-family:leanote;src:url(../../fonts/leanote-font2/leanote.eot?-vcf23i);src:url(../../fonts/leanote-font2/leanote.eot?#iefix-vcf23i) format('embedded-opentype'),url(../../fonts/leanote-font2/leanote.ttf?-vcf23i) format('truetype'),url(../../fonts/leanote-font2/leanote.woff?-vcf23i) format('woff'),url(../../fonts/leanote-font2/leanote.svg?-vcf23i#leanote) format('svg');font-weight:400;font-style:normal}.close:focus{outline:0}.invisible{visibility:hidden}.btn{border-radius:2px}.alert{margin-bottom:10px}.btn *{cursor:pointer!important}.dropdown-submenu{position:relative}.dropdown-submenu>ul.dropdown-menu{top:0;left:100%;margin-left:-3px!important;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;padding-top:10px!important}.dropdown-submenu:hover>.dropdown-menu{display:block}.dropdown-submenu:after{display:block;content:" ";position:absolute;right:0;top:10px;width:0;height:0;border-color:transparent;border-style:solid;border-width:5px 0 5px 5px;border-left-color:#666}.dropdown-submenu:hover>a:after{border-left-color:#fff}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.open>.dropdown-menu,.dropdown-submenu:hover>.dropdown-menu{visibility:visible;-webkit-animation:pulldown .2s;animation:pulldown .2s}.dropdown-menu{visibility:hidden;display:block}.dropdown-list{width:530px;border-radius:3px}.dropdown-list ul{margin:0;padding:0}.dropdown-list ul li{float:left;width:120px;margin-left:10px;margin-bottom:10px;border:1px dashed #ccc}.dropdown-menu .divider{margin:3px 0}.dropdown-menu{border-radius:3px;margin:0;border:1px solid #e6eaed;box-shadow:rgba(0,0,0,.172549)0 6px 12px 0}.dropdown-menu:before{content:"";width:20px;height:12px;position:absolute;top:-12px;right:8px;background-image:url(../../images/triangle_2x.png);background-size:20px 12px}.dropdown-submenu .dropdown-menu:before{background:0 0}#searchNotebookForAddDropdownList,#searchNotebookForAddShareDropdownList{left:-200px}#searchNotebookForAddDropdownList:before,#searchNotebookForAddShareDropdownList:before{left:190px;right:inherit}.dropdown-menu li{list-style:none;padding-left:10px;width:100%;height:30px;line-height:30px}.dropdown-menu li>a{color:#000;display:block;padding-right:20px}.dropdown-menu>li>a{padding:3px 20px 3px 0}.noteSplit{position:absolute;top:0;width:5px;height:100%;overflow:hidden;z-index:3333;cursor:col-resize}a.raw{color:#428bca}a.raw:hover{color:#2a6496}.cm-item{position:relative}.cm-item .cm-text{position:absolute;left:23px;right:10px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cm-item .cm-text .c-text{display:initial}.b-m-mpanel{border-radius:3px}.modal-content{background-color:#f8f8f8}.modal-body{background-color:#fff;padding-bottom:30px}.modal-footer{margin-top:0}#editorTool,#newNoteWrap,#myBlog,.lea-blog,#myProfile,#toggleEditorMode,.Line truncated
|
::selection{background:#000;color:#fff}::-moz-selection{background:#000;color:#fff}::-webkit-selection{background:#000;color:#fff}@-webkit-keyframes dropdown{0%{margin-top:-25px;opacity:0}90%{margin-top:2px}100%{margin-top:0;opacity:1}}@-moz-keyframes dropdown{0%{margin-top:-25px;opacity:0}90%{margin-top:2px}100%{margin-top:0;opacity:1}}@-ms-keyframes dropdown{0%{margin-top:-25px;opacity:0}90%{margin-top:2px}100%{margin-top:0;opacity:1}}@keyframes dropdown{0%{margin-top:-25px;opacity:0}90%{margin-top:2px}100%{margin-top:0;opacity:1}}@-webkit-keyframes pulldown{0%{top:0;opacity:0}90%{top:90%}100%{top:100%;opacity:1}}@-moz-keyframes pulldown{0%{top:0;opacity:0}90%{top:90%}100%{top:100%;opacity:1}}@-ms-keyframes pulldown{0%{top:0;opacity:0}90%{top:90%}100%{top:100%;opacity:1}}@keyframes pulldown{0%{top:0;opacity:0}90%{top:90%}100%{top:100%;opacity:1}}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-moz-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-o-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translateY(20px)}100%{opacity:1;-webkit-transform:translateY(0)}}@-moz-keyframes fadeInUp{0%{opacity:0;-moz-transform:translateY(20px)}100%{opacity:1;-moz-transform:translateY(0)}}@-o-keyframes fadeInUp{0%{opacity:0;-o-transform:translateY(20px)}100%{opacity:1;-o-transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}100%{opacity:1;transform:translateY(0)}}.animated{-webkit-animation-fill-mode:both;-moz-animation-fill-mode:both;-ms-animation-fill-mode:both;-o-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.5s;-moz-animation-duration:.5s;-ms-animation-duration:.5s;-o-animation-duration:.5s;animation-duration:.5s}.fadeIn{-webkit-animation-name:fadeIn;-moz-animation-name:fadeIn;-o-animation-name:fadeIn;animation-name:fadeIn}.fadeInUp{-webkit-animation-name:fadeInUp;-moz-animation-name:fadeInUp;-o-animation-name:fadeInUp;animation-name:fadeInUp}@font-face{font-family:'Open Sans';font-style:normal;font-weight:300;src:local('Open Sans Light'),local('OpenSans-Light'),url(../../fonts/open-sans2/DXI1ORHCpsQm3Vp6mXoaTXhCUOGz7vYGh680lGh-uXM.woff) format('woff')}@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;src:local('Open Sans'),local('OpenSans'),url(../../fonts/open-sans2/cJZKeOuBrn4kERxqtaUH3T8E0i7KZn-EPnyo3HZu7kw.woff) format('woff')}@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;src:local('Open Sans Bold'),local('OpenSans-Bold'),url(../../fonts/open-sans2/k3k702ZOKiLJc3WVjuplzHhCUOGz7vYGh680lGh-uXM.woff) format('woff')}@font-face{font-family:'Open Sans';font-style:italic;font-weight:400;src:local('Open Sans Italic'),local('OpenSans-Italic'),url(../../fonts/open-sans2/xjAJXh38I15wypJXxuGMBobN6UDyHWBl620a-IRfuBk.woff) format('woff')}.close:focus{outline:0}.invisible{visibility:hidden}.mobile-show{display:none}.btn{border-radius:2px}.alert{margin-bottom:10px}.btn *{cursor:pointer!important}.dropdown-submenu{position:relative}.dropdown-submenu>ul.dropdown-menu{top:0;left:100%;margin-left:-3px!important;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;padding-top:10px!important}.dropdown-submenu:hover>.dropdown-menu{display:block}.dropdown-submenu:after{display:block;content:" ";position:absolute;right:0;top:10px;width:0;height:0;border-color:transparent;border-style:solid;border-width:5px 0 5px 5px;border-left-color:#666}.dropdown-submenu:hover>a:after{border-left-color:#fff}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.open>.dropdown-menu,.dropdown-submenu:hover>.dropdown-menu{visibility:visible;-webkit-animation:pulldown .2s;animation:pulldown .2s}.dropdown-menu{visibility:hidden;display:block}.dropdown-list{width:530px;border-radius:3px}.dropdown-list ul{margin:0;padding:0}.dropdown-list ul li{float:left;width:120px;margin-left:10px;margin-bottom:10px;border:1px dashed #ccc}.dropdown-menu .divider{margin:3px 0}.dropdown-menu{border-radius:3px;margin:0}.dropdown-menu:before{content:"";width:20px;height:12px;position:absolute;top:-12px;right:8px;background-image:url(../../images/triangle_2x.png);background-size:20px 12px}.dropdown-submenu .dropdown-menu:before{background:0 0}#searchNotebookForAddDropdownList,#searchNotebookForAddShareDropdownList{left:-200px}#searchNotebookForAddDropdownList:before,#searchNotebookForAddShareDropdownList:before{left:190px;right:inherit}.dropdown-menu li{list-style:none;padding-left:10px;width:100%;height:30px;line-height:30px}.dropdown-menu li>a{color:#000;display:block;padding-right:20px}.dropdown-menu>li>a{padding:3px 20px 3px 0}.noteSplit{position:absolute;top:0;width:5px;height:100%;overflow:hidden;z-index:3333;cursor:col-resize}a.raw{color:#428bca}a.raw:hover{color:#2a6496}.cm-item{position:relativLine truncated
|
||||||
@@ -1 +1 @@
|
|||||||
::selection{background:#000;color:#fff}::-moz-selection{background:#000;color:#fff}::-webkit-selection{background:#000;color:#fff}@-webkit-keyframes dropdown{0%{margin-top:-25px;opacity:0}90%{margin-top:2px}100%{margin-top:0;opacity:1}}@-moz-keyframes dropdown{0%{margin-top:-25px;opacity:0}90%{margin-top:2px}100%{margin-top:0;opacity:1}}@-ms-keyframes dropdown{0%{margin-top:-25px;opacity:0}90%{margin-top:2px}100%{margin-top:0;opacity:1}}@keyframes dropdown{0%{margin-top:-25px;opacity:0}90%{margin-top:2px}100%{margin-top:0;opacity:1}}@-webkit-keyframes pulldown{0%{top:0;opacity:0}90%{top:90%}100%{top:100%;opacity:1}}@-moz-keyframes pulldown{0%{top:0;opacity:0}90%{top:90%}100%{top:100%;opacity:1}}@-ms-keyframes pulldown{0%{top:0;opacity:0}90%{top:90%}100%{top:100%;opacity:1}}@keyframes pulldown{0%{top:0;opacity:0}90%{top:90%}100%{top:100%;opacity:1}}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-moz-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-o-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translateY(20px)}100%{opacity:1;-webkit-transform:translateY(0)}}@-moz-keyframes fadeInUp{0%{opacity:0;-moz-transform:translateY(20px)}100%{opacity:1;-moz-transform:translateY(0)}}@-o-keyframes fadeInUp{0%{opacity:0;-o-transform:translateY(20px)}100%{opacity:1;-o-transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}100%{opacity:1;transform:translateY(0)}}.animated{-webkit-animation-fill-mode:both;-moz-animation-fill-mode:both;-ms-animation-fill-mode:both;-o-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.5s;-moz-animation-duration:.5s;-ms-animation-duration:.5s;-o-animation-duration:.5s;animation-duration:.5s}.fadeIn{-webkit-animation-name:fadeIn;-moz-animation-name:fadeIn;-o-animation-name:fadeIn;animation-name:fadeIn}.fadeInUp{-webkit-animation-name:fadeInUp;-moz-animation-name:fadeInUp;-o-animation-name:fadeInUp;animation-name:fadeInUp}@font-face{font-family:leanote;src:url(../../fonts/leanote-font2/leanote.eot?-vcf23i);src:url(../../fonts/leanote-font2/leanote.eot?#iefix-vcf23i) format('embedded-opentype'),url(../../fonts/leanote-font2/leanote.ttf?-vcf23i) format('truetype'),url(../../fonts/leanote-font2/leanote.woff?-vcf23i) format('woff'),url(../../fonts/leanote-font2/leanote.svg?-vcf23i#leanote) format('svg');font-weight:400;font-style:normal}.close:focus{outline:0}.invisible{visibility:hidden}.btn{border-radius:2px}.alert{margin-bottom:10px}.btn *{cursor:pointer!important}.dropdown-submenu{position:relative}.dropdown-submenu>ul.dropdown-menu{top:0;left:100%;margin-left:-3px!important;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;padding-top:10px!important}.dropdown-submenu:hover>.dropdown-menu{display:block}.dropdown-submenu:after{display:block;content:" ";position:absolute;right:0;top:10px;width:0;height:0;border-color:transparent;border-style:solid;border-width:5px 0 5px 5px;border-left-color:#666}.dropdown-submenu:hover>a:after{border-left-color:#fff}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.open>.dropdown-menu,.dropdown-submenu:hover>.dropdown-menu{visibility:visible;-webkit-animation:pulldown .2s;animation:pulldown .2s}.dropdown-menu{visibility:hidden;display:block}.dropdown-list{width:530px;border-radius:3px}.dropdown-list ul{margin:0;padding:0}.dropdown-list ul li{float:left;width:120px;margin-left:10px;margin-bottom:10px;border:1px dashed #ccc}.dropdown-menu .divider{margin:3px 0}.dropdown-menu{border-radius:3px;margin:0;border:1px solid #e6eaed;box-shadow:rgba(0,0,0,.172549)0 6px 12px 0}.dropdown-menu:before{content:"";width:20px;height:12px;position:absolute;top:-12px;right:8px;background-image:url(../../images/triangle_2x.png);background-size:20px 12px}.dropdown-submenu .dropdown-menu:before{background:0 0}#searchNotebookForAddDropdownList,#searchNotebookForAddShareDropdownList{left:-200px}#searchNotebookForAddDropdownList:before,#searchNotebookForAddShareDropdownList:before{left:190px;right:inherit}.dropdown-menu li{list-style:none;padding-left:10px;width:100%;height:30px;line-height:30px}.dropdown-menu li>a{color:#000;display:block;padding-right:20px}.dropdown-menu>li>a{padding:3px 20px 3px 0}.noteSplit{position:absolute;top:0;width:5px;height:100%;overflow:hidden;z-index:3333;cursor:col-resize}a.raw{color:#428bca}a.raw:hover{color:#2a6496}.cm-item{position:relative}.cm-item .cm-text{position:absolute;left:23px;right:10px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cm-item .cm-text .c-text{display:initial}.b-m-mpanel{border-radius:3px}.modal-content{background-color:#f8f8f8}.modal-body{background-color:#fff;padding-bottom:30px}.modal-footer{margin-top:0}#editorTool,#newNoteWrap,#myBlog,.lea-blog,#myProfile,#toggleEditorMode,.Line truncated
|
::selection{background:#000;color:#fff}::-moz-selection{background:#000;color:#fff}::-webkit-selection{background:#000;color:#fff}@-webkit-keyframes dropdown{0%{margin-top:-25px;opacity:0}90%{margin-top:2px}100%{margin-top:0;opacity:1}}@-moz-keyframes dropdown{0%{margin-top:-25px;opacity:0}90%{margin-top:2px}100%{margin-top:0;opacity:1}}@-ms-keyframes dropdown{0%{margin-top:-25px;opacity:0}90%{margin-top:2px}100%{margin-top:0;opacity:1}}@keyframes dropdown{0%{margin-top:-25px;opacity:0}90%{margin-top:2px}100%{margin-top:0;opacity:1}}@-webkit-keyframes pulldown{0%{top:0;opacity:0}90%{top:90%}100%{top:100%;opacity:1}}@-moz-keyframes pulldown{0%{top:0;opacity:0}90%{top:90%}100%{top:100%;opacity:1}}@-ms-keyframes pulldown{0%{top:0;opacity:0}90%{top:90%}100%{top:100%;opacity:1}}@keyframes pulldown{0%{top:0;opacity:0}90%{top:90%}100%{top:100%;opacity:1}}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-moz-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-o-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translateY(20px)}100%{opacity:1;-webkit-transform:translateY(0)}}@-moz-keyframes fadeInUp{0%{opacity:0;-moz-transform:translateY(20px)}100%{opacity:1;-moz-transform:translateY(0)}}@-o-keyframes fadeInUp{0%{opacity:0;-o-transform:translateY(20px)}100%{opacity:1;-o-transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}100%{opacity:1;transform:translateY(0)}}.animated{-webkit-animation-fill-mode:both;-moz-animation-fill-mode:both;-ms-animation-fill-mode:both;-o-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.5s;-moz-animation-duration:.5s;-ms-animation-duration:.5s;-o-animation-duration:.5s;animation-duration:.5s}.fadeIn{-webkit-animation-name:fadeIn;-moz-animation-name:fadeIn;-o-animation-name:fadeIn;animation-name:fadeIn}.fadeInUp{-webkit-animation-name:fadeInUp;-moz-animation-name:fadeInUp;-o-animation-name:fadeInUp;animation-name:fadeInUp}@font-face{font-family:'Open Sans';font-style:normal;font-weight:300;src:local('Open Sans Light'),local('OpenSans-Light'),url(../../fonts/open-sans2/DXI1ORHCpsQm3Vp6mXoaTXhCUOGz7vYGh680lGh-uXM.woff) format('woff')}@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;src:local('Open Sans'),local('OpenSans'),url(../../fonts/open-sans2/cJZKeOuBrn4kERxqtaUH3T8E0i7KZn-EPnyo3HZu7kw.woff) format('woff')}@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;src:local('Open Sans Bold'),local('OpenSans-Bold'),url(../../fonts/open-sans2/k3k702ZOKiLJc3WVjuplzHhCUOGz7vYGh680lGh-uXM.woff) format('woff')}@font-face{font-family:'Open Sans';font-style:italic;font-weight:400;src:local('Open Sans Italic'),local('OpenSans-Italic'),url(../../fonts/open-sans2/xjAJXh38I15wypJXxuGMBobN6UDyHWBl620a-IRfuBk.woff) format('woff')}.close:focus{outline:0}.invisible{visibility:hidden}.mobile-show{display:none}.btn{border-radius:2px}.alert{margin-bottom:10px}.btn *{cursor:pointer!important}.dropdown-submenu{position:relative}.dropdown-submenu>ul.dropdown-menu{top:0;left:100%;margin-left:-3px!important;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;padding-top:10px!important}.dropdown-submenu:hover>.dropdown-menu{display:block}.dropdown-submenu:after{display:block;content:" ";position:absolute;right:0;top:10px;width:0;height:0;border-color:transparent;border-style:solid;border-width:5px 0 5px 5px;border-left-color:#666}.dropdown-submenu:hover>a:after{border-left-color:#fff}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.open>.dropdown-menu,.dropdown-submenu:hover>.dropdown-menu{visibility:visible;-webkit-animation:pulldown .2s;animation:pulldown .2s}.dropdown-menu{visibility:hidden;display:block}.dropdown-list{width:530px;border-radius:3px}.dropdown-list ul{margin:0;padding:0}.dropdown-list ul li{float:left;width:120px;margin-left:10px;margin-bottom:10px;border:1px dashed #ccc}.dropdown-menu .divider{margin:3px 0}.dropdown-menu{border-radius:3px;margin:0}.dropdown-menu:before{content:"";width:20px;height:12px;position:absolute;top:-12px;right:8px;background-image:url(../../images/triangle_2x.png);background-size:20px 12px}.dropdown-submenu .dropdown-menu:before{background:0 0}#searchNotebookForAddDropdownList,#searchNotebookForAddShareDropdownList{left:-200px}#searchNotebookForAddDropdownList:before,#searchNotebookForAddShareDropdownList:before{left:190px;right:inherit}.dropdown-menu li{list-style:none;padding-left:10px;width:100%;height:30px;line-height:30px}.dropdown-menu li>a{color:#000;display:block;padding-right:20px}.dropdown-menu>li>a{padding:3px 20px 3px 0}.noteSplit{position:absolute;top:0;width:5px;height:100%;overflow:hidden;z-index:3333;cursor:col-resize}a.raw{color:#428bca}a.raw:hover{color:#2a6496}.cm-item{position:relativLine truncated
|
||||||
@@ -1 +1 @@
|
|||||||
::selection{background:#000;color:#fff}::-moz-selection{background:#000;color:#fff}::-webkit-selection{background:#000;color:#fff}@-webkit-keyframes dropdown{0%{margin-top:-25px;opacity:0}90%{margin-top:2px}100%{margin-top:0;opacity:1}}@-moz-keyframes dropdown{0%{margin-top:-25px;opacity:0}90%{margin-top:2px}100%{margin-top:0;opacity:1}}@-ms-keyframes dropdown{0%{margin-top:-25px;opacity:0}90%{margin-top:2px}100%{margin-top:0;opacity:1}}@keyframes dropdown{0%{margin-top:-25px;opacity:0}90%{margin-top:2px}100%{margin-top:0;opacity:1}}@-webkit-keyframes pulldown{0%{top:0;opacity:0}90%{top:90%}100%{top:100%;opacity:1}}@-moz-keyframes pulldown{0%{top:0;opacity:0}90%{top:90%}100%{top:100%;opacity:1}}@-ms-keyframes pulldown{0%{top:0;opacity:0}90%{top:90%}100%{top:100%;opacity:1}}@keyframes pulldown{0%{top:0;opacity:0}90%{top:90%}100%{top:100%;opacity:1}}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-moz-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-o-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translateY(20px)}100%{opacity:1;-webkit-transform:translateY(0)}}@-moz-keyframes fadeInUp{0%{opacity:0;-moz-transform:translateY(20px)}100%{opacity:1;-moz-transform:translateY(0)}}@-o-keyframes fadeInUp{0%{opacity:0;-o-transform:translateY(20px)}100%{opacity:1;-o-transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}100%{opacity:1;transform:translateY(0)}}.animated{-webkit-animation-fill-mode:both;-moz-animation-fill-mode:both;-ms-animation-fill-mode:both;-o-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.5s;-moz-animation-duration:.5s;-ms-animation-duration:.5s;-o-animation-duration:.5s;animation-duration:.5s}.fadeIn{-webkit-animation-name:fadeIn;-moz-animation-name:fadeIn;-o-animation-name:fadeIn;animation-name:fadeIn}.fadeInUp{-webkit-animation-name:fadeInUp;-moz-animation-name:fadeInUp;-o-animation-name:fadeInUp;animation-name:fadeInUp}@font-face{font-family:leanote;src:url(../../fonts/leanote-font2/leanote.eot?-vcf23i);src:url(../../fonts/leanote-font2/leanote.eot?#iefix-vcf23i) format('embedded-opentype'),url(../../fonts/leanote-font2/leanote.ttf?-vcf23i) format('truetype'),url(../../fonts/leanote-font2/leanote.woff?-vcf23i) format('woff'),url(../../fonts/leanote-font2/leanote.svg?-vcf23i#leanote) format('svg');font-weight:400;font-style:normal}.close:focus{outline:0}.invisible{visibility:hidden}.btn{border-radius:2px}.alert{margin-bottom:10px}.btn *{cursor:pointer!important}.dropdown-submenu{position:relative}.dropdown-submenu>ul.dropdown-menu{top:0;left:100%;margin-left:-3px!important;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;padding-top:10px!important}.dropdown-submenu:hover>.dropdown-menu{display:block}.dropdown-submenu:after{display:block;content:" ";position:absolute;right:0;top:10px;width:0;height:0;border-color:transparent;border-style:solid;border-width:5px 0 5px 5px;border-left-color:#666}.dropdown-submenu:hover>a:after{border-left-color:#fff}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.open>.dropdown-menu,.dropdown-submenu:hover>.dropdown-menu{visibility:visible;-webkit-animation:pulldown .2s;animation:pulldown .2s}.dropdown-menu{visibility:hidden;display:block}.dropdown-list{width:530px;border-radius:3px}.dropdown-list ul{margin:0;padding:0}.dropdown-list ul li{float:left;width:120px;margin-left:10px;margin-bottom:10px;border:1px dashed #ccc}.dropdown-menu .divider{margin:3px 0}.dropdown-menu{border-radius:3px;margin:0;border:1px solid #e6eaed;box-shadow:rgba(0,0,0,.172549)0 6px 12px 0}.dropdown-menu:before{content:"";width:20px;height:12px;position:absolute;top:-12px;right:8px;background-image:url(../../images/triangle_2x.png);background-size:20px 12px}.dropdown-submenu .dropdown-menu:before{background:0 0}#searchNotebookForAddDropdownList,#searchNotebookForAddShareDropdownList{left:-200px}#searchNotebookForAddDropdownList:before,#searchNotebookForAddShareDropdownList:before{left:190px;right:inherit}.dropdown-menu li{list-style:none;padding-left:10px;width:100%;height:30px;line-height:30px}.dropdown-menu li>a{color:#000;display:block;padding-right:20px}.dropdown-menu>li>a{padding:3px 20px 3px 0}.noteSplit{position:absolute;top:0;width:5px;height:100%;overflow:hidden;z-index:3333;cursor:col-resize}a.raw{color:#428bca}a.raw:hover{color:#2a6496}.cm-item{position:relative}.cm-item .cm-text{position:absolute;left:23px;right:10px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cm-item .cm-text .c-text{display:initial}.b-m-mpanel{border-radius:3px}.modal-content{background-color:#f8f8f8}.modal-body{background-color:#fff;padding-bottom:30px}.modal-footer{margin-top:0}#editorTool,#newNoteWrap,#myBlog,.lea-blog,#myProfile,#toggleEditorMode,.Line truncated
|
::selection{background:#000;color:#fff}::-moz-selection{background:#000;color:#fff}::-webkit-selection{background:#000;color:#fff}@-webkit-keyframes dropdown{0%{margin-top:-25px;opacity:0}90%{margin-top:2px}100%{margin-top:0;opacity:1}}@-moz-keyframes dropdown{0%{margin-top:-25px;opacity:0}90%{margin-top:2px}100%{margin-top:0;opacity:1}}@-ms-keyframes dropdown{0%{margin-top:-25px;opacity:0}90%{margin-top:2px}100%{margin-top:0;opacity:1}}@keyframes dropdown{0%{margin-top:-25px;opacity:0}90%{margin-top:2px}100%{margin-top:0;opacity:1}}@-webkit-keyframes pulldown{0%{top:0;opacity:0}90%{top:90%}100%{top:100%;opacity:1}}@-moz-keyframes pulldown{0%{top:0;opacity:0}90%{top:90%}100%{top:100%;opacity:1}}@-ms-keyframes pulldown{0%{top:0;opacity:0}90%{top:90%}100%{top:100%;opacity:1}}@keyframes pulldown{0%{top:0;opacity:0}90%{top:90%}100%{top:100%;opacity:1}}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-moz-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-o-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translateY(20px)}100%{opacity:1;-webkit-transform:translateY(0)}}@-moz-keyframes fadeInUp{0%{opacity:0;-moz-transform:translateY(20px)}100%{opacity:1;-moz-transform:translateY(0)}}@-o-keyframes fadeInUp{0%{opacity:0;-o-transform:translateY(20px)}100%{opacity:1;-o-transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}100%{opacity:1;transform:translateY(0)}}.animated{-webkit-animation-fill-mode:both;-moz-animation-fill-mode:both;-ms-animation-fill-mode:both;-o-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.5s;-moz-animation-duration:.5s;-ms-animation-duration:.5s;-o-animation-duration:.5s;animation-duration:.5s}.fadeIn{-webkit-animation-name:fadeIn;-moz-animation-name:fadeIn;-o-animation-name:fadeIn;animation-name:fadeIn}.fadeInUp{-webkit-animation-name:fadeInUp;-moz-animation-name:fadeInUp;-o-animation-name:fadeInUp;animation-name:fadeInUp}@font-face{font-family:'Open Sans';font-style:normal;font-weight:300;src:local('Open Sans Light'),local('OpenSans-Light'),url(../../fonts/open-sans2/DXI1ORHCpsQm3Vp6mXoaTXhCUOGz7vYGh680lGh-uXM.woff) format('woff')}@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;src:local('Open Sans'),local('OpenSans'),url(../../fonts/open-sans2/cJZKeOuBrn4kERxqtaUH3T8E0i7KZn-EPnyo3HZu7kw.woff) format('woff')}@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;src:local('Open Sans Bold'),local('OpenSans-Bold'),url(../../fonts/open-sans2/k3k702ZOKiLJc3WVjuplzHhCUOGz7vYGh680lGh-uXM.woff) format('woff')}@font-face{font-family:'Open Sans';font-style:italic;font-weight:400;src:local('Open Sans Italic'),local('OpenSans-Italic'),url(../../fonts/open-sans2/xjAJXh38I15wypJXxuGMBobN6UDyHWBl620a-IRfuBk.woff) format('woff')}.close:focus{outline:0}.invisible{visibility:hidden}.mobile-show{display:none}.btn{border-radius:2px}.alert{margin-bottom:10px}.btn *{cursor:pointer!important}.dropdown-submenu{position:relative}.dropdown-submenu>ul.dropdown-menu{top:0;left:100%;margin-left:-3px!important;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;padding-top:10px!important}.dropdown-submenu:hover>.dropdown-menu{display:block}.dropdown-submenu:after{display:block;content:" ";position:absolute;right:0;top:10px;width:0;height:0;border-color:transparent;border-style:solid;border-width:5px 0 5px 5px;border-left-color:#666}.dropdown-submenu:hover>a:after{border-left-color:#fff}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.open>.dropdown-menu,.dropdown-submenu:hover>.dropdown-menu{visibility:visible;-webkit-animation:pulldown .2s;animation:pulldown .2s}.dropdown-menu{visibility:hidden;display:block}.dropdown-list{width:530px;border-radius:3px}.dropdown-list ul{margin:0;padding:0}.dropdown-list ul li{float:left;width:120px;margin-left:10px;margin-bottom:10px;border:1px dashed #ccc}.dropdown-menu .divider{margin:3px 0}.dropdown-menu{border-radius:3px;margin:0}.dropdown-menu:before{content:"";width:20px;height:12px;position:absolute;top:-12px;right:8px;background-image:url(../../images/triangle_2x.png);background-size:20px 12px}.dropdown-submenu .dropdown-menu:before{background:0 0}#searchNotebookForAddDropdownList,#searchNotebookForAddShareDropdownList{left:-200px}#searchNotebookForAddDropdownList:before,#searchNotebookForAddShareDropdownList:before{left:190px;right:inherit}.dropdown-menu li{list-style:none;padding-left:10px;width:100%;height:30px;line-height:30px}.dropdown-menu li>a{color:#000;display:block;padding-right:20px}.dropdown-menu>li>a{padding:3px 20px 3px 0}.noteSplit{position:absolute;top:0;width:5px;height:100%;overflow:hidden;z-index:3333;cursor:col-resize}a.raw{color:#428bca}a.raw:hover{color:#2a6496}.cm-item{position:relativLine truncated
|
||||||
Binary file not shown.
@@ -1,15 +0,0 @@
|
|||||||
<?xml version="1.0" standalone="no"?>
|
|
||||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
|
|
||||||
<svg xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<metadata>Generated by IcoMoon</metadata>
|
|
||||||
<defs>
|
|
||||||
<font id="leanote" horiz-adv-x="1024">
|
|
||||||
<font-face units-per-em="1024" ascent="960" descent="-64" />
|
|
||||||
<missing-glyph horiz-adv-x="1024" />
|
|
||||||
<glyph unicode=" " horiz-adv-x="512" d="" />
|
|
||||||
<glyph unicode="" glyph-name="leanote-all" horiz-adv-x="3375" d="M3.5 300.5q5.5 38 21.5 69.75t42.5 52.25 62.5 20.5q23.5 31.5 38.5 72.5 11.5 31.5 11.5 74.5 0 13-1 27-21.5 3-47.5 7.5t-47.5 12.5q-22 8.5-34 23-8 9-7.5 22 0 7.5 2.5 16 4 12.5 13.75 16.5t23.75 4.5 29.75-0.5 31.25 2q13.5 2 25 7.5t23 11.25 22.25 9.75 22.75 2q19.5-12.5 27.75-35.5t13.25-49.5q14-3 26-3 7.5 0 14 1 17.5 3 33.75 7.75t32.75 7.25l10 1q12.5 0 27-4.5 9 21.5 19.75 30.75t27.25 12.75 38.5 5.5 52.5 9q13.5 3 28.75 9.25t30.25 9.75q8 2 15 2 6 0 12-1.5 12-3 16.5-19.5 3.5-10.5 3.5-19.5 0-11-6-18-10-13-28.25-21.5t-38.75-14.5-33-16.5q-16.5-12.5-30.75-37.5t-25.5-56.75-18.5-68-8.25-70.25v-10q0-28 4.5-53 5.5-30 20-48.5 25.5-6 53.25-20t52-33.75 41.5-46 23.25-56.75q4-19.5 4-39-0.5-5-0.5-10-1-24-8.25-45t-19.5-36.25-28.75-21.25q-19-7.5-35.5-7.5-9 0-17 2-23 6-39.5 22.5t-28.25 39.5-19.25 45.5q0.5-6 0.5-11.5-0.5-33-15.5-64-18-36-47-57.5t-65-24h-6q-32.5 0-63.5 23-18.5 14.5-26 37t-13.25 46.5-14 47-26.75 39.5q-6 0.5-11.5 0.5-14 0-25-2-16-2.5-30-4.5t-27.5-2.5-26.5 4.5q-33 11.5-52 39t-25 62.5q-3 18.5-3 38 0 17.5 2.5 35.5zM156.5 358q21.5-5 28.25 8.25t-1.25 27.25q-16.5 0-21.75-10t-5.25-25.5zM246 558.5q-2-7.5-2-13.5 0-8 3.5-13 6.5-9 18.25-12.25t25.5-0.75 22.25 9q-1.5 14.5-1.5 27 0 19 3.5 35 6 26 11 53.5-5 3-13.75 4.5t-17.5 0.5-15.25-4-7.5-9q17.5 0 26-8.25t9.5-20.5-3.5-25.5-13.25-22-21-10.25-24.25 9.5zM281.5 148q10-17.5 16.25-39t15.25-40q9.5-19 24.5-31 14-11.5 38.5-11h4q9 9 12.75 22t3.75 26.75-4.75 27-11.75 22.75q-23.5 7-50.75 9t-47.75 13.5zM336 558.5q-1-3-1-5.5 0-3 1.5-6 2.5-4 5.5-6.5t6.75-5 4.75-7.5q14-4 26-4 14 0 24.5 6 19 11 27 31 5.5 15 5.5 31 0.5 6-0.5 12-3 23-14 39-10 16-28 18.5-2 0.5-4 0.5-16.5 0-36.5-18.5 14.5 2 22.5-3.5t13-14q2.5-9 2.5-18 0-8-2.5-17-5-18-17.5-27.5-5-7-11-6t-12.5 3.5q-6 3-9.5 4-2.5 1-2.5-3.5v-3zM442.5 165.5q25.5-8 39.75-33.25t26.5-53 26.75-49.75 41-25q4.5-0.5 8.5-0.5 11 0 20 4 13 5 23 14t16 21 9.5 24q3.5 16.5 3.5 32.5 0 22.5-7 42.5-11 35-33 62.5t-51.75 45.5-59.25 23q-2-12.5-6.25-21.5t-3.25-23.5q20.5-5 39.5-14.75t33-24.75q15-15 23-33 7.5-16 7-35v-4.5q-12.5 18.5-31 40-19 22-40.5 34-17.5 10-35 9.5-4.5 0-9-0.5-22.5-3-41-33.5zM751 354v140q0.5 69.5 4.5 136.5h81v-559.5q-7-3-18.75-4t-24-1-23.5 1-18.75 4q0.5 46.5 0.5 93.5v47.5zM891.5 216q-1 17-0.5 34 0 18 0.5 36 1.5 36 5 67.75t10.25 55.75 14.75 33.5q11.5 11.5 35.5 19.5t55 12.5q31 4 64 5 5.5 0 11 0.5 28-0.5 53-3.5 31-4 55.75-11.5t38.25-18.5q21-18 29-49 5.5-21.5 5.5-44.5 0.5-9.5-0.5-18.5-3-32-17.5-59.75t-38-38.25q-24.5-11.5-49.5-12.5-6.5-0.5-13-0.5-18.5 0-37.5 2-25.5 3-53.5 5-8 0.5-16 0.5-20 0-41.5-3.5v85q14.5 1.5 30 1.5 7.5 0 15.5-0.5 24-1 47.5-1.5h11.5q17 0 33 1 21 1.5 37.5 8.5 3 9 4.5 25t-4.5 24q-14.5 10-38 13-18 2.5-38 2.5h-12.5q-27-1-53.75-3t-46.25-3q-6-20.5-8-48.25t-2-56.75 2-58.25 4-51.75q23-11.5 53-13.5 24-1.5 50.5-1.5h13.5q34 0.5 68 2.5 13.5 1 26.5 1 20 0 38.5-2v-85q-28 3-57 3-20 0-41-1.5-50-3.5-94.75-3.5t-80.25 9.75-52.5 41.25q-7 12.5-11.25 39.25t-5.75 60.75zM1315 182q-0.5 5-0.5 10-0.5 28 9.5 55 11 32 36 48.5 18.5 12.5 43 16 21.5 3 45.5 3h7.5q28-0.5 60-2 13.5-0.5 28-0.5 19 0 39 1v-85q-12.5-1-25.5-1-10 0-21 0.5-25 1.5-48.5 2h-8q-19 0-36.5-2-21-2.5-34.5-13-5-7-5-24.5t5-24.5q13.5-9 37-12.25t49.5-3.25 51.75 2.5 45.25 3.5q9 18.5 12 48.25t3 62-3.5 62.5-7.5 51.75q-40 5-86.5 5-16.5 0-33.5-0.5-36.5-1.5-71-1.5-28 0-55 1 1 10 0.5 23t-1 25.25 0 23 5 18.75q24-2 48.5-2 12.5 0 24.5 0.5 37 1.5 72 2.5 10 0.5 20.5 0.5 24.5 0 47.5-2 32-2.5 57.25-12.25t42.75-28.75 22.5-52.5q7.5-48.5 8.5-100.5v-12q0-45-8-85-9-45-30.75-77.5t-58.75-38.5q-21.5-3-52.5-5-21-1.5-42.5-1.5-10.5 0-21.5 0.5-32 1-61.75 4.5t-45.75 11q-29.5 12.5-45 42t-17.5 63.5zM1753 67v393.5q0 11.5 9.5 14 30.5-4.5 63-4.5 18.5 0 37.5 1.5 53 4 101.5 5h9q43 0.5 78.5-8.5 39-10 59.5-43.5 18.5-30.5 19.5-73.5v-17q0-35-3-73-4-48-7.5-98-1-15.5-1-30 0-34 5.5-66h-85v304q-14.5 12.5-38 16-20.5 3-44 3h-7q-27-0.5-55.5-2-9.5-0.5-18.5-0.5-18 0-35 2-4-37.5-4.5-77.5 0-20-0.25-40.5t0.25-41q0.5-41.5 1-82.5v-27q0-27-0.5-54h-85zM2181.5 255.5q-1 18-0.75 35.25t0.75 33.25q1.5 33 6.25 60t12.75 40.5q12.5 21.5 33.75 30.75t55.25 14.25q30.5 4 67 6 18 1 35.75 1t34.75-1q34-2 61.5-9.75t43-22.75q8-8 14.75-31.25t11.25-54 6-65.75q1-26.5 1-52v-17q-0.5-33-4-60.25t-10.5-42.25q-5-8-17.5-20.5l-14.5-14.5q-14.5-9-39-15.5-25-6-55-8.5-21.5-2-44-2-9 0-18 0.5-32 1-61.5 5.5t-52.5 12.75-34 20.75q-9 9-15.75 33t-11 55.75-5.75 67.75zM2270 268.25q0-30.25 3.25-59t8.25-47.75q16.5-5 42.5-8.25t53.75-3.25 52.25 3 39 12.5q2 22.5 4 51t2 58.25-2 57.5-8 48.25q-18.5 2-43.75 4t-51.25 2-49.5-2.5-39-8.5q-6-19.5-8.75-48.25t-2.75-59zM2612 389.5v80q5 5 15.5 4.5t20.5 0.5v156h80v-152q8.5-6 21-6 5 0 10 1 12 2 23 2 7 0 13.5-1v-90h-67.5v-317.5h-80v313.5q-2 4-7 4.5t-10.75 0.5h-11.5t-6.75 4zM2837 216q-1 17-1 34 0 18 1 36 1.5 36 5 67.75t10.25 55.75 14.75 33.5q11.5 11.5 35.5 19.5t54.5 12.5q31 4 64 5 5.5 0 11.5 0.5 27.5-0.5 52.5-3.5 31-4 56-11.5t38.5-18.5q21.5-18 29.5-49 5.5-21.5 5.5-44.5-0.5-9.5-1.5-18.5-3-32-17.25-59.75t-37.75-38.25q-24.5-11.5-49-12.5-6.5-0.5-13-0.5-19 0-38 2-26 3-54 5-8 0.5-16 0.5-20 0-41-3.5v85q14.5 1.5 30 1.5 Line truncated
|
|
||||||
<glyph unicode="" glyph-name="leanote" horiz-adv-x="886" d="M4 392q7 47 27 86.25t53.5 65 77.5 26.75q29.5 40 48.5 91 14 38 14 90 0 17.5-1.5 37-26.5 4-58.75 9.25t-59.25 16-42.5 28.75q-9.5 11-9.5 26 0 9.5 3.5 20.5 4 15.5 16.75 20.5t29.75 5.5h11.5q12.5 0 25.5-0.5h9.5q15 0 29.5 2 17.5 3 32 10.25t28.25 14.25 27.5 11.75 29.25 2.75q23.5-15.5 34.25-44.25t15.75-61.25q17.5-4 33-4 9 0 17 1.5 23 3.5 43 9 20 6 41 9 6.5 1 12.5 0.5 15.5 0 33-5 11.5 26.5 25 38t33.5 16 47.75 7 66.75 12q16.5 3 35.75 11.25t37.75 12.75q10 2.5 18.5 2.5 7.5 0 14.5-2 15-4 22.5-24.5 4.5-13.5 4.5-24 0-14-7-23.5-13-17-36-27.25t-49.25-18-41.25-20.25q-20.5-15.5-38.5-46.5t-31.75-71-23-85-10.25-88v-11.5q0-36.5 5.5-68 6.5-36.5 25-60 33-8 67.25-25t64-42 51.75-57.25 30-71.25q4.5-23 4.5-45.5 0-7.5-0.5-15.5-2-30-11-56.25t-24.5-45.5-36-27.75q-23.5-9-43.5-9-11.5-0.5-21.5 2.5-28 8-49.5 28.75t-36 49.5-22.5 57.25q0.5-6 0.5-11.5 0-43.5-20-83-22.5-44.5-58.5-72-36-27-81-30.5-4.5-0.5-9-0.5-40 0-77.5 29.5-22.5 18.5-32.25 46.25t-17.5 58-18 58.75-32.75 49q-6 0.5-12 0.5-17.5 0-33-2.5-20.5-3-38-5.5-17-2.5-34-3h-3q-15.5 0-31.5 5.5-41 14.5-64 49.5-23.5 34.5-31.5 78.5-4.5 23.5-4 48-0.5 21.5 3 43.5zM195.5 463.5q7-1.5 13-1.5 15.5 0 21.5 12 4 8 4 16 0 9-4.5 18.5-20.5 0-27.25-12.75t-6.75-32.25zM307 715.5q-2.5-8.5-2.5-16 0.5-10.5 5.5-18 9-12.5 23-16t31-1 27 11q-1.5 15.5-1.5 29 0.5 26.5 5.5 48.5 8 33 13.5 67.5-7 4-17.75 5.75t-21 0.75-18.5-5.75-10.25-11.75h3.5q18.5 0.5 28.5-9.5 11-11 12.5-26 0.5-3 0-6.5 0-12.5-4.5-25.5-6-16.5-17.25-27.25t-26.25-12.25h-3q-13.5 0-27.5 13zM352.5 200q12.5-21.5 20-48t18.5-49.5 30-38.5q17.5-14.5 50-14.5h4q11.5 11.5 16 27.5 4 14 4 29.5v3.5q-0.5 17.5-5.5 34t-14.5 28.5q-14.5 4-30.75 6.75t-32.5 5.25-31.75 6-27.5 9.5zM419 715.5q-1-3.5-1-6.5 0-5 2-8 3-5 7-8.75t8.25-7.25 6.25-9.5q18-5 32.5-5 18-0.5 31 7.5 23 14 33 39 7 18 7.5 38.5-0.5 7.5-1.5 15.5-4 29-17 49t-35 24q-2.5 0.5-5.5 0-20 0-45-23.5 18.5 2 28.75-4t16.25-17.5q3-10.5 3-21 0.5-12-3.5-24-7-22.5-22-33.5-5-8-13.25-6.5t-15.5 4.5-12.25 4.5q-4 1-4-5v-2.5zM554 222.5q20.5-7 35.25-23.75t26-38.25 21-45.25 21-43.75 26.75-33.75 37-15.75q4.5-0.5 9 0 14 0 26 4 16 6 28.25 18t20.5 26.75 11.25 29.25q4.5 21 4.5 41 0.5 26.5-7.5 52-13 44-41.25 78.25t-65.75 56.75-74 29q-2-14.5-7.25-26.25t-4.25-29.25q25.5-6 49.75-18.75t42-31.25 27.75-41.5q9.5-21 9.5-44v-4.5q-15.5 22.5-39.5 49.5t-50.5 42.5q-21.5 12.5-44 12.5-5.5 0-10.5-1-28-4-51-42.5z" />
|
|
||||||
<glyph unicode="" glyph-name="mind" d="M884.786 587.211c0 205.557-167.231 372.789-372.786 372.789s-372.789-167.231-372.789-372.789c0-123.682 61.010-238.758 163.298-308.374 0.46-0.402 0.936-0.79 1.441-1.151 1.118-0.804 2.207-1.606 3.306-2.432 37.28-27.97 54.097-55.37 61.707-100.627v-98.673c0-53.367 36.43-98.139 85.114-109.618 2.389-17.109 17.078-30.335 34.836-30.335h46.985c17.787 0 32.494 13.253 34.86 30.39 48.565 11.57 84.873 56.285 84.873 109.563v98.661c7.873 46.599 25.964 75.599 64.254 103.042 0.282 0.201 0.536 0.426 0.804 0.642 102.798 69.585 164.098 184.826 164.098 308.913zM617.331 75.953c0-40.914-32.023-74.198-71.385-74.198h-67.289c-27.238 0-50.951 15.941-62.983 39.315h145.002c10.576 0 19.151 8.575 19.151 19.151s-8.575 19.151-19.151 19.151h-153.407v19.151h153.407c10.576 0 19.151 8.575 19.151 19.151s-8.575 19.151-19.151 19.151h-153.407v18.711h210.063v-79.582zM483.683 193.837l-86.326 303.283c6.167-5.29 14.311-9.487 25.392-9.487 21.148 0 31.671 15.227 37.96 24.327 1.838 2.657 4.915 7.11 6.15 7.785 0 0 0.091 0.017 0.302 0.017 0.103 0.002 0.17-0.002 0.208 0 1.427-0.847 4.424-5.188 6.229-7.797 6.286-9.102 16.807-24.331 37.95-24.331 21.15 0 31.678 15.223 37.969 24.319 1.843 2.66 4.924 7.117 6.167 7.79 0 0 0.096 0.019 0.309 0.019 0.113 0.002 0.194-0.005 0.223-0.002 1.427-0.831 4.438-5.185 6.25-7.806 6.291-9.097 16.819-24.319 37.969-24.319 12.474 0 21.238 5.295 27.637 11.503l-86.926-305.296h-57.463zM697.097 308.552c-0.756-0.503-1.446-1.065-2.104-1.649-41.63-30.529-64.015-64.165-74.665-113.063h-39.355l102.702 360.705c2.897 10.172-3.002 20.767-13.176 23.663-10.16 2.897-20.767-3-23.663-13.176l-1.985-6.969c-21.1-0.031-31.618-15.223-37.905-24.303-1.846-2.667-4.936-7.131-6.193-7.804 0 0-0.096-0.019-0.318-0.019-0.122 0-0.196 0-0.22 0.002-1.427 0.831-4.438 5.185-6.25 7.804-6.291 9.097-16.819 24.322-37.972 24.322s-31.683-15.225-37.974-24.322c-1.843-2.66-4.922-7.115-6.164-7.787 0 0-0.093-0.019-0.306-0.019-0.103 0.002-0.177 0.012-0.208 0-1.427 0.847-4.424 5.188-6.229 7.797-6.286 9.102-16.807 24.331-37.95 24.331-21.148 0-31.671-15.227-37.96-24.327-1.838-2.657-4.915-7.11-6.15-7.785 0 0-0.091-0.017-0.302-0.017-0.108 0-0.175 0.007-0.208 0-1.427 0.847-4.426 5.185-6.229 7.794-6.116 8.85-16.271 23.455-36.282 24.257l-2.004 7.043c-2.894 10.172-13.482 16.065-23.663 13.176-10.172-2.897-16.072-13.489-13.176-23.663l102.671-360.705h-39.588c-10.471 47.794-32.609 80.98-74.021 112.050-0.713 0.536-1.439 1.058-2.157 1.585-0.689 0.627-1.415 1.228-2.212 1.762-92.904 62.344-148.368 166.26-148.368 277.977 0 184.434 150.051 334.484 334.487 334.484s334.487-150.051 334.487-334.487c-0.002-112.201-55.849-216.371-149.39-278.659z" />
|
|
||||||
<glyph unicode="" glyph-name="switch" d="M596.558 582.321h-211.394v55.93l-84.558-95.082 84.558-89.49v50.338h211.394v78.305zM723.394 347.413l-84.558 95.082v-55.933h-211.394v-78.301h211.394v-50.339l84.558 89.491zM112.915 310.364c4.817-17.156 7.436-54.837 7.436-112.552 0-49.464 2.508-85.778 7.714-108.867 5.205-22.926 15.382-42.486 30.609-58.118 15.151-15.635 33.782-26.934 55.822-33.751 22.118-6.734 53.863-10.102 95.16-10.102h24.43v112.874c-32.922 0-54.331 2.085-64.277 6.412-9.864 4.33-17.224 10.341-22.117 18.599-4.817 8.257-7.243 22.532-7.243 43.131 0 14.593-1.25 47.86-3.678 100.042-1.839 34.153-5.832 61.414-12.015 81.773-6.107 20.525-14.915 37.84-26.462 52.108-11.47 14.393-26.227 26.778-44.234 37.36 20.433 13.626 35.584 26.533 45.603 39.243 9.943 12.425 18.124 28.336 24.546 47.619 6.302 19.279 10.332 44.488 11.938 75.514 2.702 55.035 4.228 92.474 4.228 112.233 0 19.36 2.351 33.149 6.89 41.123 4.658 7.9 11.706 13.872 21.335 17.92 9.628 3.848 31.51 5.812 65.491 5.812v112.313h-24.432c-40.161 0-69.598-2.887-88.192-8.539-27.594-8.46-48.581-19.965-63.101-34.469-14.405-14.631-24.35-33.912-29.907-57.963-5.441-23.889-8.104-66.339-8.104-126.941 0-37.477-1.329-63.454-3.834-78.523-3.055-20.043-8.731-36.719-16.912-50.104-8.339-13.388-17.969-22.807-29.439-28.463-11.195-5.529-27.949-9.057-50.419-10.455v-112.919c28.223-1.522 49.087-7.692 62.79-18.676 13.541-10.663 23.723-28.457 30.376-53.631zM805.156-4.366c27.718 8.497 49.091 19.881 63.572 34.468 14.41 14.591 24.271 33.994 29.518 58.204 5.249 24.208 8.060 66.617 8.060 127.462 0 37.119 1.411 63.171 3.759 78.244 3.293 20.038 9.084 36.715 17.383 50.021 8.060 13.229 17.695 22.853 28.965 28.382 11.353 5.61 28.104 9.14 50.422 10.257h-0.159v112.919c-28.262 1.722-48.932 7.892-62.948 18.716-13.621 10.779-23.795 28.821-30.686 53.712-4.622 17.555-6.889 54.991-6.889 112.269 0 49.583-2.661 85.818-7.988 108.707-5.324 23.208-15.501 42.606-30.456 58.442-15.11 15.75-33.585 26.854-55.666 33.509-22.235 6.531-53.94 9.9-95.2 9.9h-24.427v-112.112c34.762 0 56.996-2.124 66.857-6.413 10.024-4.168 16.912-10.181 20.671-17.955 3.993-7.82 5.791-23.491 6.105-47.061 1.726-74.594 4.464-122.892 7.755-144.901 5.090-31.822 15.109-58.201 29.2-78.724 10.49-14.589 26.93-29.137 49.638-44.205-17.461-10.263-31.63-22.25-42.905-35.958-11.27-13.546-20.198-30.302-26.777-49.783-6.732-19.641-10.96-45.936-12.289-78.32-2.507-54.030-4.152-90.665-4.152-109.748-0.312-19.16-2.426-32.634-7.359-40.647-4.855-8.173-12.133-14.19-22.154-18.519-10.1-4.246-31.71-6.251-64.591-6.251v-112.871h24.659c39.936-0.24 69.45 2.723 88.081 8.257z" />
|
|
||||||
<glyph unicode="" glyph-name="markdown-mark" horiz-adv-x="1664" d="M240 176v544h160l160-200 160 200h160v-544h-160v312l-160-200-160 200v-312zM1240 176l-240 264h160v280h160v-280h160z" />
|
|
||||||
</font></defs></svg>
|
|
||||||
|
Before Width: | Height: | Size: 13 KiB |
Binary file not shown.
Binary file not shown.
Executable
BIN
Binary file not shown.
Loaded 100 of 900 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user