ydoc
Version:
基于 Markdown 的静态站点生成工具
77 lines • 10 kB
HTML
<html lang="zh-CN"><head><meta charSet="UTF-8"/><meta content="text/html; charset=utf-8" http-equiv="Content-Type"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/><meta name="apple-mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-status-bar-style" content="black"/><link rel="apple-touch-icon" sizes="180x180" href="../ydoc/images/apple-touch-icon.png"/><link rel="icon" type="image/png" sizes="32x32" href="../ydoc/images/favicon-32x32.png"/><link rel="icon" type="image/png" sizes="16x16" href="../ydoc/images/favicon-16x16.png"/><link rel="manifest" href="../ydoc/images/manifest.json"/><link rel="mask-icon" href="../ydoc/images/safari-pinned-tab.svg" color="#5bbad5"/><meta name="theme-color" content="#ffffff"/><meta http-equiv="Cache-Control" content="no-transform"/><meta http-equiv="Cache-Control" content="no-siteapp"/><title>设计规范</title><link rel="stylesheet" href="../ydoc/styles/style.css"/><meta name="author" content="ymfe"/><meta name="keywords"/><meta name="description" content="ydoc description demo"/><meta id="releativePath" content=".."/><link rel="stylesheet" href="../ydoc/ydoc-plugin-search/search.css"/><link rel="stylesheet" href="../ydoc/ydoc-plugin-edit-page/editPage.css"/><link rel="stylesheet" href="../custom.css"/></head><body><div class="g-doc"><div class="m-aside"><div class="m-summary" id="js-menu"><div class="m-summary-content" id="js-menu-content"><div class="m-summary-block"><ul class="m-summary-list"><li class="item"><a href="" class="href">设计规范</a></li><li class="item"><div class="m-summary-block"><a href="index.html" class="href">文档规范</a><ul class="m-summary-list indent"><li class="item"><a href="index.html#%e7%9b%ae%e5%bd%95%e7%bb%93%e6%9e%84" class="href">目录结构</a></li><li class="item"><a href="index.html#%e6%96%87%e4%bb%b6%e5%90%8d" class="href">文件名</a></li><li class="item"><a href="index.html#%e6%8e%92%e7%89%88%e6%8a%80%e5%b7%a7" class="href">排版技巧</a></li></ul></div></li></ul></div></div></div><div class="m-summary-switch" id="js-summary-switch"><svg viewBox="0 0 926.23699 573.74994" version="1.1" x="0px" y="0px" width="15" height="15" class="bottom"><g transform="translate(904.92214,-879.1482)"><path d="m -673.67664,1221.6502 -231.2455,-231.24803 55.6165,-55.627 c 30.5891,-30.59485 56.1806,-55.627 56.8701,-55.627 0.6894,0 79.8637,78.60862 175.9427,174.68583 l 174.6892,174.6858 174.6892,-174.6858 c 96.079,-96.07721 175.253196,-174.68583 175.942696,-174.68583 0.6895,0 26.281,25.03215 56.8701,55.627 l 55.6165,55.627 -231.245496,231.24803 c -127.185,127.1864-231.5279,231.248 -231.873,231.248 -0.3451,0 -104.688,-104.0616 -231.873,-231.248 z" fill="#fff"></path></g></svg><svg viewBox="0 0 926.23699 573.74994" version="1.1" x="0px" y="0px" width="15" height="15" class="top"><g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g id="aaa" fill="#fff" fill-rule="nonzero"><path d="M231.2455,342.502 L0,111.25397 L55.6165,55.62697 C86.2056,25.03212 111.7971,-2.99999998e-05 112.4866,-2.99999998e-05 C113.176,-2.99999998e-05 192.3503,78.60859 288.4293,174.6858 L463.1185,349.3716 L637.8077,174.6858 C733.8867,78.60859 813.060896,-2.99999997e-05 813.750396,-2.99999997e-05 C814.439896,-2.99999997e-05 840.031396,25.03212 870.620496,55.62697 L926.236996,111.25397 L694.9915,342.502 C567.8065,469.6884 463.4636,573.75 463.1185,573.75 C462.7734,573.75 358.4305,469.6884 231.2455,342.502 Z" id="Shape" transform="translate(463.118498, 286.874985) scale(1, -1) translate(-463.118498, -286.874985) "></path></g></g></svg></div></div><div class="m-main" id="js-panel"><header class="m-header" id="js-header"><div class="m-header-title js-logo"><a href="../index.html" target="_self"><img class="logo" width="36" src="../ydoc/images/dog@1x.png" srcSet="../ydoc/images/dog@2x.png 2x"/><h6 class="name">YDoc</h6></a></div><div><div class="m-search">
<div class="icon"></div>
<input type="text" class="input js-input" placeholder="搜索" />
<div class="m-search-result js-search-result"></div>
</div></div><nav class="m-header-nav js-nav"><ul class="m-header-items"><li class="item "><a class="href" href="../documents/index.html">文档</a></li><li class="item "><a class="href" href="../plugin/index.html">插件</a></li><li class="item "><a class="href" href="../theme/index.html">主题</a></li><li class="item "><a class="href" href="../examples/index.html">示例 Demo</a></li><li class="item "><span class="href">规范</span><ul class="m-header-subtitle"><li class="item"><a href="" class="link">设计规范</a></li><li class="item"><a href="index.html" class="link">文档规范</a></li></ul></li></ul></nav><div id="js-nav-btn" class="m-header-btn ui-font-ydoc"></div></header><div class="m-content" id="js-content"><div id="markdown-body" class="m-content-container markdown-body"><h1>设计规范</h1>
<h2 id="ydoc-项目设计规范">YDoc 项目设计规范</h2>
<p>YDoc 的设计稿经过设计师的几度推敲重做,诞生了现在你看到的默认主题 🤓,YDoc 有如下设计理念:</p>
<ul>
<li>💃 青春:使用大胆、活泼的配色方案,体现 <a href="https://ymfe.org/" target="_blank">YMFE 团队</a> 的产品文化</li>
<li>🤗 科学:以科学的态度对待视觉设计、功能设计,让设计有迹可循</li>
<li>🤔 简洁:以 <code>无形</code> 代替 <code>有形</code>,从 UI 到开发体验,不断去除冗余的设计,使用户专注于写作与阅读</li>
</ul>
<p>以下是 YDoc 设计过程中总结的一些规则,这些可以帮助你构建优美的文档页面:</p>
<h3 id="ydoc-项目设计规范-图片">图片</h3>
<ul>
<li>禁止使用未经压缩处理的图片</li>
<li>使用图片的原始高宽比,禁止手动调整高宽比</li>
<li>在高清屏幕请使用2倍/3倍图,防止图像模糊</li>
</ul>
<h3 id="ydoc-项目设计规范-排版">排版</h3>
<ul>
<li>文档正文使用 16px 字号,但默认字号为 14px,这是为了增强正文部分的阅读体验</li>
<li>请限制每行文字的宽度(行宽),以一行 <strong>40-60</strong> 字为宜:
<ul>
<li>行宽过短,用户需要频繁移动视线,影响阅读连贯性</li>
<li>行宽过长,容易视觉疲劳,用户很难专注于一行文本阅读,从大段文字中找到下一行变得更困难</li>
</ul>
</li>
</ul>
<blockquote>
<p>行宽的设计参考 <a href="https://baymard.com/blog/line-length-readability" target="_blank">Readability: the Optimal Line Length</a></p>
</blockquote>
<p><span style="color: #ff4f5f;">YDoc 正文排版经历过精心设计,不建议用户修改正文排版</span></p>
<h3 id="ydoc-项目设计规范-项目规范文件">项目规范文件</h3>
<p>YDoc 继承自 <a href="https://ued.qunar.com/youth-design/" target="_blank">Youth Design</a>。</p>
<p>现在将 YDoc 的LOGO、色彩、排版等规范提供给大家,希望能给大家在自定义样式或定制主题的时候提供一些帮助:</p>
<div class="filebox">
<div class="item" onclick="window.open('https://github.com/YMFE/ydoc/releases/download/v4.0.0/ydoc-design-sketch.zip')">
<!-- <img src="" alt="" /> -->
<h4 class="title">YDoc 项目设计规范</h4>
<p>YDoc 规范 sketch 文件</p>
</div>
<div class="item" onclick="window.open('https://github.com/YMFE/ydoc/releases/download/v4.0.0/ydoc-logo.zip')">
<!-- <img src="" alt="" /> -->
<h4 class="title">YDoc LOGO</h4>
<p>Logo sketch 文件</p>
</div>
</div></div><div class="m-content-container m-paging"><div class="m-paging-next m-paging-item"><a href="index.html" class="href">文档规范<span class="ui-font-ydoc"></span></a></div></div></div></div></div><div></div><script>
var $content = document.getElementById('js-content');
var $summaryItems = Array.prototype.slice.call(document.querySelectorAll('#js-menu .href'));
var $menu = document.getElementById('js-menu');
if (sessionStorage.prevPathname) {
sessionStorage.setItem('prevPrevPathname', sessionStorage.prevPathname);
sessionStorage.setItem('prevPrevMenuScrollTop', sessionStorage.prevMenuScrollTop);
sessionStorage.setItem('prevPrevContentScrollTop', sessionStorage.prevContentScrollTop);
}
if (sessionStorage.locationPathname) {
sessionStorage.setItem('prevPathname', sessionStorage.locationPathname);
sessionStorage.setItem('prevMenuScrollTop', sessionStorage.menuScrollTop);
sessionStorage.setItem('prevContentScrollTop', sessionStorage.contentScrollTop);
}
if ($menu && sessionStorage.menuScrollTop) {
$menu.scrollTop = sessionStorage.menuScrollTop;
}
// 刷新页面但不切换 pathname 的时候,内容区恢复到记忆的高度
if ($content && sessionStorage.contentScrollTop && window.location.pathname == sessionStorage.locationPathname) {
$content.scrollTop = sessionStorage.contentScrollTop;
} else if (sessionStorage.prevPrevPathname && sessionStorage.prevPrevPathname === window.location.pathname) {
if ($menu && sessionStorage.prevPrevMenuScrollTop) {
$menu.scrollTop = sessionStorage.prevPrevMenuScrollTop;
}
if ($content && sessionStorage.prevPrevContentScrollTop) {
$content.scrollTop = sessionStorage.prevPrevContentScrollTop;
}
}
sessionStorage.setItem('locationPathname', window.location.pathname);
</script><script src="../ydoc/scripts/plugins/dollar.min.js"></script><script src="../ydoc/scripts/plugins/responsive-nav.min.js"></script><script src="../ydoc/scripts/plugins/slideout.min.js"></script><script src="../ydoc/scripts/app.js"></script><script src="../ydoc/ydoc-plugin-search/core.js"></script><script src="../ydoc/ydoc-plugin-search/search.js"></script><script src="../ydoc/ydoc-plugin-edit-page/edit.script.js"></script><script src="../search_json.js"></script><script src="../edit_json.js"></script></body></html>