Compare commits
No commits in common. "master" and "run-page" have entirely different histories.
18
.travis.yml
@ -1,18 +0,0 @@
|
|||||||
sudo: false
|
|
||||||
language: node_js
|
|
||||||
node_js:
|
|
||||||
- 10 # use nodejs v10 LTS
|
|
||||||
cache: npm
|
|
||||||
branches:
|
|
||||||
only:
|
|
||||||
- master # build master branch only
|
|
||||||
script:
|
|
||||||
- hexo generate # generate static files
|
|
||||||
deploy:
|
|
||||||
provider: pages
|
|
||||||
skip-cleanup: true
|
|
||||||
github-token: $GH_TOKEN
|
|
||||||
keep-history: true
|
|
||||||
on:
|
|
||||||
branch: master
|
|
||||||
local-dir: public
|
|
453
2016/10/16/My-thoughts-on-the-Internet-of-Things/index.html
Normal file
@ -0,0 +1,453 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=2">
|
||||||
|
<meta name="theme-color" content="#222">
|
||||||
|
<meta name="generator" content="Hexo 3.9.0">
|
||||||
|
<link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon-next.png?v=7.4.1">
|
||||||
|
<link rel="icon" type="image/png" sizes="32x32" href="/images/favicon-32x32-next.png?v=7.4.1">
|
||||||
|
<link rel="icon" type="image/png" sizes="16x16" href="/images/favicon-16x16-next.png?v=7.4.1">
|
||||||
|
<link rel="mask-icon" href="/images/logo.svg?v=7.4.1" color="#222">
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="/css/main.css?v=7.4.1">
|
||||||
|
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="/lib/font-awesome/css/font-awesome.min.css?v=4.7.0">
|
||||||
|
|
||||||
|
|
||||||
|
<script id="hexo-configurations">
|
||||||
|
var NexT = window.NexT || {};
|
||||||
|
var CONFIG = {
|
||||||
|
root: '/',
|
||||||
|
scheme: 'Pisces',
|
||||||
|
version: '7.4.1',
|
||||||
|
exturl: false,
|
||||||
|
sidebar: {"position":"right","display":"post","offset":12,"onmobile":false},
|
||||||
|
copycode: {"enable":false,"show_result":false,"style":null},
|
||||||
|
back2top: {"enable":true,"sidebar":false,"scrollpercent":false},
|
||||||
|
bookmark: {"enable":false,"color":"#222","save":"auto"},
|
||||||
|
fancybox: false,
|
||||||
|
mediumzoom: false,
|
||||||
|
lazyload: false,
|
||||||
|
pangu: false,
|
||||||
|
algolia: {
|
||||||
|
appID: '',
|
||||||
|
apiKey: '',
|
||||||
|
indexName: '',
|
||||||
|
hits: {"per_page":10},
|
||||||
|
labels: {"input_placeholder":"Search for Posts","hits_empty":"We didn't find any results for the search: ${query}","hits_stats":"${hits} results found in ${time} ms"}
|
||||||
|
},
|
||||||
|
localsearch: {"enable":false,"trigger":"auto","top_n_per_article":1,"unescape":false,"preload":false},
|
||||||
|
path: '',
|
||||||
|
motion: {"enable":true,"async":false,"transition":{"post_block":"fadeIn","post_header":"slideDownIn","post_body":"slideDownIn","coll_header":"slideLeftIn","sidebar":"slideUpIn"}},
|
||||||
|
translation: {
|
||||||
|
copy_button: 'Copy',
|
||||||
|
copy_success: 'Copied',
|
||||||
|
copy_failure: 'Copy failed'
|
||||||
|
},
|
||||||
|
sidebarPadding: 40
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<meta name="description" content="My thoughts on the IoTRecently, I have been studying in the school with heavy tasks. I feel that I have no time to think about it. This is different from the time when I was in junior high school. I h">
|
||||||
|
<meta name="keywords" content="Software, Computing">
|
||||||
|
<meta property="og:type" content="article">
|
||||||
|
<meta property="og:title" content="My thoughts on the Internet of Things">
|
||||||
|
<meta property="og:url" content="http://saturneric.cn/2016/10/16/My-thoughts-on-the-Internet-of-Things/index.html">
|
||||||
|
<meta property="og:site_name" content="Hu Yu's Personal Blog">
|
||||||
|
<meta property="og:description" content="My thoughts on the IoTRecently, I have been studying in the school with heavy tasks. I feel that I have no time to think about it. This is different from the time when I was in junior high school. I h">
|
||||||
|
<meta property="og:locale" content="en">
|
||||||
|
<meta property="og:updated_time" content="2019-10-25T07:02:23.329Z">
|
||||||
|
<meta name="twitter:card" content="summary">
|
||||||
|
<meta name="twitter:title" content="My thoughts on the Internet of Things">
|
||||||
|
<meta name="twitter:description" content="My thoughts on the IoTRecently, I have been studying in the school with heavy tasks. I feel that I have no time to think about it. This is different from the time when I was in junior high school. I h">
|
||||||
|
<link rel="canonical" href="http://saturneric.cn/2016/10/16/My-thoughts-on-the-Internet-of-Things/">
|
||||||
|
|
||||||
|
|
||||||
|
<script id="page-configurations">
|
||||||
|
// https://hexo.io/docs/variables.html
|
||||||
|
CONFIG.page = {
|
||||||
|
sidebar: "",
|
||||||
|
isHome: false,
|
||||||
|
isPost: true,
|
||||||
|
isPage: false,
|
||||||
|
isArchive: false
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<title>My thoughts on the Internet of Things | Hu Yu's Personal Blog</title>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<noscript>
|
||||||
|
<style>
|
||||||
|
.use-motion .brand,
|
||||||
|
.use-motion .menu-item,
|
||||||
|
.sidebar-inner,
|
||||||
|
.use-motion .post-block,
|
||||||
|
.use-motion .pagination,
|
||||||
|
.use-motion .comments,
|
||||||
|
.use-motion .post-header,
|
||||||
|
.use-motion .post-body,
|
||||||
|
.use-motion .collection-header { opacity: initial; }
|
||||||
|
|
||||||
|
.use-motion .logo,
|
||||||
|
.use-motion .site-title,
|
||||||
|
.use-motion .site-subtitle {
|
||||||
|
opacity: initial;
|
||||||
|
top: initial;
|
||||||
|
}
|
||||||
|
|
||||||
|
.use-motion .logo-line-before i { left: initial; }
|
||||||
|
.use-motion .logo-line-after i { right: initial; }
|
||||||
|
</style>
|
||||||
|
</noscript>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body itemscope itemtype="http://schema.org/WebPage">
|
||||||
|
<div class="container use-motion">
|
||||||
|
<div class="headband"></div>
|
||||||
|
|
||||||
|
<header id="header" class="header" itemscope itemtype="http://schema.org/WPHeader">
|
||||||
|
<div class="header-inner"><div class="site-brand-container">
|
||||||
|
<div class="site-meta">
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<a href="/" class="brand" rel="start">
|
||||||
|
<span class="logo-line-before"><i></i></span>
|
||||||
|
<span class="site-title">Hu Yu's Personal Blog</span>
|
||||||
|
<span class="logo-line-after"><i></i></span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<p class="site-subtitle">Technical Articles about Computing and Software.</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="site-nav-toggle">
|
||||||
|
<div class="toggle" aria-label="Toggle navigation bar">
|
||||||
|
<span class="toggle-line toggle-line-first"></span>
|
||||||
|
<span class="toggle-line toggle-line-middle"></span>
|
||||||
|
<span class="toggle-line toggle-line-last"></span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<nav class="site-nav">
|
||||||
|
|
||||||
|
<ul id="menu" class="menu">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<li class="menu-item menu-item-home">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="/" rel="section"><i class="fa fa-fw fa-home"></i>Home</a>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<li class="menu-item menu-item-archives">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="/archives/" rel="section"><i class="fa fa-fw fa-archive"></i>Archives</a>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="back-to-top">
|
||||||
|
<i class="fa fa-arrow-up"></i>
|
||||||
|
<span>0%</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<main id="main" class="main">
|
||||||
|
<div class="main-inner">
|
||||||
|
<div class="content-wrap">
|
||||||
|
|
||||||
|
|
||||||
|
<div id="content" class="content">
|
||||||
|
|
||||||
|
|
||||||
|
<div class="posts-expand">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<article itemscope itemtype="http://schema.org/Article" class="post-block " lang="en">
|
||||||
|
<link itemprop="mainEntityOfPage" href="http://saturneric.cn/2016/10/16/My-thoughts-on-the-Internet-of-Things/">
|
||||||
|
|
||||||
|
<span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
|
||||||
|
<meta itemprop="name" content="Hu Yu">
|
||||||
|
<meta itemprop="description" content="">
|
||||||
|
<meta itemprop="image" content="/images/avatar.gif">
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
|
||||||
|
<meta itemprop="name" content="Hu Yu's Personal Blog">
|
||||||
|
</span>
|
||||||
|
<header class="post-header">
|
||||||
|
<h1 class="post-title" itemprop="name headline">My thoughts on the Internet of Things
|
||||||
|
|
||||||
|
|
||||||
|
</h1>
|
||||||
|
|
||||||
|
<div class="post-meta">
|
||||||
|
<span class="post-meta-item">
|
||||||
|
<span class="post-meta-item-icon">
|
||||||
|
<i class="fa fa-calendar-o"></i>
|
||||||
|
</span>
|
||||||
|
<span class="post-meta-item-text">Posted on</span>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<time title="Created: 2016-10-16 12:42:00" itemprop="dateCreated datePublished" datetime="2016-10-16T12:42:00+08:00">2016-10-16</time>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<span class="post-meta-item">
|
||||||
|
<span class="post-meta-item-icon">
|
||||||
|
<i class="fa fa-calendar-check-o"></i>
|
||||||
|
</span>
|
||||||
|
<span class="post-meta-item-text">Edited on</span>
|
||||||
|
<time title="Modified: 2019-10-25 15:02:23" itemprop="dateModified" datetime="2019-10-25T15:02:23+08:00">2019-10-25</time>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="post-body" itemprop="articleBody">
|
||||||
|
|
||||||
|
|
||||||
|
<h1 id="My-thoughts-on-the-IoT"><a href="#My-thoughts-on-the-IoT" class="headerlink" title="My thoughts on the IoT"></a>My thoughts on the IoT</h1><p>Recently, I have been studying in the school with heavy tasks. I feel that I have no time to think about it. This is different from the time when I was in junior high school. I have some time to think about things that have nothing to do with learning. After all, I have to think about it.</p>
|
||||||
|
<p>However, even in such a tight time, I can’t help but spend some time thinking. The content of thinking is what I discussed in this article today.</p>
|
||||||
|
<h2 id="Overview"><a href="#Overview" class="headerlink" title="Overview"></a>Overview</h2><p>The Internet of Things, this evolving thing, will continue to increase the level of informationization in human society in the future. But now, I believe that the domestic Internet of Things is still immature. First, there is no unified agreement. Second, the concept of the Internet of Things is not profound in China. What is the Internet of Things? Let’s take a look at the definition of Wikipedia:</p>
|
||||||
|
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">The Internet of Things (IoT) is an information carrier such as the Internet and traditional telecommunication networks, enabling all ordinary objects that can perform independent functions to realize interconnection and interoperability.</span><br></pre></td></tr></table></figure>
|
||||||
|
|
||||||
|
<h2 id="Thoughts"><a href="#Thoughts" class="headerlink" title="Thoughts"></a>Thoughts</h2><p>The key is that all objects that can perform independent functions are interconnected. This shows that on the Internet of Things, all objects connected to the network can be interconnected, exchange information, and then use their own functions and information obtained through the Internet of Things to make the operation more convenient and fast. . Before that, my first thought was smart home. In the smart home, these homes can be controlled by adding communication devices and necessary functional devices to the switches and door locks, and then connecting the wireless host through the mobile phone. In this mode, for security, all communications must be handled by a device like a wireless host. I looked at Taobao, this system and many sellers are selling. Including Xiaomi, etc., have already explored in this regard. But I think that this kind of thinking is actually centering the Internet of Things.</p>
|
||||||
|
<p>Centralization naturally has the benefits of centralization and its drawbacks. The advantage is that the principle of manipulation through the wireless host is relatively simple, as long as the mobile phone connected to the WIFI is moved over. And relatively safe. However, think about it. If a hacker breaks a wireless host at home, is he equal to manipulating all the smart homes in your home? All your personal information hackers will have an unobstructed view. And in doing so, the size of the Internet of Things network will be limited. If the Internet has a center, will the Internet still reach today’s level of development? Obviously, the Internet of Things should develop rapidly, and decentralization should be a trend. After decentralization, information can be exchanged between two objects that follow a unified protocol. And each object can be extended to expand this network. As with the TCP/IP protocol, each object can send information, accept information, and transmit information. All we have to do is connect this network to the Internet and integrate it with the Internet to become the new terminal of the Internet. If this can be done, then humans’ ability to acquire information and spread will be greatly enhanced. In this way, all human beings can share information about the world. In this case, each object with a specific function is like getting wisdom. They can get enough information before they can get better. They can share information with each other and then serve humanity better. Engineers can use this web to improve and update their intelligence and reduce the rate of item replacement. In this way, the application of the Internet of Things is not limited to smart homes. As the intelligence of the items expands, the Internet of Things will reach out to all corners. Under this network, each item can not only help humans to complete their intended functions, they are also contributors to Internet information, and they contribute information they know to the Internet and contribute to human society. Such an Internet of Things format will greatly enhance the information level of human society, and information exchange will be greatly accelerated, and life will be more convenient. This is the trend of the development of the Internet of Things. </p>
|
||||||
|
<p>But it is unavoidable that it brings privacy issues, protocol issues, and security issues, but it can be prevented, and I will discuss them in the next few articles.</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<footer class="post-footer">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="post-nav">
|
||||||
|
<div class="post-nav-next post-nav-item">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<span class="post-nav-divider"></span>
|
||||||
|
|
||||||
|
<div class="post-nav-prev post-nav-item">
|
||||||
|
|
||||||
|
<a href="/2016/10/20/My-thoughts-on-the-Internet-of-Things2/" rel="prev" title="My thoughts on the Internet of Things2">
|
||||||
|
My thoughts on the Internet of Things2 <i class="fa fa-chevron-right"></i>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
</article>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="toggle sidebar-toggle">
|
||||||
|
<span class="toggle-line toggle-line-first"></span>
|
||||||
|
<span class="toggle-line toggle-line-middle"></span>
|
||||||
|
<span class="toggle-line toggle-line-last"></span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<aside class="sidebar">
|
||||||
|
<div class="sidebar-inner">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<ul class="sidebar-nav motion-element">
|
||||||
|
<li class="sidebar-nav-toc">
|
||||||
|
Table of Contents
|
||||||
|
</li>
|
||||||
|
<li class="sidebar-nav-overview">
|
||||||
|
Overview
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<!--noindex-->
|
||||||
|
<div class="post-toc-wrap sidebar-panel">
|
||||||
|
<div class="post-toc motion-element"><ol class="nav"><li class="nav-item nav-level-1"><a class="nav-link" href="#My-thoughts-on-the-IoT"><span class="nav-number">1.</span> <span class="nav-text">My thoughts on the IoT</span></a><ol class="nav-child"><li class="nav-item nav-level-2"><a class="nav-link" href="#Overview"><span class="nav-number">1.1.</span> <span class="nav-text">Overview</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#Thoughts"><span class="nav-number">1.2.</span> <span class="nav-text">Thoughts</span></a></li></ol></li></ol></div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<!--/noindex-->
|
||||||
|
|
||||||
|
<div class="site-overview-wrap sidebar-panel">
|
||||||
|
<div class="site-author motion-element" itemprop="author" itemscope itemtype="http://schema.org/Person">
|
||||||
|
<p class="site-author-name" itemprop="name">Hu Yu</p>
|
||||||
|
<div class="site-description" itemprop="description"></div>
|
||||||
|
</div>
|
||||||
|
<div class="site-state-wrap motion-element">
|
||||||
|
<nav class="site-state">
|
||||||
|
<div class="site-state-item site-state-posts">
|
||||||
|
|
||||||
|
<a href="/archives/">
|
||||||
|
|
||||||
|
<span class="site-state-item-count">7</span>
|
||||||
|
<span class="site-state-item-name">posts</span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
<div class="links-of-author motion-element">
|
||||||
|
<span class="links-of-author-item">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="mailto:saturneric@ieee.org" title="E-Mail &rarr; mailto:saturneric@ieee.org" rel="noopener" target="_blank"><i class="fa fa-fw fa-envelope"></i>E-Mail</a>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</aside>
|
||||||
|
<div id="sidebar-dimmer"></div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<footer id="footer" class="footer">
|
||||||
|
<div class="footer-inner">
|
||||||
|
<div class="copyright">© <span itemprop="copyrightYear">2019</span>
|
||||||
|
<span class="with-love" id="animate">
|
||||||
|
<i class="fa fa-user"></i>
|
||||||
|
</span>
|
||||||
|
<span class="author" itemprop="copyrightHolder">Hu Yu</span>
|
||||||
|
</div>
|
||||||
|
<div class="powered-by">Powered by <a href="https://hexo.io/" class="theme-link" rel="noopener" target="_blank">Hexo</a> v3.9.0</div>
|
||||||
|
<span class="post-meta-divider">|</span>
|
||||||
|
<div class="theme-info">Theme – <a href="https://theme-next.org/" class="theme-link" rel="noopener" target="_blank">NexT.Pisces</a> v7.4.1</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="/lib/anime.min.js?v=3.1.0"></script>
|
||||||
|
<script src="/lib/velocity/velocity.min.js?v=1.2.1"></script>
|
||||||
|
<script src="/lib/velocity/velocity.ui.min.js?v=1.2.1"></script>
|
||||||
|
<script src="/js/utils.js?v=7.4.1"></script><script src="/js/motion.js?v=7.4.1"></script>
|
||||||
|
<script src="/js/schemes/pisces.js?v=7.4.1"></script>
|
||||||
|
<script src="/js/next-boot.js?v=7.4.1"></script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
455
2016/10/20/My-thoughts-on-the-Internet-of-Things2/index.html
Normal file
@ -0,0 +1,455 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=2">
|
||||||
|
<meta name="theme-color" content="#222">
|
||||||
|
<meta name="generator" content="Hexo 3.9.0">
|
||||||
|
<link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon-next.png?v=7.4.1">
|
||||||
|
<link rel="icon" type="image/png" sizes="32x32" href="/images/favicon-32x32-next.png?v=7.4.1">
|
||||||
|
<link rel="icon" type="image/png" sizes="16x16" href="/images/favicon-16x16-next.png?v=7.4.1">
|
||||||
|
<link rel="mask-icon" href="/images/logo.svg?v=7.4.1" color="#222">
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="/css/main.css?v=7.4.1">
|
||||||
|
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="/lib/font-awesome/css/font-awesome.min.css?v=4.7.0">
|
||||||
|
|
||||||
|
|
||||||
|
<script id="hexo-configurations">
|
||||||
|
var NexT = window.NexT || {};
|
||||||
|
var CONFIG = {
|
||||||
|
root: '/',
|
||||||
|
scheme: 'Pisces',
|
||||||
|
version: '7.4.1',
|
||||||
|
exturl: false,
|
||||||
|
sidebar: {"position":"right","display":"post","offset":12,"onmobile":false},
|
||||||
|
copycode: {"enable":false,"show_result":false,"style":null},
|
||||||
|
back2top: {"enable":true,"sidebar":false,"scrollpercent":false},
|
||||||
|
bookmark: {"enable":false,"color":"#222","save":"auto"},
|
||||||
|
fancybox: false,
|
||||||
|
mediumzoom: false,
|
||||||
|
lazyload: false,
|
||||||
|
pangu: false,
|
||||||
|
algolia: {
|
||||||
|
appID: '',
|
||||||
|
apiKey: '',
|
||||||
|
indexName: '',
|
||||||
|
hits: {"per_page":10},
|
||||||
|
labels: {"input_placeholder":"Search for Posts","hits_empty":"We didn't find any results for the search: ${query}","hits_stats":"${hits} results found in ${time} ms"}
|
||||||
|
},
|
||||||
|
localsearch: {"enable":false,"trigger":"auto","top_n_per_article":1,"unescape":false,"preload":false},
|
||||||
|
path: '',
|
||||||
|
motion: {"enable":true,"async":false,"transition":{"post_block":"fadeIn","post_header":"slideDownIn","post_body":"slideDownIn","coll_header":"slideLeftIn","sidebar":"slideUpIn"}},
|
||||||
|
translation: {
|
||||||
|
copy_button: 'Copy',
|
||||||
|
copy_success: 'Copied',
|
||||||
|
copy_failure: 'Copy failed'
|
||||||
|
},
|
||||||
|
sidebarPadding: 40
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<meta name="description" content="My thoughts on the IoT 2The previous article roughly talked about the germination of the idea of decentralization of the Internet of Things in my mind. This week I further thought about the germinatio">
|
||||||
|
<meta name="keywords" content="Software, Computing">
|
||||||
|
<meta property="og:type" content="article">
|
||||||
|
<meta property="og:title" content="My thoughts on the Internet of Things2">
|
||||||
|
<meta property="og:url" content="http://saturneric.cn/2016/10/20/My-thoughts-on-the-Internet-of-Things2/index.html">
|
||||||
|
<meta property="og:site_name" content="Hu Yu's Personal Blog">
|
||||||
|
<meta property="og:description" content="My thoughts on the IoT 2The previous article roughly talked about the germination of the idea of decentralization of the Internet of Things in my mind. This week I further thought about the germinatio">
|
||||||
|
<meta property="og:locale" content="en">
|
||||||
|
<meta property="og:updated_time" content="2019-10-25T07:00:23.604Z">
|
||||||
|
<meta name="twitter:card" content="summary">
|
||||||
|
<meta name="twitter:title" content="My thoughts on the Internet of Things2">
|
||||||
|
<meta name="twitter:description" content="My thoughts on the IoT 2The previous article roughly talked about the germination of the idea of decentralization of the Internet of Things in my mind. This week I further thought about the germinatio">
|
||||||
|
<link rel="canonical" href="http://saturneric.cn/2016/10/20/My-thoughts-on-the-Internet-of-Things2/">
|
||||||
|
|
||||||
|
|
||||||
|
<script id="page-configurations">
|
||||||
|
// https://hexo.io/docs/variables.html
|
||||||
|
CONFIG.page = {
|
||||||
|
sidebar: "",
|
||||||
|
isHome: false,
|
||||||
|
isPost: true,
|
||||||
|
isPage: false,
|
||||||
|
isArchive: false
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<title>My thoughts on the Internet of Things2 | Hu Yu's Personal Blog</title>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<noscript>
|
||||||
|
<style>
|
||||||
|
.use-motion .brand,
|
||||||
|
.use-motion .menu-item,
|
||||||
|
.sidebar-inner,
|
||||||
|
.use-motion .post-block,
|
||||||
|
.use-motion .pagination,
|
||||||
|
.use-motion .comments,
|
||||||
|
.use-motion .post-header,
|
||||||
|
.use-motion .post-body,
|
||||||
|
.use-motion .collection-header { opacity: initial; }
|
||||||
|
|
||||||
|
.use-motion .logo,
|
||||||
|
.use-motion .site-title,
|
||||||
|
.use-motion .site-subtitle {
|
||||||
|
opacity: initial;
|
||||||
|
top: initial;
|
||||||
|
}
|
||||||
|
|
||||||
|
.use-motion .logo-line-before i { left: initial; }
|
||||||
|
.use-motion .logo-line-after i { right: initial; }
|
||||||
|
</style>
|
||||||
|
</noscript>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body itemscope itemtype="http://schema.org/WebPage">
|
||||||
|
<div class="container use-motion">
|
||||||
|
<div class="headband"></div>
|
||||||
|
|
||||||
|
<header id="header" class="header" itemscope itemtype="http://schema.org/WPHeader">
|
||||||
|
<div class="header-inner"><div class="site-brand-container">
|
||||||
|
<div class="site-meta">
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<a href="/" class="brand" rel="start">
|
||||||
|
<span class="logo-line-before"><i></i></span>
|
||||||
|
<span class="site-title">Hu Yu's Personal Blog</span>
|
||||||
|
<span class="logo-line-after"><i></i></span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<p class="site-subtitle">Technical Articles about Computing and Software.</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="site-nav-toggle">
|
||||||
|
<div class="toggle" aria-label="Toggle navigation bar">
|
||||||
|
<span class="toggle-line toggle-line-first"></span>
|
||||||
|
<span class="toggle-line toggle-line-middle"></span>
|
||||||
|
<span class="toggle-line toggle-line-last"></span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<nav class="site-nav">
|
||||||
|
|
||||||
|
<ul id="menu" class="menu">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<li class="menu-item menu-item-home">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="/" rel="section"><i class="fa fa-fw fa-home"></i>Home</a>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<li class="menu-item menu-item-archives">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="/archives/" rel="section"><i class="fa fa-fw fa-archive"></i>Archives</a>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="back-to-top">
|
||||||
|
<i class="fa fa-arrow-up"></i>
|
||||||
|
<span>0%</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<main id="main" class="main">
|
||||||
|
<div class="main-inner">
|
||||||
|
<div class="content-wrap">
|
||||||
|
|
||||||
|
|
||||||
|
<div id="content" class="content">
|
||||||
|
|
||||||
|
|
||||||
|
<div class="posts-expand">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<article itemscope itemtype="http://schema.org/Article" class="post-block " lang="en">
|
||||||
|
<link itemprop="mainEntityOfPage" href="http://saturneric.cn/2016/10/20/My-thoughts-on-the-Internet-of-Things2/">
|
||||||
|
|
||||||
|
<span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
|
||||||
|
<meta itemprop="name" content="Hu Yu">
|
||||||
|
<meta itemprop="description" content="">
|
||||||
|
<meta itemprop="image" content="/images/avatar.gif">
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
|
||||||
|
<meta itemprop="name" content="Hu Yu's Personal Blog">
|
||||||
|
</span>
|
||||||
|
<header class="post-header">
|
||||||
|
<h1 class="post-title" itemprop="name headline">My thoughts on the Internet of Things2
|
||||||
|
|
||||||
|
|
||||||
|
</h1>
|
||||||
|
|
||||||
|
<div class="post-meta">
|
||||||
|
<span class="post-meta-item">
|
||||||
|
<span class="post-meta-item-icon">
|
||||||
|
<i class="fa fa-calendar-o"></i>
|
||||||
|
</span>
|
||||||
|
<span class="post-meta-item-text">Posted on</span>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<time title="Created: 2016-10-20 21:59:00" itemprop="dateCreated datePublished" datetime="2016-10-20T21:59:00+08:00">2016-10-20</time>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<span class="post-meta-item">
|
||||||
|
<span class="post-meta-item-icon">
|
||||||
|
<i class="fa fa-calendar-check-o"></i>
|
||||||
|
</span>
|
||||||
|
<span class="post-meta-item-text">Edited on</span>
|
||||||
|
<time title="Modified: 2019-10-25 15:00:23" itemprop="dateModified" datetime="2019-10-25T15:00:23+08:00">2019-10-25</time>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="post-body" itemprop="articleBody">
|
||||||
|
|
||||||
|
|
||||||
|
<h1 id="My-thoughts-on-the-IoT-2"><a href="#My-thoughts-on-the-IoT-2" class="headerlink" title="My thoughts on the IoT 2"></a>My thoughts on the IoT 2</h1><p>The previous article roughly talked about the germination of the idea of decentralization of the Internet of Things in my mind. This week I further thought about the germination of my heart. Now, I mainly want to elaborate on the conceptual framework in my mind. There may be some omissions and hopes.</p>
|
||||||
|
<h2 id="Overview"><a href="#Overview" class="headerlink" title="Overview"></a>Overview</h2><p>This article mainly summarizes my decentralized view of the Internet of Things and the main organizational form of the public network of the Internet of Things after decentralization. For everyone’s easy acceptance, don’t be bothered by the boring logical thinking in my mind. I gave some examples to illustrate. This has lost some professionalism and hopes for understanding.</p>
|
||||||
|
<h2 id="Thoughts"><a href="#Thoughts" class="headerlink" title="Thoughts"></a>Thoughts</h2><p>In my vision, the objects connected to the Internet of Things are equal. They all have their own functions, such as boiling water, cooking rice, making yogurt (maybe I am a little hungry now), of course, this object may also be a robot. If engineers want to connect them to the Internet of Things, they don’t have to develop them from scratch. They just need to add off-the-shelf IoT terminal modules to their appliances (objects) and then operate the module according to a standardized protocol. It can be said that as long as the IoT module is added, this lonely object can use it to talk to other objects that own this module. Because of the unified protocol, they can understand each other’s words, and can easily communicate with other objects to obtain the necessary information, thus saving a lot of trouble. And the Internet of Things module will also provide Internet access to facilitate the acquisition of information by objects. For detailed instructions on how to get information, how to know what information other objects provide, will be discussed in a future article.</p>
|
||||||
|
<p>Now that this talking object wants to talk to many objects, like humans, they also form a network of relationships to facilitate the exchange of information. The relational network is divided into a public relationship network and a private relationship network. In public relations networks, objects that access this network should follow a common password (the password, see in later articles), and objects can exchange information widely. Because public network access does not require strict security checks like private networks and does not use packets encrypted with private passwords, it can be seen that access to public networks is very convenient, so public networks will become very large. Objects with public service functions are generally connected to the network, such as traffic lights, automatic weather stations, public service robots, buses, etc., so there are many types of information that objects can obtain. For example, my bus stop can be connected to the public network, and it is convenient to obtain weather information from the nearest automatic weather station through the public network, adjust itself within the scope of its existing functions, and provide passengers with more comfortable and environmentally friendly. Car plan. If there are too many passengers in this bus stop and it is raining, the passengers will be sheltered from the rain. The platform can also communicate with the mobile phone that is connected to the public network nearby, telling the person who is using the mobile phone. There are too many people at this station. Come again. When people, people who use mobile phones can also use the contact station to get the information they need. All communication is mainly done by wireless. It is very convenient. The platform has doubts: the coverage of the wireless network is so large. How can I contact people who are several kilometers away? Could it be that I am not equipped with a high-power transmitter? In fact, this is ok, but I have a better solution. In my vision, an object connected to the Internet of Things has to be obligated to have benefits. When the station sends out its information, the object that is connected to the Internet of Things close to him will receive the message. They need to be responsible for forwarding this message and propagating it to other objects in their vicinity. If there are enough objects in the net, the message can be communicated to a farther place. However, this method can not solve all problems. In order to transmit information in time, the platform can directly connect the Internet of Things module to the Internet and tell other objects through the Internet. In fact, in the absence of a way, for example, at the edge of the object, the object can also be wired communication, satellite communication and other means. It’s just that the price will be even greater. It can be said that the communication method of the Internet of Things is very flexible and has the ability to timely convey the information obtained. What’s more, every object in the public network has its own unique code, which is specified at birth, so that objects in the public network can be located to find a certain object. In addition to its own unique code, the object has an identifier called a function identifier. Why do you have this logo? Because other objects are communicating with this object, you need to know what the object is doing.</p>
|
||||||
|
<p>Let’s take a comprehensive example. For example, a newly bought rice cooker that can talk (connected to the Internet of Things) is unfamiliar and wants to know what can be done by objects next to me. I can let them show their own feature logo, then the rice cooker knows that the benevolent man next to him is a socket and the other is a refrigerator. Obviously, the rice cooker is very interested in the refrigerator. Since he knows that he is a refrigerator, the rice cooker can talk to the refrigerator with his own words. He got the food stored in the refrigerator from the refrigerator, as well as their freshness, price and so on. It looked for ways the engineer told him to go online, and then told the IoT module to use the Internet to find out what to do with the things in those refrigerators. The Internet told him that pork ribs, red rice porridge, mung bean porridge (now I am so hungry) are good. Then he asks himself again, the owner generally likes to eat 啥, from the owner’s mobile phone, the owner is a Jiangxi person, ask the Internet, what Jiangxi people like to eat. Big data, as well as his own intuition (artificial intelligence), told him that ribs and lean meat porridge are good. Then he told the owner’s mobile phone (known with the function logo), recommend the pork porridge to the owner as the breakfast for tomorrow. Ten minutes later, the owner approved its recommendation via mobile phone. At the appropriate time, he told the robots at home to take out the raw materials in the refrigerator, wash the vegetables through the washing machine, wash the rice in the rice machine, cook the meat, and cook the meat in person. The joint efforts of ribs and lean porridge will be done. Waiting for the table, the owner finished eating. The task of the first day of the rice cooker is over. This time he met many partners, thanks to the Internet of Things.</p>
|
||||||
|
<p>Of course, if the information exchanged by these objects is through the public relations network, it is equivalent to revealing the information of their own home. This is of course not allowed, so we have a private network to protect the privacy and security of our users. I wrote it here first. The next article will detail how the private relationship network works.</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<footer class="post-footer">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="post-nav">
|
||||||
|
<div class="post-nav-next post-nav-item">
|
||||||
|
|
||||||
|
<a href="/2016/10/16/My-thoughts-on-the-Internet-of-Things/" rel="next" title="My thoughts on the Internet of Things">
|
||||||
|
<i class="fa fa-chevron-left"></i> My thoughts on the Internet of Things
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<span class="post-nav-divider"></span>
|
||||||
|
|
||||||
|
<div class="post-nav-prev post-nav-item">
|
||||||
|
|
||||||
|
<a href="/2017/05/14/Methods-to-solve-problem/" rel="prev" title="Methods to solve problem">
|
||||||
|
Methods to solve problem <i class="fa fa-chevron-right"></i>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
</article>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="toggle sidebar-toggle">
|
||||||
|
<span class="toggle-line toggle-line-first"></span>
|
||||||
|
<span class="toggle-line toggle-line-middle"></span>
|
||||||
|
<span class="toggle-line toggle-line-last"></span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<aside class="sidebar">
|
||||||
|
<div class="sidebar-inner">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<ul class="sidebar-nav motion-element">
|
||||||
|
<li class="sidebar-nav-toc">
|
||||||
|
Table of Contents
|
||||||
|
</li>
|
||||||
|
<li class="sidebar-nav-overview">
|
||||||
|
Overview
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<!--noindex-->
|
||||||
|
<div class="post-toc-wrap sidebar-panel">
|
||||||
|
<div class="post-toc motion-element"><ol class="nav"><li class="nav-item nav-level-1"><a class="nav-link" href="#My-thoughts-on-the-IoT-2"><span class="nav-number">1.</span> <span class="nav-text">My thoughts on the IoT 2</span></a><ol class="nav-child"><li class="nav-item nav-level-2"><a class="nav-link" href="#Overview"><span class="nav-number">1.1.</span> <span class="nav-text">Overview</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#Thoughts"><span class="nav-number">1.2.</span> <span class="nav-text">Thoughts</span></a></li></ol></li></ol></div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<!--/noindex-->
|
||||||
|
|
||||||
|
<div class="site-overview-wrap sidebar-panel">
|
||||||
|
<div class="site-author motion-element" itemprop="author" itemscope itemtype="http://schema.org/Person">
|
||||||
|
<p class="site-author-name" itemprop="name">Hu Yu</p>
|
||||||
|
<div class="site-description" itemprop="description"></div>
|
||||||
|
</div>
|
||||||
|
<div class="site-state-wrap motion-element">
|
||||||
|
<nav class="site-state">
|
||||||
|
<div class="site-state-item site-state-posts">
|
||||||
|
|
||||||
|
<a href="/archives/">
|
||||||
|
|
||||||
|
<span class="site-state-item-count">7</span>
|
||||||
|
<span class="site-state-item-name">posts</span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
<div class="links-of-author motion-element">
|
||||||
|
<span class="links-of-author-item">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="mailto:saturneric@ieee.org" title="E-Mail &rarr; mailto:saturneric@ieee.org" rel="noopener" target="_blank"><i class="fa fa-fw fa-envelope"></i>E-Mail</a>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</aside>
|
||||||
|
<div id="sidebar-dimmer"></div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<footer id="footer" class="footer">
|
||||||
|
<div class="footer-inner">
|
||||||
|
<div class="copyright">© <span itemprop="copyrightYear">2019</span>
|
||||||
|
<span class="with-love" id="animate">
|
||||||
|
<i class="fa fa-user"></i>
|
||||||
|
</span>
|
||||||
|
<span class="author" itemprop="copyrightHolder">Hu Yu</span>
|
||||||
|
</div>
|
||||||
|
<div class="powered-by">Powered by <a href="https://hexo.io/" class="theme-link" rel="noopener" target="_blank">Hexo</a> v3.9.0</div>
|
||||||
|
<span class="post-meta-divider">|</span>
|
||||||
|
<div class="theme-info">Theme – <a href="https://theme-next.org/" class="theme-link" rel="noopener" target="_blank">NexT.Pisces</a> v7.4.1</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="/lib/anime.min.js?v=3.1.0"></script>
|
||||||
|
<script src="/lib/velocity/velocity.min.js?v=1.2.1"></script>
|
||||||
|
<script src="/lib/velocity/velocity.ui.min.js?v=1.2.1"></script>
|
||||||
|
<script src="/js/utils.js?v=7.4.1"></script><script src="/js/motion.js?v=7.4.1"></script>
|
||||||
|
<script src="/js/schemes/pisces.js?v=7.4.1"></script>
|
||||||
|
<script src="/js/next-boot.js?v=7.4.1"></script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
461
2017/05/14/God-Engine-Conception/index.html
Normal file
@ -0,0 +1,461 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=2">
|
||||||
|
<meta name="theme-color" content="#222">
|
||||||
|
<meta name="generator" content="Hexo 3.9.0">
|
||||||
|
<link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon-next.png?v=7.4.1">
|
||||||
|
<link rel="icon" type="image/png" sizes="32x32" href="/images/favicon-32x32-next.png?v=7.4.1">
|
||||||
|
<link rel="icon" type="image/png" sizes="16x16" href="/images/favicon-16x16-next.png?v=7.4.1">
|
||||||
|
<link rel="mask-icon" href="/images/logo.svg?v=7.4.1" color="#222">
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="/css/main.css?v=7.4.1">
|
||||||
|
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="/lib/font-awesome/css/font-awesome.min.css?v=4.7.0">
|
||||||
|
|
||||||
|
|
||||||
|
<script id="hexo-configurations">
|
||||||
|
var NexT = window.NexT || {};
|
||||||
|
var CONFIG = {
|
||||||
|
root: '/',
|
||||||
|
scheme: 'Pisces',
|
||||||
|
version: '7.4.1',
|
||||||
|
exturl: false,
|
||||||
|
sidebar: {"position":"right","display":"post","offset":12,"onmobile":false},
|
||||||
|
copycode: {"enable":false,"show_result":false,"style":null},
|
||||||
|
back2top: {"enable":true,"sidebar":false,"scrollpercent":false},
|
||||||
|
bookmark: {"enable":false,"color":"#222","save":"auto"},
|
||||||
|
fancybox: false,
|
||||||
|
mediumzoom: false,
|
||||||
|
lazyload: false,
|
||||||
|
pangu: false,
|
||||||
|
algolia: {
|
||||||
|
appID: '',
|
||||||
|
apiKey: '',
|
||||||
|
indexName: '',
|
||||||
|
hits: {"per_page":10},
|
||||||
|
labels: {"input_placeholder":"Search for Posts","hits_empty":"We didn't find any results for the search: ${query}","hits_stats":"${hits} results found in ${time} ms"}
|
||||||
|
},
|
||||||
|
localsearch: {"enable":false,"trigger":"auto","top_n_per_article":1,"unescape":false,"preload":false},
|
||||||
|
path: '',
|
||||||
|
motion: {"enable":true,"async":false,"transition":{"post_block":"fadeIn","post_header":"slideDownIn","post_body":"slideDownIn","coll_header":"slideLeftIn","sidebar":"slideUpIn"}},
|
||||||
|
translation: {
|
||||||
|
copy_button: 'Copy',
|
||||||
|
copy_success: 'Copied',
|
||||||
|
copy_failure: 'Copy failed'
|
||||||
|
},
|
||||||
|
sidebarPadding: 40
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<meta name="description" content="God Engine Brief ConceptionOverviewGod Engine is a simulation engine with atomic microscopic model macro-intelligence multi-space temporal asynchronous computing. The underlying layer communicates dir">
|
||||||
|
<meta name="keywords" content="Software, Computing">
|
||||||
|
<meta property="og:type" content="article">
|
||||||
|
<meta property="og:title" content="God Engine Conception">
|
||||||
|
<meta property="og:url" content="http://saturneric.cn/2017/05/14/God-Engine-Conception/index.html">
|
||||||
|
<meta property="og:site_name" content="Hu Yu's Personal Blog">
|
||||||
|
<meta property="og:description" content="God Engine Brief ConceptionOverviewGod Engine is a simulation engine with atomic microscopic model macro-intelligence multi-space temporal asynchronous computing. The underlying layer communicates dir">
|
||||||
|
<meta property="og:locale" content="en">
|
||||||
|
<meta property="og:updated_time" content="2019-10-25T06:59:33.775Z">
|
||||||
|
<meta name="twitter:card" content="summary">
|
||||||
|
<meta name="twitter:title" content="God Engine Conception">
|
||||||
|
<meta name="twitter:description" content="God Engine Brief ConceptionOverviewGod Engine is a simulation engine with atomic microscopic model macro-intelligence multi-space temporal asynchronous computing. The underlying layer communicates dir">
|
||||||
|
<link rel="canonical" href="http://saturneric.cn/2017/05/14/God-Engine-Conception/">
|
||||||
|
|
||||||
|
|
||||||
|
<script id="page-configurations">
|
||||||
|
// https://hexo.io/docs/variables.html
|
||||||
|
CONFIG.page = {
|
||||||
|
sidebar: "",
|
||||||
|
isHome: false,
|
||||||
|
isPost: true,
|
||||||
|
isPage: false,
|
||||||
|
isArchive: false
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<title>God Engine Conception | Hu Yu's Personal Blog</title>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<noscript>
|
||||||
|
<style>
|
||||||
|
.use-motion .brand,
|
||||||
|
.use-motion .menu-item,
|
||||||
|
.sidebar-inner,
|
||||||
|
.use-motion .post-block,
|
||||||
|
.use-motion .pagination,
|
||||||
|
.use-motion .comments,
|
||||||
|
.use-motion .post-header,
|
||||||
|
.use-motion .post-body,
|
||||||
|
.use-motion .collection-header { opacity: initial; }
|
||||||
|
|
||||||
|
.use-motion .logo,
|
||||||
|
.use-motion .site-title,
|
||||||
|
.use-motion .site-subtitle {
|
||||||
|
opacity: initial;
|
||||||
|
top: initial;
|
||||||
|
}
|
||||||
|
|
||||||
|
.use-motion .logo-line-before i { left: initial; }
|
||||||
|
.use-motion .logo-line-after i { right: initial; }
|
||||||
|
</style>
|
||||||
|
</noscript>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body itemscope itemtype="http://schema.org/WebPage">
|
||||||
|
<div class="container use-motion">
|
||||||
|
<div class="headband"></div>
|
||||||
|
|
||||||
|
<header id="header" class="header" itemscope itemtype="http://schema.org/WPHeader">
|
||||||
|
<div class="header-inner"><div class="site-brand-container">
|
||||||
|
<div class="site-meta">
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<a href="/" class="brand" rel="start">
|
||||||
|
<span class="logo-line-before"><i></i></span>
|
||||||
|
<span class="site-title">Hu Yu's Personal Blog</span>
|
||||||
|
<span class="logo-line-after"><i></i></span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<p class="site-subtitle">Technical Articles about Computing and Software.</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="site-nav-toggle">
|
||||||
|
<div class="toggle" aria-label="Toggle navigation bar">
|
||||||
|
<span class="toggle-line toggle-line-first"></span>
|
||||||
|
<span class="toggle-line toggle-line-middle"></span>
|
||||||
|
<span class="toggle-line toggle-line-last"></span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<nav class="site-nav">
|
||||||
|
|
||||||
|
<ul id="menu" class="menu">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<li class="menu-item menu-item-home">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="/" rel="section"><i class="fa fa-fw fa-home"></i>Home</a>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<li class="menu-item menu-item-archives">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="/archives/" rel="section"><i class="fa fa-fw fa-archive"></i>Archives</a>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="back-to-top">
|
||||||
|
<i class="fa fa-arrow-up"></i>
|
||||||
|
<span>0%</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<main id="main" class="main">
|
||||||
|
<div class="main-inner">
|
||||||
|
<div class="content-wrap">
|
||||||
|
|
||||||
|
|
||||||
|
<div id="content" class="content">
|
||||||
|
|
||||||
|
|
||||||
|
<div class="posts-expand">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<article itemscope itemtype="http://schema.org/Article" class="post-block " lang="en">
|
||||||
|
<link itemprop="mainEntityOfPage" href="http://saturneric.cn/2017/05/14/God-Engine-Conception/">
|
||||||
|
|
||||||
|
<span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
|
||||||
|
<meta itemprop="name" content="Hu Yu">
|
||||||
|
<meta itemprop="description" content="">
|
||||||
|
<meta itemprop="image" content="/images/avatar.gif">
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
|
||||||
|
<meta itemprop="name" content="Hu Yu's Personal Blog">
|
||||||
|
</span>
|
||||||
|
<header class="post-header">
|
||||||
|
<h1 class="post-title" itemprop="name headline">God Engine Conception
|
||||||
|
|
||||||
|
|
||||||
|
</h1>
|
||||||
|
|
||||||
|
<div class="post-meta">
|
||||||
|
<span class="post-meta-item">
|
||||||
|
<span class="post-meta-item-icon">
|
||||||
|
<i class="fa fa-calendar-o"></i>
|
||||||
|
</span>
|
||||||
|
<span class="post-meta-item-text">Posted on</span>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<time title="Created: 2017-05-14 12:07:00" itemprop="dateCreated datePublished" datetime="2017-05-14T12:07:00+08:00">2017-05-14</time>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<span class="post-meta-item">
|
||||||
|
<span class="post-meta-item-icon">
|
||||||
|
<i class="fa fa-calendar-check-o"></i>
|
||||||
|
</span>
|
||||||
|
<span class="post-meta-item-text">Edited on</span>
|
||||||
|
<time title="Modified: 2019-10-25 14:59:33" itemprop="dateModified" datetime="2019-10-25T14:59:33+08:00">2019-10-25</time>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="post-body" itemprop="articleBody">
|
||||||
|
|
||||||
|
|
||||||
|
<h1 id="God-Engine-Brief-Conception"><a href="#God-Engine-Brief-Conception" class="headerlink" title="God Engine Brief Conception"></a>God Engine Brief Conception</h1><h2 id="Overview"><a href="#Overview" class="headerlink" title="Overview"></a>Overview</h2><p><strong>God Engine</strong> is a simulation engine with atomic microscopic model macro-intelligence multi-space temporal asynchronous computing. The underlying layer communicates directly with the hardware, which communicates with other applications over the network. Through the definition of the standard mathematical physics of the basic universe model, coupled with the cosmological model plug-in, according to the timeline, detailed analysis of the relationship between the objects is provided, thus providing reliable relationship between objects and reliable macroscopic properties of the object group. . By establishing a connection between the object groups and providing a basic model, the engine will gradually build a large and complex object group based on this information, and the engine will perform atomic and microscopic relationship analysis between the object groups to obtain a larger The stable macroscopic nature of the object group. These preliminary and reliable models will be stored in the database to provide a basis for the analysis of other models. In the end, the engine draws the final stable model that the user wants, and then it will perform the final analysis and screening of the historical information to obtain a detailed definition and logical description of the model to provide a reliable finished model for human society.</p>
|
||||||
|
<h3 id="Logical-component"><a href="#Logical-component" class="headerlink" title="Logical component"></a>Logical component</h3><ol>
|
||||||
|
<li>*<em>Mathematical operation module: *</em> Provide mathematical operation support for the engine and handle various mathematical atomic operations.</li>
|
||||||
|
<li><strong>Logic operation module:</strong> Provides logical operation support for the engine and handles various logical atomic operations.</li>
|
||||||
|
<li><strong>Mathematical controller:</strong> transforms complex mathematical and logical problems into atomic operations, and coordinates the work of mathematical operations modules and logic computing modules.</li>
|
||||||
|
<li><strong>Space controller:</strong> manages the space of a specific association used in the engine instance, defines the space attribute, coordinates the operation resource occupancy in the space, collects the information generated in the model controller, and aggregates it into primary information.</li>
|
||||||
|
<li><strong>Model controller:</strong> A model that defines a specific association in space, handles the interactions between the models, collects the original information generated by the model, and performs initial collation.</li>
|
||||||
|
<li><strong>Timeline controller:</strong> Each space corresponds to a unique timeline controller that coordinates the order within the space, controls and records the space simulation process.<br>Information processing module: with information screening, analysis, generalization, and finishing capabilities. Process the primary information submitted by each space controller, generate valid information, and archive it into the instance database.</li>
|
||||||
|
<li><strong>Instance database:</strong> The basic information of the stored instance, and the original information generated, valid information, and final information.</li>
|
||||||
|
<li><strong>Information induction module:</strong> According to various valid information stored in the database, analyze and summarize, summarize the final information, and store it in the instance database.</li>
|
||||||
|
<li><strong>The example guidance module:</strong> based on the final information in the database, performs the final analysis, and adjusts the example simulation process according to the analysis, so that the simulation process develops toward the final result.</li>
|
||||||
|
</ol>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<footer class="post-footer">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="post-nav">
|
||||||
|
<div class="post-nav-next post-nav-item">
|
||||||
|
|
||||||
|
<a href="/2017/05/14/Methods-to-solve-problem/" rel="next" title="Methods to solve problem">
|
||||||
|
<i class="fa fa-chevron-left"></i> Methods to solve problem
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<span class="post-nav-divider"></span>
|
||||||
|
|
||||||
|
<div class="post-nav-prev post-nav-item">
|
||||||
|
|
||||||
|
<a href="/2017/05/14/Talk-about-something-about-anti-metamorphism/" rel="prev" title="Talk about something about anti-metamorphism">
|
||||||
|
Talk about something about anti-metamorphism <i class="fa fa-chevron-right"></i>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
</article>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="toggle sidebar-toggle">
|
||||||
|
<span class="toggle-line toggle-line-first"></span>
|
||||||
|
<span class="toggle-line toggle-line-middle"></span>
|
||||||
|
<span class="toggle-line toggle-line-last"></span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<aside class="sidebar">
|
||||||
|
<div class="sidebar-inner">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<ul class="sidebar-nav motion-element">
|
||||||
|
<li class="sidebar-nav-toc">
|
||||||
|
Table of Contents
|
||||||
|
</li>
|
||||||
|
<li class="sidebar-nav-overview">
|
||||||
|
Overview
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<!--noindex-->
|
||||||
|
<div class="post-toc-wrap sidebar-panel">
|
||||||
|
<div class="post-toc motion-element"><ol class="nav"><li class="nav-item nav-level-1"><a class="nav-link" href="#God-Engine-Brief-Conception"><span class="nav-number">1.</span> <span class="nav-text">God Engine Brief Conception</span></a><ol class="nav-child"><li class="nav-item nav-level-2"><a class="nav-link" href="#Overview"><span class="nav-number">1.1.</span> <span class="nav-text">Overview</span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#Logical-component"><span class="nav-number">1.1.1.</span> <span class="nav-text">Logical component</span></a></li></ol></li></ol></li></ol></div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<!--/noindex-->
|
||||||
|
|
||||||
|
<div class="site-overview-wrap sidebar-panel">
|
||||||
|
<div class="site-author motion-element" itemprop="author" itemscope itemtype="http://schema.org/Person">
|
||||||
|
<p class="site-author-name" itemprop="name">Hu Yu</p>
|
||||||
|
<div class="site-description" itemprop="description"></div>
|
||||||
|
</div>
|
||||||
|
<div class="site-state-wrap motion-element">
|
||||||
|
<nav class="site-state">
|
||||||
|
<div class="site-state-item site-state-posts">
|
||||||
|
|
||||||
|
<a href="/archives/">
|
||||||
|
|
||||||
|
<span class="site-state-item-count">7</span>
|
||||||
|
<span class="site-state-item-name">posts</span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
<div class="links-of-author motion-element">
|
||||||
|
<span class="links-of-author-item">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="mailto:saturneric@ieee.org" title="E-Mail &rarr; mailto:saturneric@ieee.org" rel="noopener" target="_blank"><i class="fa fa-fw fa-envelope"></i>E-Mail</a>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</aside>
|
||||||
|
<div id="sidebar-dimmer"></div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<footer id="footer" class="footer">
|
||||||
|
<div class="footer-inner">
|
||||||
|
<div class="copyright">© <span itemprop="copyrightYear">2019</span>
|
||||||
|
<span class="with-love" id="animate">
|
||||||
|
<i class="fa fa-user"></i>
|
||||||
|
</span>
|
||||||
|
<span class="author" itemprop="copyrightHolder">Hu Yu</span>
|
||||||
|
</div>
|
||||||
|
<div class="powered-by">Powered by <a href="https://hexo.io/" class="theme-link" rel="noopener" target="_blank">Hexo</a> v3.9.0</div>
|
||||||
|
<span class="post-meta-divider">|</span>
|
||||||
|
<div class="theme-info">Theme – <a href="https://theme-next.org/" class="theme-link" rel="noopener" target="_blank">NexT.Pisces</a> v7.4.1</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="/lib/anime.min.js?v=3.1.0"></script>
|
||||||
|
<script src="/lib/velocity/velocity.min.js?v=1.2.1"></script>
|
||||||
|
<script src="/lib/velocity/velocity.ui.min.js?v=1.2.1"></script>
|
||||||
|
<script src="/js/utils.js?v=7.4.1"></script><script src="/js/motion.js?v=7.4.1"></script>
|
||||||
|
<script src="/js/schemes/pisces.js?v=7.4.1"></script>
|
||||||
|
<script src="/js/next-boot.js?v=7.4.1"></script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
460
2017/05/14/Methods-to-solve-problem/index.html
Normal file
@ -0,0 +1,460 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=2">
|
||||||
|
<meta name="theme-color" content="#222">
|
||||||
|
<meta name="generator" content="Hexo 3.9.0">
|
||||||
|
<link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon-next.png?v=7.4.1">
|
||||||
|
<link rel="icon" type="image/png" sizes="32x32" href="/images/favicon-32x32-next.png?v=7.4.1">
|
||||||
|
<link rel="icon" type="image/png" sizes="16x16" href="/images/favicon-16x16-next.png?v=7.4.1">
|
||||||
|
<link rel="mask-icon" href="/images/logo.svg?v=7.4.1" color="#222">
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="/css/main.css?v=7.4.1">
|
||||||
|
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="/lib/font-awesome/css/font-awesome.min.css?v=4.7.0">
|
||||||
|
|
||||||
|
|
||||||
|
<script id="hexo-configurations">
|
||||||
|
var NexT = window.NexT || {};
|
||||||
|
var CONFIG = {
|
||||||
|
root: '/',
|
||||||
|
scheme: 'Pisces',
|
||||||
|
version: '7.4.1',
|
||||||
|
exturl: false,
|
||||||
|
sidebar: {"position":"right","display":"post","offset":12,"onmobile":false},
|
||||||
|
copycode: {"enable":false,"show_result":false,"style":null},
|
||||||
|
back2top: {"enable":true,"sidebar":false,"scrollpercent":false},
|
||||||
|
bookmark: {"enable":false,"color":"#222","save":"auto"},
|
||||||
|
fancybox: false,
|
||||||
|
mediumzoom: false,
|
||||||
|
lazyload: false,
|
||||||
|
pangu: false,
|
||||||
|
algolia: {
|
||||||
|
appID: '',
|
||||||
|
apiKey: '',
|
||||||
|
indexName: '',
|
||||||
|
hits: {"per_page":10},
|
||||||
|
labels: {"input_placeholder":"Search for Posts","hits_empty":"We didn't find any results for the search: ${query}","hits_stats":"${hits} results found in ${time} ms"}
|
||||||
|
},
|
||||||
|
localsearch: {"enable":false,"trigger":"auto","top_n_per_article":1,"unescape":false,"preload":false},
|
||||||
|
path: '',
|
||||||
|
motion: {"enable":true,"async":false,"transition":{"post_block":"fadeIn","post_header":"slideDownIn","post_body":"slideDownIn","coll_header":"slideLeftIn","sidebar":"slideUpIn"}},
|
||||||
|
translation: {
|
||||||
|
copy_button: 'Copy',
|
||||||
|
copy_success: 'Copied',
|
||||||
|
copy_failure: 'Copy failed'
|
||||||
|
},
|
||||||
|
sidebarPadding: 40
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<meta name="description" content="Methods to Solve ProblemIn real life, I have encountered many challenges. When the problem first appeared, I was often surprised and confused. But in calming down the initial analysis of the problem,">
|
||||||
|
<meta name="keywords" content="Software, Computing">
|
||||||
|
<meta property="og:type" content="article">
|
||||||
|
<meta property="og:title" content="Methods to solve problem">
|
||||||
|
<meta property="og:url" content="http://saturneric.cn/2017/05/14/Methods-to-solve-problem/index.html">
|
||||||
|
<meta property="og:site_name" content="Hu Yu's Personal Blog">
|
||||||
|
<meta property="og:description" content="Methods to Solve ProblemIn real life, I have encountered many challenges. When the problem first appeared, I was often surprised and confused. But in calming down the initial analysis of the problem,">
|
||||||
|
<meta property="og:locale" content="en">
|
||||||
|
<meta property="og:updated_time" content="2019-10-25T07:25:21.349Z">
|
||||||
|
<meta name="twitter:card" content="summary">
|
||||||
|
<meta name="twitter:title" content="Methods to solve problem">
|
||||||
|
<meta name="twitter:description" content="Methods to Solve ProblemIn real life, I have encountered many challenges. When the problem first appeared, I was often surprised and confused. But in calming down the initial analysis of the problem,">
|
||||||
|
<link rel="canonical" href="http://saturneric.cn/2017/05/14/Methods-to-solve-problem/">
|
||||||
|
|
||||||
|
|
||||||
|
<script id="page-configurations">
|
||||||
|
// https://hexo.io/docs/variables.html
|
||||||
|
CONFIG.page = {
|
||||||
|
sidebar: "",
|
||||||
|
isHome: false,
|
||||||
|
isPost: true,
|
||||||
|
isPage: false,
|
||||||
|
isArchive: false
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<title>Methods to solve problem | Hu Yu's Personal Blog</title>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<noscript>
|
||||||
|
<style>
|
||||||
|
.use-motion .brand,
|
||||||
|
.use-motion .menu-item,
|
||||||
|
.sidebar-inner,
|
||||||
|
.use-motion .post-block,
|
||||||
|
.use-motion .pagination,
|
||||||
|
.use-motion .comments,
|
||||||
|
.use-motion .post-header,
|
||||||
|
.use-motion .post-body,
|
||||||
|
.use-motion .collection-header { opacity: initial; }
|
||||||
|
|
||||||
|
.use-motion .logo,
|
||||||
|
.use-motion .site-title,
|
||||||
|
.use-motion .site-subtitle {
|
||||||
|
opacity: initial;
|
||||||
|
top: initial;
|
||||||
|
}
|
||||||
|
|
||||||
|
.use-motion .logo-line-before i { left: initial; }
|
||||||
|
.use-motion .logo-line-after i { right: initial; }
|
||||||
|
</style>
|
||||||
|
</noscript>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body itemscope itemtype="http://schema.org/WebPage">
|
||||||
|
<div class="container use-motion">
|
||||||
|
<div class="headband"></div>
|
||||||
|
|
||||||
|
<header id="header" class="header" itemscope itemtype="http://schema.org/WPHeader">
|
||||||
|
<div class="header-inner"><div class="site-brand-container">
|
||||||
|
<div class="site-meta">
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<a href="/" class="brand" rel="start">
|
||||||
|
<span class="logo-line-before"><i></i></span>
|
||||||
|
<span class="site-title">Hu Yu's Personal Blog</span>
|
||||||
|
<span class="logo-line-after"><i></i></span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<p class="site-subtitle">Technical Articles about Computing and Software.</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="site-nav-toggle">
|
||||||
|
<div class="toggle" aria-label="Toggle navigation bar">
|
||||||
|
<span class="toggle-line toggle-line-first"></span>
|
||||||
|
<span class="toggle-line toggle-line-middle"></span>
|
||||||
|
<span class="toggle-line toggle-line-last"></span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<nav class="site-nav">
|
||||||
|
|
||||||
|
<ul id="menu" class="menu">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<li class="menu-item menu-item-home">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="/" rel="section"><i class="fa fa-fw fa-home"></i>Home</a>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<li class="menu-item menu-item-archives">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="/archives/" rel="section"><i class="fa fa-fw fa-archive"></i>Archives</a>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="back-to-top">
|
||||||
|
<i class="fa fa-arrow-up"></i>
|
||||||
|
<span>0%</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<main id="main" class="main">
|
||||||
|
<div class="main-inner">
|
||||||
|
<div class="content-wrap">
|
||||||
|
|
||||||
|
|
||||||
|
<div id="content" class="content">
|
||||||
|
|
||||||
|
|
||||||
|
<div class="posts-expand">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<article itemscope itemtype="http://schema.org/Article" class="post-block " lang="en">
|
||||||
|
<link itemprop="mainEntityOfPage" href="http://saturneric.cn/2017/05/14/Methods-to-solve-problem/">
|
||||||
|
|
||||||
|
<span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
|
||||||
|
<meta itemprop="name" content="Hu Yu">
|
||||||
|
<meta itemprop="description" content="">
|
||||||
|
<meta itemprop="image" content="/images/avatar.gif">
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
|
||||||
|
<meta itemprop="name" content="Hu Yu's Personal Blog">
|
||||||
|
</span>
|
||||||
|
<header class="post-header">
|
||||||
|
<h1 class="post-title" itemprop="name headline">Methods to solve problem
|
||||||
|
|
||||||
|
|
||||||
|
</h1>
|
||||||
|
|
||||||
|
<div class="post-meta">
|
||||||
|
<span class="post-meta-item">
|
||||||
|
<span class="post-meta-item-icon">
|
||||||
|
<i class="fa fa-calendar-o"></i>
|
||||||
|
</span>
|
||||||
|
<span class="post-meta-item-text">Posted on</span>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<time title="Created: 2017-05-14 11:08:30" itemprop="dateCreated datePublished" datetime="2017-05-14T11:08:30+08:00">2017-05-14</time>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<span class="post-meta-item">
|
||||||
|
<span class="post-meta-item-icon">
|
||||||
|
<i class="fa fa-calendar-check-o"></i>
|
||||||
|
</span>
|
||||||
|
<span class="post-meta-item-text">Edited on</span>
|
||||||
|
<time title="Modified: 2019-10-25 15:25:21" itemprop="dateModified" datetime="2019-10-25T15:25:21+08:00">2019-10-25</time>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="post-body" itemprop="articleBody">
|
||||||
|
|
||||||
|
|
||||||
|
<h1 id="Methods-to-Solve-Problem"><a href="#Methods-to-Solve-Problem" class="headerlink" title="Methods to Solve Problem"></a>Methods to Solve Problem</h1><p>In real life, I have encountered many challenges. When the problem first appeared, I was often surprised and confused. But in calming down the initial analysis of the problem, I tried to analyze the problem from the original system. For general problems, it can be alleviated within the original system. However, sometimes the problem is precisely at the root of the system. When I tried many times to solve the problem in the system, the previous one I thought was to strengthen the original system and let the original system overclock to get the relief of the problem. But in practice, the problem caused by the system itself is that such an approach is inefficient and impossible to solve such a problem. Often, such a solution will lead to deeper and deeper within the original system and eventually die within the original system.</p>
|
||||||
|
<p>For learning, I have never worried about my original study habits. However, in the face of a big slip, I think this is a personal problem, simply ignore it. However, the slip is getting bigger and bigger and deeper. At this time, I feel that I encountered such a big challenge for the first time. At first, I felt dizzy and felt that it was ridiculous. In the initial attempt, I tried to strengthen the original learning system and overclock the original learning system. However, I found that this did not have a big effect. After the next downturn, I have almost no way to deal with it.</p>
|
||||||
|
<p>However, the problems that arise will not disappear in the future and it must be resolved. The ultimate way to overcome the fear of solving this problem is to stand up straight and then face the fear and the problem.</p>
|
||||||
|
<p>After the recent blow to my fate, I finally challenged my learning system. Just as quantum theory is to be reborn, the old causal theory must die. Also according to Marxist philosophy, the future of things is bright and the road is tortuous. I carefully analyzed the reason for this slip, and I used to blame my own carelessness, which is the reason for luck. However, several slips clearly told me that this is by no means simple and careless.</p>
|
||||||
|
<p>There is a bigger reason for this, which is the basic problem that I did not dare to face before. My intelligence is by no means a problem. This is what I am convinced. However, the basic problems have been revealed more than once since the beginning of the small period. It’s just not too obvious, I can’t get my attention. It can also be said that my intelligence masks the lack of my foundation.</p>
|
||||||
|
<p>Once, I told my junior high school information teacher about my carelessness in mathematics. He said that behind many carelessness may be my basic problem. This reminded me for the first time, but I didn’t pay much attention. There is no current ability to analyze problems.</p>
|
||||||
|
<p>But in high school, at least for now, this problem has been exposed, and it has fully shown its face. In high school, the comprehensiveness of the test questions has not been the same as that of junior high school. This is a serious test for my foundation. In high school, intelligence has been unable to cover up the serious lack of foundation.</p>
|
||||||
|
<p>What is the foundation is the rigor of the solution to the problem, the rigor of the problem-solving operation, and the mastery of simple basic knowledge. Now, I can say without a word that my foundation does have a big problem. This is something I never dared to face before.</p>
|
||||||
|
<p>For example, my scientific notation, unit conversion, the concept of basic physical units, mathematical division, etc. have relatively large problems. In the past, I did not consider some subtleties in solving problems. For example, can this take zero, which has no meaning. Especially the basic knowledge, concepts and the like, I have never bothered. I scorned these questions because they were covered up by me at the time. To think of the idea is king, and it will be king. It seems that this is wrong now.</p>
|
||||||
|
<p>The lack of learning system has really reminded me that to solve the problem fundamentally, I can only return to the basics and return to what I despise. Despising these things, I paid a heavy price. This also reflects the problem of the method of analyzing my problem. In the face of the problem, there is no careful analysis. I dare not analyze from the fundamentals of the system.</p>
|
||||||
|
<p>I now know that the analysis of the problem is not just a matter of encounter. Be sure to find the reason behind it, and always maintain a critical state for your own state. This also shows that setbacks are the best chance to expose problems. In the setbacks, my psychological endurance has been greatly improved.</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<footer class="post-footer">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="post-nav">
|
||||||
|
<div class="post-nav-next post-nav-item">
|
||||||
|
|
||||||
|
<a href="/2016/10/20/My-thoughts-on-the-Internet-of-Things2/" rel="next" title="My thoughts on the Internet of Things2">
|
||||||
|
<i class="fa fa-chevron-left"></i> My thoughts on the Internet of Things2
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<span class="post-nav-divider"></span>
|
||||||
|
|
||||||
|
<div class="post-nav-prev post-nav-item">
|
||||||
|
|
||||||
|
<a href="/2017/05/14/God-Engine-Conception/" rel="prev" title="God Engine Conception">
|
||||||
|
God Engine Conception <i class="fa fa-chevron-right"></i>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
</article>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="toggle sidebar-toggle">
|
||||||
|
<span class="toggle-line toggle-line-first"></span>
|
||||||
|
<span class="toggle-line toggle-line-middle"></span>
|
||||||
|
<span class="toggle-line toggle-line-last"></span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<aside class="sidebar">
|
||||||
|
<div class="sidebar-inner">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<ul class="sidebar-nav motion-element">
|
||||||
|
<li class="sidebar-nav-toc">
|
||||||
|
Table of Contents
|
||||||
|
</li>
|
||||||
|
<li class="sidebar-nav-overview">
|
||||||
|
Overview
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<!--noindex-->
|
||||||
|
<div class="post-toc-wrap sidebar-panel">
|
||||||
|
<div class="post-toc motion-element"><ol class="nav"><li class="nav-item nav-level-1"><a class="nav-link" href="#Methods-to-Solve-Problem"><span class="nav-number">1.</span> <span class="nav-text">Methods to Solve Problem</span></a></li></ol></div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<!--/noindex-->
|
||||||
|
|
||||||
|
<div class="site-overview-wrap sidebar-panel">
|
||||||
|
<div class="site-author motion-element" itemprop="author" itemscope itemtype="http://schema.org/Person">
|
||||||
|
<p class="site-author-name" itemprop="name">Hu Yu</p>
|
||||||
|
<div class="site-description" itemprop="description"></div>
|
||||||
|
</div>
|
||||||
|
<div class="site-state-wrap motion-element">
|
||||||
|
<nav class="site-state">
|
||||||
|
<div class="site-state-item site-state-posts">
|
||||||
|
|
||||||
|
<a href="/archives/">
|
||||||
|
|
||||||
|
<span class="site-state-item-count">7</span>
|
||||||
|
<span class="site-state-item-name">posts</span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
<div class="links-of-author motion-element">
|
||||||
|
<span class="links-of-author-item">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="mailto:saturneric@ieee.org" title="E-Mail &rarr; mailto:saturneric@ieee.org" rel="noopener" target="_blank"><i class="fa fa-fw fa-envelope"></i>E-Mail</a>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</aside>
|
||||||
|
<div id="sidebar-dimmer"></div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<footer id="footer" class="footer">
|
||||||
|
<div class="footer-inner">
|
||||||
|
<div class="copyright">© <span itemprop="copyrightYear">2019</span>
|
||||||
|
<span class="with-love" id="animate">
|
||||||
|
<i class="fa fa-user"></i>
|
||||||
|
</span>
|
||||||
|
<span class="author" itemprop="copyrightHolder">Hu Yu</span>
|
||||||
|
</div>
|
||||||
|
<div class="powered-by">Powered by <a href="https://hexo.io/" class="theme-link" rel="noopener" target="_blank">Hexo</a> v3.9.0</div>
|
||||||
|
<span class="post-meta-divider">|</span>
|
||||||
|
<div class="theme-info">Theme – <a href="https://theme-next.org/" class="theme-link" rel="noopener" target="_blank">NexT.Pisces</a> v7.4.1</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="/lib/anime.min.js?v=3.1.0"></script>
|
||||||
|
<script src="/lib/velocity/velocity.min.js?v=1.2.1"></script>
|
||||||
|
<script src="/lib/velocity/velocity.ui.min.js?v=1.2.1"></script>
|
||||||
|
<script src="/js/utils.js?v=7.4.1"></script><script src="/js/motion.js?v=7.4.1"></script>
|
||||||
|
<script src="/js/schemes/pisces.js?v=7.4.1"></script>
|
||||||
|
<script src="/js/next-boot.js?v=7.4.1"></script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,453 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=2">
|
||||||
|
<meta name="theme-color" content="#222">
|
||||||
|
<meta name="generator" content="Hexo 3.9.0">
|
||||||
|
<link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon-next.png?v=7.4.1">
|
||||||
|
<link rel="icon" type="image/png" sizes="32x32" href="/images/favicon-32x32-next.png?v=7.4.1">
|
||||||
|
<link rel="icon" type="image/png" sizes="16x16" href="/images/favicon-16x16-next.png?v=7.4.1">
|
||||||
|
<link rel="mask-icon" href="/images/logo.svg?v=7.4.1" color="#222">
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="/css/main.css?v=7.4.1">
|
||||||
|
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="/lib/font-awesome/css/font-awesome.min.css?v=4.7.0">
|
||||||
|
|
||||||
|
|
||||||
|
<script id="hexo-configurations">
|
||||||
|
var NexT = window.NexT || {};
|
||||||
|
var CONFIG = {
|
||||||
|
root: '/',
|
||||||
|
scheme: 'Pisces',
|
||||||
|
version: '7.4.1',
|
||||||
|
exturl: false,
|
||||||
|
sidebar: {"position":"right","display":"post","offset":12,"onmobile":false},
|
||||||
|
copycode: {"enable":false,"show_result":false,"style":null},
|
||||||
|
back2top: {"enable":true,"sidebar":false,"scrollpercent":false},
|
||||||
|
bookmark: {"enable":false,"color":"#222","save":"auto"},
|
||||||
|
fancybox: false,
|
||||||
|
mediumzoom: false,
|
||||||
|
lazyload: false,
|
||||||
|
pangu: false,
|
||||||
|
algolia: {
|
||||||
|
appID: '',
|
||||||
|
apiKey: '',
|
||||||
|
indexName: '',
|
||||||
|
hits: {"per_page":10},
|
||||||
|
labels: {"input_placeholder":"Search for Posts","hits_empty":"We didn't find any results for the search: ${query}","hits_stats":"${hits} results found in ${time} ms"}
|
||||||
|
},
|
||||||
|
localsearch: {"enable":false,"trigger":"auto","top_n_per_article":1,"unescape":false,"preload":false},
|
||||||
|
path: '',
|
||||||
|
motion: {"enable":true,"async":false,"transition":{"post_block":"fadeIn","post_header":"slideDownIn","post_body":"slideDownIn","coll_header":"slideLeftIn","sidebar":"slideUpIn"}},
|
||||||
|
translation: {
|
||||||
|
copy_button: 'Copy',
|
||||||
|
copy_success: 'Copied',
|
||||||
|
copy_failure: 'Copy failed'
|
||||||
|
},
|
||||||
|
sidebarPadding: 40
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<meta name="description" content="Talk about something about Anti-MetamorphismAlthough quantitative change is a necessary preparation for qualitative change. However, in some specific cases, the accumulation of quantitative changes wi">
|
||||||
|
<meta name="keywords" content="Software, Computing">
|
||||||
|
<meta property="og:type" content="article">
|
||||||
|
<meta property="og:title" content="Talk about something about anti-metamorphism">
|
||||||
|
<meta property="og:url" content="http://saturneric.cn/2017/05/14/Talk-about-something-about-anti-metamorphism/index.html">
|
||||||
|
<meta property="og:site_name" content="Hu Yu's Personal Blog">
|
||||||
|
<meta property="og:description" content="Talk about something about Anti-MetamorphismAlthough quantitative change is a necessary preparation for qualitative change. However, in some specific cases, the accumulation of quantitative changes wi">
|
||||||
|
<meta property="og:locale" content="en">
|
||||||
|
<meta property="og:updated_time" content="2019-10-25T07:14:02.880Z">
|
||||||
|
<meta name="twitter:card" content="summary">
|
||||||
|
<meta name="twitter:title" content="Talk about something about anti-metamorphism">
|
||||||
|
<meta name="twitter:description" content="Talk about something about Anti-MetamorphismAlthough quantitative change is a necessary preparation for qualitative change. However, in some specific cases, the accumulation of quantitative changes wi">
|
||||||
|
<link rel="canonical" href="http://saturneric.cn/2017/05/14/Talk-about-something-about-anti-metamorphism/">
|
||||||
|
|
||||||
|
|
||||||
|
<script id="page-configurations">
|
||||||
|
// https://hexo.io/docs/variables.html
|
||||||
|
CONFIG.page = {
|
||||||
|
sidebar: "",
|
||||||
|
isHome: false,
|
||||||
|
isPost: true,
|
||||||
|
isPage: false,
|
||||||
|
isArchive: false
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<title>Talk about something about anti-metamorphism | Hu Yu's Personal Blog</title>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<noscript>
|
||||||
|
<style>
|
||||||
|
.use-motion .brand,
|
||||||
|
.use-motion .menu-item,
|
||||||
|
.sidebar-inner,
|
||||||
|
.use-motion .post-block,
|
||||||
|
.use-motion .pagination,
|
||||||
|
.use-motion .comments,
|
||||||
|
.use-motion .post-header,
|
||||||
|
.use-motion .post-body,
|
||||||
|
.use-motion .collection-header { opacity: initial; }
|
||||||
|
|
||||||
|
.use-motion .logo,
|
||||||
|
.use-motion .site-title,
|
||||||
|
.use-motion .site-subtitle {
|
||||||
|
opacity: initial;
|
||||||
|
top: initial;
|
||||||
|
}
|
||||||
|
|
||||||
|
.use-motion .logo-line-before i { left: initial; }
|
||||||
|
.use-motion .logo-line-after i { right: initial; }
|
||||||
|
</style>
|
||||||
|
</noscript>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body itemscope itemtype="http://schema.org/WebPage">
|
||||||
|
<div class="container use-motion">
|
||||||
|
<div class="headband"></div>
|
||||||
|
|
||||||
|
<header id="header" class="header" itemscope itemtype="http://schema.org/WPHeader">
|
||||||
|
<div class="header-inner"><div class="site-brand-container">
|
||||||
|
<div class="site-meta">
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<a href="/" class="brand" rel="start">
|
||||||
|
<span class="logo-line-before"><i></i></span>
|
||||||
|
<span class="site-title">Hu Yu's Personal Blog</span>
|
||||||
|
<span class="logo-line-after"><i></i></span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<p class="site-subtitle">Technical Articles about Computing and Software.</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="site-nav-toggle">
|
||||||
|
<div class="toggle" aria-label="Toggle navigation bar">
|
||||||
|
<span class="toggle-line toggle-line-first"></span>
|
||||||
|
<span class="toggle-line toggle-line-middle"></span>
|
||||||
|
<span class="toggle-line toggle-line-last"></span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<nav class="site-nav">
|
||||||
|
|
||||||
|
<ul id="menu" class="menu">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<li class="menu-item menu-item-home">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="/" rel="section"><i class="fa fa-fw fa-home"></i>Home</a>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<li class="menu-item menu-item-archives">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="/archives/" rel="section"><i class="fa fa-fw fa-archive"></i>Archives</a>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="back-to-top">
|
||||||
|
<i class="fa fa-arrow-up"></i>
|
||||||
|
<span>0%</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<main id="main" class="main">
|
||||||
|
<div class="main-inner">
|
||||||
|
<div class="content-wrap">
|
||||||
|
|
||||||
|
|
||||||
|
<div id="content" class="content">
|
||||||
|
|
||||||
|
|
||||||
|
<div class="posts-expand">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<article itemscope itemtype="http://schema.org/Article" class="post-block " lang="en">
|
||||||
|
<link itemprop="mainEntityOfPage" href="http://saturneric.cn/2017/05/14/Talk-about-something-about-anti-metamorphism/">
|
||||||
|
|
||||||
|
<span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
|
||||||
|
<meta itemprop="name" content="Hu Yu">
|
||||||
|
<meta itemprop="description" content="">
|
||||||
|
<meta itemprop="image" content="/images/avatar.gif">
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
|
||||||
|
<meta itemprop="name" content="Hu Yu's Personal Blog">
|
||||||
|
</span>
|
||||||
|
<header class="post-header">
|
||||||
|
<h1 class="post-title" itemprop="name headline">Talk about something about anti-metamorphism
|
||||||
|
|
||||||
|
|
||||||
|
</h1>
|
||||||
|
|
||||||
|
<div class="post-meta">
|
||||||
|
<span class="post-meta-item">
|
||||||
|
<span class="post-meta-item-icon">
|
||||||
|
<i class="fa fa-calendar-o"></i>
|
||||||
|
</span>
|
||||||
|
<span class="post-meta-item-text">Posted on</span>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<time title="Created: 2017-05-14 12:09:00" itemprop="dateCreated datePublished" datetime="2017-05-14T12:09:00+08:00">2017-05-14</time>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<span class="post-meta-item">
|
||||||
|
<span class="post-meta-item-icon">
|
||||||
|
<i class="fa fa-calendar-check-o"></i>
|
||||||
|
</span>
|
||||||
|
<span class="post-meta-item-text">Edited on</span>
|
||||||
|
<time title="Modified: 2019-10-25 15:14:02" itemprop="dateModified" datetime="2019-10-25T15:14:02+08:00">2019-10-25</time>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="post-body" itemprop="articleBody">
|
||||||
|
|
||||||
|
|
||||||
|
<h1 id="Talk-about-something-about-Anti-Metamorphism"><a href="#Talk-about-something-about-Anti-Metamorphism" class="headerlink" title="Talk about something about Anti-Metamorphism"></a>Talk about something about Anti-Metamorphism</h1><p>Although quantitative change is a necessary preparation for qualitative change. However, in some specific cases, the accumulation of quantitative changes will result in anti-metamorphism due to the occurrence of emergencies. This anti-metamorphism is powerful, very fast, and almost irreversible. The deeper the amount of accumulation, the more fierce the anti-quality changes. The anti-metamorphic condition is not only the superficial cause of an emergency. Suddenly triggering this event, the suspicion caused by the large amount of quantitative accumulation and the lack of specific information on the internal changes of the quantitative change eventually led to the occurrence of anti-metamorphism. After the anti-metamorphism occurs, on the surface, in the eyes of others, the external manifestation of the self may not change, but the self’s perception of things has rapidly changed radically. The impact of this anti-quality change on the thoughts of the self is very large, and it will have a huge impact on the physiological psychology of the self in the time. In the future, although the quantitative change is still likely to continue to accumulate, the anti-quality change is irreversible for the change of the self.</p>
|
||||||
|
<p>For example, I think a person can believe it, so I don’t think I need to know more about this person’s specific thinking. The reality of the performance has gradually confirmed my intuition, I continue to believe this person, the trust is gradually deepening. In this way, my trust in this person is like operating a black box. I don’t know the internal operation and I know that this person is trustworthy. Such trust is to a great extent, but it is also extremely sensitive. Therefore, once there has been a breach of trust, no matter whether the person is really untrustworthy or not, the incident is small, as long as I observe the performance of the incident from my point of view, and then I unilaterally judge that this is likely to be a breach of confidence. After that, anti-quality changes have taken place. The behavior of this person first impacted my body and mind, directly causing me to feel cheated. Then, my opinion on this person has also changed radically, although on the surface I still smile at this person. Whether the performance of this person in the future is still trustworthy is of little effect on this anti-metamorphism. When I still want to think that I can believe this person, this anti-quality effect will inevitably form a strong resistance.</p>
|
||||||
|
<p>Therefore, we should cherish when we receive trust from others without guessing, because this trust is very deep and extremely sensitive. Although I think that the behavior is theoretically understandable, it is not the case for the other party. In the event of an emergency, this trust will undergo an irreversible change.</p>
|
||||||
|
<p>This process is still true for other identical or similar conditions.</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<footer class="post-footer">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="post-nav">
|
||||||
|
<div class="post-nav-next post-nav-item">
|
||||||
|
|
||||||
|
<a href="/2017/05/14/God-Engine-Conception/" rel="next" title="God Engine Conception">
|
||||||
|
<i class="fa fa-chevron-left"></i> God Engine Conception
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<span class="post-nav-divider"></span>
|
||||||
|
|
||||||
|
<div class="post-nav-prev post-nav-item">
|
||||||
|
|
||||||
|
<a href="/2017/05/20/Next-Plan/" rel="prev" title="Next Plan">
|
||||||
|
Next Plan <i class="fa fa-chevron-right"></i>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
</article>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="toggle sidebar-toggle">
|
||||||
|
<span class="toggle-line toggle-line-first"></span>
|
||||||
|
<span class="toggle-line toggle-line-middle"></span>
|
||||||
|
<span class="toggle-line toggle-line-last"></span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<aside class="sidebar">
|
||||||
|
<div class="sidebar-inner">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<ul class="sidebar-nav motion-element">
|
||||||
|
<li class="sidebar-nav-toc">
|
||||||
|
Table of Contents
|
||||||
|
</li>
|
||||||
|
<li class="sidebar-nav-overview">
|
||||||
|
Overview
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<!--noindex-->
|
||||||
|
<div class="post-toc-wrap sidebar-panel">
|
||||||
|
<div class="post-toc motion-element"><ol class="nav"><li class="nav-item nav-level-1"><a class="nav-link" href="#Talk-about-something-about-Anti-Metamorphism"><span class="nav-number">1.</span> <span class="nav-text">Talk about something about Anti-Metamorphism</span></a></li></ol></div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<!--/noindex-->
|
||||||
|
|
||||||
|
<div class="site-overview-wrap sidebar-panel">
|
||||||
|
<div class="site-author motion-element" itemprop="author" itemscope itemtype="http://schema.org/Person">
|
||||||
|
<p class="site-author-name" itemprop="name">Hu Yu</p>
|
||||||
|
<div class="site-description" itemprop="description"></div>
|
||||||
|
</div>
|
||||||
|
<div class="site-state-wrap motion-element">
|
||||||
|
<nav class="site-state">
|
||||||
|
<div class="site-state-item site-state-posts">
|
||||||
|
|
||||||
|
<a href="/archives/">
|
||||||
|
|
||||||
|
<span class="site-state-item-count">7</span>
|
||||||
|
<span class="site-state-item-name">posts</span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
<div class="links-of-author motion-element">
|
||||||
|
<span class="links-of-author-item">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="mailto:saturneric@ieee.org" title="E-Mail &rarr; mailto:saturneric@ieee.org" rel="noopener" target="_blank"><i class="fa fa-fw fa-envelope"></i>E-Mail</a>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</aside>
|
||||||
|
<div id="sidebar-dimmer"></div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<footer id="footer" class="footer">
|
||||||
|
<div class="footer-inner">
|
||||||
|
<div class="copyright">© <span itemprop="copyrightYear">2019</span>
|
||||||
|
<span class="with-love" id="animate">
|
||||||
|
<i class="fa fa-user"></i>
|
||||||
|
</span>
|
||||||
|
<span class="author" itemprop="copyrightHolder">Hu Yu</span>
|
||||||
|
</div>
|
||||||
|
<div class="powered-by">Powered by <a href="https://hexo.io/" class="theme-link" rel="noopener" target="_blank">Hexo</a> v3.9.0</div>
|
||||||
|
<span class="post-meta-divider">|</span>
|
||||||
|
<div class="theme-info">Theme – <a href="https://theme-next.org/" class="theme-link" rel="noopener" target="_blank">NexT.Pisces</a> v7.4.1</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="/lib/anime.min.js?v=3.1.0"></script>
|
||||||
|
<script src="/lib/velocity/velocity.min.js?v=1.2.1"></script>
|
||||||
|
<script src="/lib/velocity/velocity.ui.min.js?v=1.2.1"></script>
|
||||||
|
<script src="/js/utils.js?v=7.4.1"></script><script src="/js/motion.js?v=7.4.1"></script>
|
||||||
|
<script src="/js/schemes/pisces.js?v=7.4.1"></script>
|
||||||
|
<script src="/js/next-boot.js?v=7.4.1"></script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
452
2017/05/20/Next-Plan/index.html
Normal file
@ -0,0 +1,452 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=2">
|
||||||
|
<meta name="theme-color" content="#222">
|
||||||
|
<meta name="generator" content="Hexo 3.9.0">
|
||||||
|
<link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon-next.png?v=7.4.1">
|
||||||
|
<link rel="icon" type="image/png" sizes="32x32" href="/images/favicon-32x32-next.png?v=7.4.1">
|
||||||
|
<link rel="icon" type="image/png" sizes="16x16" href="/images/favicon-16x16-next.png?v=7.4.1">
|
||||||
|
<link rel="mask-icon" href="/images/logo.svg?v=7.4.1" color="#222">
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="/css/main.css?v=7.4.1">
|
||||||
|
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="/lib/font-awesome/css/font-awesome.min.css?v=4.7.0">
|
||||||
|
|
||||||
|
|
||||||
|
<script id="hexo-configurations">
|
||||||
|
var NexT = window.NexT || {};
|
||||||
|
var CONFIG = {
|
||||||
|
root: '/',
|
||||||
|
scheme: 'Pisces',
|
||||||
|
version: '7.4.1',
|
||||||
|
exturl: false,
|
||||||
|
sidebar: {"position":"right","display":"post","offset":12,"onmobile":false},
|
||||||
|
copycode: {"enable":false,"show_result":false,"style":null},
|
||||||
|
back2top: {"enable":true,"sidebar":false,"scrollpercent":false},
|
||||||
|
bookmark: {"enable":false,"color":"#222","save":"auto"},
|
||||||
|
fancybox: false,
|
||||||
|
mediumzoom: false,
|
||||||
|
lazyload: false,
|
||||||
|
pangu: false,
|
||||||
|
algolia: {
|
||||||
|
appID: '',
|
||||||
|
apiKey: '',
|
||||||
|
indexName: '',
|
||||||
|
hits: {"per_page":10},
|
||||||
|
labels: {"input_placeholder":"Search for Posts","hits_empty":"We didn't find any results for the search: ${query}","hits_stats":"${hits} results found in ${time} ms"}
|
||||||
|
},
|
||||||
|
localsearch: {"enable":false,"trigger":"auto","top_n_per_article":1,"unescape":false,"preload":false},
|
||||||
|
path: '',
|
||||||
|
motion: {"enable":true,"async":false,"transition":{"post_block":"fadeIn","post_header":"slideDownIn","post_body":"slideDownIn","coll_header":"slideLeftIn","sidebar":"slideUpIn"}},
|
||||||
|
translation: {
|
||||||
|
copy_button: 'Copy',
|
||||||
|
copy_success: 'Copied',
|
||||||
|
copy_failure: 'Copy failed'
|
||||||
|
},
|
||||||
|
sidebarPadding: 40
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<meta name="description" content="Next PlanI have to admit that last year(2016-2017) was a year of depression, whether it was in life, in learning, or in spirit. Seeing and moving away from my goal, I am unable to change this situatio">
|
||||||
|
<meta name="keywords" content="Software, Computing">
|
||||||
|
<meta property="og:type" content="article">
|
||||||
|
<meta property="og:title" content="Next Plan">
|
||||||
|
<meta property="og:url" content="http://saturneric.cn/2017/05/20/Next-Plan/index.html">
|
||||||
|
<meta property="og:site_name" content="Hu Yu's Personal Blog">
|
||||||
|
<meta property="og:description" content="Next PlanI have to admit that last year(2016-2017) was a year of depression, whether it was in life, in learning, or in spirit. Seeing and moving away from my goal, I am unable to change this situatio">
|
||||||
|
<meta property="og:locale" content="en">
|
||||||
|
<meta property="og:updated_time" content="2019-10-25T07:46:46.131Z">
|
||||||
|
<meta name="twitter:card" content="summary">
|
||||||
|
<meta name="twitter:title" content="Next Plan">
|
||||||
|
<meta name="twitter:description" content="Next PlanI have to admit that last year(2016-2017) was a year of depression, whether it was in life, in learning, or in spirit. Seeing and moving away from my goal, I am unable to change this situatio">
|
||||||
|
<link rel="canonical" href="http://saturneric.cn/2017/05/20/Next-Plan/">
|
||||||
|
|
||||||
|
|
||||||
|
<script id="page-configurations">
|
||||||
|
// https://hexo.io/docs/variables.html
|
||||||
|
CONFIG.page = {
|
||||||
|
sidebar: "",
|
||||||
|
isHome: false,
|
||||||
|
isPost: true,
|
||||||
|
isPage: false,
|
||||||
|
isArchive: false
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<title>Next Plan | Hu Yu's Personal Blog</title>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<noscript>
|
||||||
|
<style>
|
||||||
|
.use-motion .brand,
|
||||||
|
.use-motion .menu-item,
|
||||||
|
.sidebar-inner,
|
||||||
|
.use-motion .post-block,
|
||||||
|
.use-motion .pagination,
|
||||||
|
.use-motion .comments,
|
||||||
|
.use-motion .post-header,
|
||||||
|
.use-motion .post-body,
|
||||||
|
.use-motion .collection-header { opacity: initial; }
|
||||||
|
|
||||||
|
.use-motion .logo,
|
||||||
|
.use-motion .site-title,
|
||||||
|
.use-motion .site-subtitle {
|
||||||
|
opacity: initial;
|
||||||
|
top: initial;
|
||||||
|
}
|
||||||
|
|
||||||
|
.use-motion .logo-line-before i { left: initial; }
|
||||||
|
.use-motion .logo-line-after i { right: initial; }
|
||||||
|
</style>
|
||||||
|
</noscript>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body itemscope itemtype="http://schema.org/WebPage">
|
||||||
|
<div class="container use-motion">
|
||||||
|
<div class="headband"></div>
|
||||||
|
|
||||||
|
<header id="header" class="header" itemscope itemtype="http://schema.org/WPHeader">
|
||||||
|
<div class="header-inner"><div class="site-brand-container">
|
||||||
|
<div class="site-meta">
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<a href="/" class="brand" rel="start">
|
||||||
|
<span class="logo-line-before"><i></i></span>
|
||||||
|
<span class="site-title">Hu Yu's Personal Blog</span>
|
||||||
|
<span class="logo-line-after"><i></i></span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<p class="site-subtitle">Technical Articles about Computing and Software.</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="site-nav-toggle">
|
||||||
|
<div class="toggle" aria-label="Toggle navigation bar">
|
||||||
|
<span class="toggle-line toggle-line-first"></span>
|
||||||
|
<span class="toggle-line toggle-line-middle"></span>
|
||||||
|
<span class="toggle-line toggle-line-last"></span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<nav class="site-nav">
|
||||||
|
|
||||||
|
<ul id="menu" class="menu">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<li class="menu-item menu-item-home">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="/" rel="section"><i class="fa fa-fw fa-home"></i>Home</a>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<li class="menu-item menu-item-archives">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="/archives/" rel="section"><i class="fa fa-fw fa-archive"></i>Archives</a>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="back-to-top">
|
||||||
|
<i class="fa fa-arrow-up"></i>
|
||||||
|
<span>0%</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<main id="main" class="main">
|
||||||
|
<div class="main-inner">
|
||||||
|
<div class="content-wrap">
|
||||||
|
|
||||||
|
|
||||||
|
<div id="content" class="content">
|
||||||
|
|
||||||
|
|
||||||
|
<div class="posts-expand">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<article itemscope itemtype="http://schema.org/Article" class="post-block " lang="en">
|
||||||
|
<link itemprop="mainEntityOfPage" href="http://saturneric.cn/2017/05/20/Next-Plan/">
|
||||||
|
|
||||||
|
<span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
|
||||||
|
<meta itemprop="name" content="Hu Yu">
|
||||||
|
<meta itemprop="description" content="">
|
||||||
|
<meta itemprop="image" content="/images/avatar.gif">
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
|
||||||
|
<meta itemprop="name" content="Hu Yu's Personal Blog">
|
||||||
|
</span>
|
||||||
|
<header class="post-header">
|
||||||
|
<h1 class="post-title" itemprop="name headline">Next Plan
|
||||||
|
|
||||||
|
|
||||||
|
</h1>
|
||||||
|
|
||||||
|
<div class="post-meta">
|
||||||
|
<span class="post-meta-item">
|
||||||
|
<span class="post-meta-item-icon">
|
||||||
|
<i class="fa fa-calendar-o"></i>
|
||||||
|
</span>
|
||||||
|
<span class="post-meta-item-text">Posted on</span>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<time title="Created: 2017-05-20 21:22:00" itemprop="dateCreated datePublished" datetime="2017-05-20T21:22:00+08:00">2017-05-20</time>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<span class="post-meta-item">
|
||||||
|
<span class="post-meta-item-icon">
|
||||||
|
<i class="fa fa-calendar-check-o"></i>
|
||||||
|
</span>
|
||||||
|
<span class="post-meta-item-text">Edited on</span>
|
||||||
|
<time title="Modified: 2019-10-25 15:46:46" itemprop="dateModified" datetime="2019-10-25T15:46:46+08:00">2019-10-25</time>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="post-body" itemprop="articleBody">
|
||||||
|
|
||||||
|
|
||||||
|
<h1 id="Next-Plan"><a href="#Next-Plan" class="headerlink" title="Next Plan"></a>Next Plan</h1><p>I have to admit that last year(2016-2017) was a year of depression, whether it was in life, in learning, or in spirit. Seeing and moving away from my goal, I am unable to change this situation.</p>
|
||||||
|
<p>However, it is different now. After experiencing all kinds of difficult situations, I finally found a new way of thinking about problems in the difficult ones, and found myself for the first time. After solving a series of problems, internal worries tend to collapse. I feel that I can finally concentrate all my abilities without being subject to myself.</p>
|
||||||
|
<p>I have found the answer that I need to find. At this time, I feel quiet inside. It’s time to start running. Learning to run, I will never be a person who is tortured by my own heart and then crawls and competes with others. After I learned to run, those who were surpassed by me could no longer catch up with me.</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<footer class="post-footer">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="post-nav">
|
||||||
|
<div class="post-nav-next post-nav-item">
|
||||||
|
|
||||||
|
<a href="/2017/05/14/Talk-about-something-about-anti-metamorphism/" rel="next" title="Talk about something about anti-metamorphism">
|
||||||
|
<i class="fa fa-chevron-left"></i> Talk about something about anti-metamorphism
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<span class="post-nav-divider"></span>
|
||||||
|
|
||||||
|
<div class="post-nav-prev post-nav-item">
|
||||||
|
|
||||||
|
<a href="/2019/10/09/NaoVision-General-Introduction/" rel="prev" title="NaoVision">
|
||||||
|
NaoVision <i class="fa fa-chevron-right"></i>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
</article>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="toggle sidebar-toggle">
|
||||||
|
<span class="toggle-line toggle-line-first"></span>
|
||||||
|
<span class="toggle-line toggle-line-middle"></span>
|
||||||
|
<span class="toggle-line toggle-line-last"></span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<aside class="sidebar">
|
||||||
|
<div class="sidebar-inner">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<ul class="sidebar-nav motion-element">
|
||||||
|
<li class="sidebar-nav-toc">
|
||||||
|
Table of Contents
|
||||||
|
</li>
|
||||||
|
<li class="sidebar-nav-overview">
|
||||||
|
Overview
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<!--noindex-->
|
||||||
|
<div class="post-toc-wrap sidebar-panel">
|
||||||
|
<div class="post-toc motion-element"><ol class="nav"><li class="nav-item nav-level-1"><a class="nav-link" href="#Next-Plan"><span class="nav-number">1.</span> <span class="nav-text">Next Plan</span></a></li></ol></div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<!--/noindex-->
|
||||||
|
|
||||||
|
<div class="site-overview-wrap sidebar-panel">
|
||||||
|
<div class="site-author motion-element" itemprop="author" itemscope itemtype="http://schema.org/Person">
|
||||||
|
<p class="site-author-name" itemprop="name">Hu Yu</p>
|
||||||
|
<div class="site-description" itemprop="description"></div>
|
||||||
|
</div>
|
||||||
|
<div class="site-state-wrap motion-element">
|
||||||
|
<nav class="site-state">
|
||||||
|
<div class="site-state-item site-state-posts">
|
||||||
|
|
||||||
|
<a href="/archives/">
|
||||||
|
|
||||||
|
<span class="site-state-item-count">7</span>
|
||||||
|
<span class="site-state-item-name">posts</span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
<div class="links-of-author motion-element">
|
||||||
|
<span class="links-of-author-item">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="mailto:saturneric@ieee.org" title="E-Mail &rarr; mailto:saturneric@ieee.org" rel="noopener" target="_blank"><i class="fa fa-fw fa-envelope"></i>E-Mail</a>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</aside>
|
||||||
|
<div id="sidebar-dimmer"></div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<footer id="footer" class="footer">
|
||||||
|
<div class="footer-inner">
|
||||||
|
<div class="copyright">© <span itemprop="copyrightYear">2019</span>
|
||||||
|
<span class="with-love" id="animate">
|
||||||
|
<i class="fa fa-user"></i>
|
||||||
|
</span>
|
||||||
|
<span class="author" itemprop="copyrightHolder">Hu Yu</span>
|
||||||
|
</div>
|
||||||
|
<div class="powered-by">Powered by <a href="https://hexo.io/" class="theme-link" rel="noopener" target="_blank">Hexo</a> v3.9.0</div>
|
||||||
|
<span class="post-meta-divider">|</span>
|
||||||
|
<div class="theme-info">Theme – <a href="https://theme-next.org/" class="theme-link" rel="noopener" target="_blank">NexT.Pisces</a> v7.4.1</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="/lib/anime.min.js?v=3.1.0"></script>
|
||||||
|
<script src="/lib/velocity/velocity.min.js?v=1.2.1"></script>
|
||||||
|
<script src="/lib/velocity/velocity.ui.min.js?v=1.2.1"></script>
|
||||||
|
<script src="/js/utils.js?v=7.4.1"></script><script src="/js/motion.js?v=7.4.1"></script>
|
||||||
|
<script src="/js/schemes/pisces.js?v=7.4.1"></script>
|
||||||
|
<script src="/js/next-boot.js?v=7.4.1"></script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
476
2019/10/09/NaoVision-General-Introduction/index.html
Normal file
@ -0,0 +1,476 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=2">
|
||||||
|
<meta name="theme-color" content="#222">
|
||||||
|
<meta name="generator" content="Hexo 3.9.0">
|
||||||
|
<link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon-next.png?v=7.4.1">
|
||||||
|
<link rel="icon" type="image/png" sizes="32x32" href="/images/favicon-32x32-next.png?v=7.4.1">
|
||||||
|
<link rel="icon" type="image/png" sizes="16x16" href="/images/favicon-16x16-next.png?v=7.4.1">
|
||||||
|
<link rel="mask-icon" href="/images/logo.svg?v=7.4.1" color="#222">
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="/css/main.css?v=7.4.1">
|
||||||
|
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="/lib/font-awesome/css/font-awesome.min.css?v=4.7.0">
|
||||||
|
|
||||||
|
|
||||||
|
<script id="hexo-configurations">
|
||||||
|
var NexT = window.NexT || {};
|
||||||
|
var CONFIG = {
|
||||||
|
root: '/',
|
||||||
|
scheme: 'Pisces',
|
||||||
|
version: '7.4.1',
|
||||||
|
exturl: false,
|
||||||
|
sidebar: {"position":"right","display":"post","offset":12,"onmobile":false},
|
||||||
|
copycode: {"enable":false,"show_result":false,"style":null},
|
||||||
|
back2top: {"enable":true,"sidebar":false,"scrollpercent":false},
|
||||||
|
bookmark: {"enable":false,"color":"#222","save":"auto"},
|
||||||
|
fancybox: false,
|
||||||
|
mediumzoom: false,
|
||||||
|
lazyload: false,
|
||||||
|
pangu: false,
|
||||||
|
algolia: {
|
||||||
|
appID: '',
|
||||||
|
apiKey: '',
|
||||||
|
indexName: '',
|
||||||
|
hits: {"per_page":10},
|
||||||
|
labels: {"input_placeholder":"Search for Posts","hits_empty":"We didn't find any results for the search: ${query}","hits_stats":"${hits} results found in ${time} ms"}
|
||||||
|
},
|
||||||
|
localsearch: {"enable":false,"trigger":"auto","top_n_per_article":1,"unescape":false,"preload":false},
|
||||||
|
path: '',
|
||||||
|
motion: {"enable":true,"async":false,"transition":{"post_block":"fadeIn","post_header":"slideDownIn","post_body":"slideDownIn","coll_header":"slideLeftIn","sidebar":"slideUpIn"}},
|
||||||
|
translation: {
|
||||||
|
copy_button: 'Copy',
|
||||||
|
copy_success: 'Copied',
|
||||||
|
copy_failure: 'Copy failed'
|
||||||
|
},
|
||||||
|
sidebarPadding: 40
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<meta name="description" content="NaoVision Concise DocumentProject SummaryIntroductionNaoVision is a dedicated NAO group of dedicated vision method solutions for NAO robots in the RoboCup competition. NaoVision was written in C++ and">
|
||||||
|
<meta name="keywords" content="Software, Computing">
|
||||||
|
<meta property="og:type" content="article">
|
||||||
|
<meta property="og:title" content="NaoVision">
|
||||||
|
<meta property="og:url" content="http://saturneric.cn/2019/10/09/NaoVision-General-Introduction/index.html">
|
||||||
|
<meta property="og:site_name" content="Hu Yu's Personal Blog">
|
||||||
|
<meta property="og:description" content="NaoVision Concise DocumentProject SummaryIntroductionNaoVision is a dedicated NAO group of dedicated vision method solutions for NAO robots in the RoboCup competition. NaoVision was written in C++ and">
|
||||||
|
<meta property="og:locale" content="en">
|
||||||
|
<meta property="og:updated_time" content="2019-10-25T06:35:45.513Z">
|
||||||
|
<meta name="twitter:card" content="summary">
|
||||||
|
<meta name="twitter:title" content="NaoVision">
|
||||||
|
<meta name="twitter:description" content="NaoVision Concise DocumentProject SummaryIntroductionNaoVision is a dedicated NAO group of dedicated vision method solutions for NAO robots in the RoboCup competition. NaoVision was written in C++ and">
|
||||||
|
<link rel="canonical" href="http://saturneric.cn/2019/10/09/NaoVision-General-Introduction/">
|
||||||
|
|
||||||
|
|
||||||
|
<script id="page-configurations">
|
||||||
|
// https://hexo.io/docs/variables.html
|
||||||
|
CONFIG.page = {
|
||||||
|
sidebar: "",
|
||||||
|
isHome: false,
|
||||||
|
isPost: true,
|
||||||
|
isPage: false,
|
||||||
|
isArchive: false
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<title>NaoVision | Hu Yu's Personal Blog</title>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<noscript>
|
||||||
|
<style>
|
||||||
|
.use-motion .brand,
|
||||||
|
.use-motion .menu-item,
|
||||||
|
.sidebar-inner,
|
||||||
|
.use-motion .post-block,
|
||||||
|
.use-motion .pagination,
|
||||||
|
.use-motion .comments,
|
||||||
|
.use-motion .post-header,
|
||||||
|
.use-motion .post-body,
|
||||||
|
.use-motion .collection-header { opacity: initial; }
|
||||||
|
|
||||||
|
.use-motion .logo,
|
||||||
|
.use-motion .site-title,
|
||||||
|
.use-motion .site-subtitle {
|
||||||
|
opacity: initial;
|
||||||
|
top: initial;
|
||||||
|
}
|
||||||
|
|
||||||
|
.use-motion .logo-line-before i { left: initial; }
|
||||||
|
.use-motion .logo-line-after i { right: initial; }
|
||||||
|
</style>
|
||||||
|
</noscript>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body itemscope itemtype="http://schema.org/WebPage">
|
||||||
|
<div class="container use-motion">
|
||||||
|
<div class="headband"></div>
|
||||||
|
|
||||||
|
<header id="header" class="header" itemscope itemtype="http://schema.org/WPHeader">
|
||||||
|
<div class="header-inner"><div class="site-brand-container">
|
||||||
|
<div class="site-meta">
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<a href="/" class="brand" rel="start">
|
||||||
|
<span class="logo-line-before"><i></i></span>
|
||||||
|
<span class="site-title">Hu Yu's Personal Blog</span>
|
||||||
|
<span class="logo-line-after"><i></i></span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<p class="site-subtitle">Technical Articles about Computing and Software.</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="site-nav-toggle">
|
||||||
|
<div class="toggle" aria-label="Toggle navigation bar">
|
||||||
|
<span class="toggle-line toggle-line-first"></span>
|
||||||
|
<span class="toggle-line toggle-line-middle"></span>
|
||||||
|
<span class="toggle-line toggle-line-last"></span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<nav class="site-nav">
|
||||||
|
|
||||||
|
<ul id="menu" class="menu">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<li class="menu-item menu-item-home">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="/" rel="section"><i class="fa fa-fw fa-home"></i>Home</a>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<li class="menu-item menu-item-archives">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="/archives/" rel="section"><i class="fa fa-fw fa-archive"></i>Archives</a>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="back-to-top">
|
||||||
|
<i class="fa fa-arrow-up"></i>
|
||||||
|
<span>0%</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<main id="main" class="main">
|
||||||
|
<div class="main-inner">
|
||||||
|
<div class="content-wrap">
|
||||||
|
|
||||||
|
|
||||||
|
<div id="content" class="content">
|
||||||
|
|
||||||
|
|
||||||
|
<div class="posts-expand">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<article itemscope itemtype="http://schema.org/Article" class="post-block " lang="en">
|
||||||
|
<link itemprop="mainEntityOfPage" href="http://saturneric.cn/2019/10/09/NaoVision-General-Introduction/">
|
||||||
|
|
||||||
|
<span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
|
||||||
|
<meta itemprop="name" content="Hu Yu">
|
||||||
|
<meta itemprop="description" content="">
|
||||||
|
<meta itemprop="image" content="/images/avatar.gif">
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
|
||||||
|
<meta itemprop="name" content="Hu Yu's Personal Blog">
|
||||||
|
</span>
|
||||||
|
<header class="post-header">
|
||||||
|
<h1 class="post-title" itemprop="name headline">NaoVision
|
||||||
|
|
||||||
|
|
||||||
|
</h1>
|
||||||
|
|
||||||
|
<div class="post-meta">
|
||||||
|
<span class="post-meta-item">
|
||||||
|
<span class="post-meta-item-icon">
|
||||||
|
<i class="fa fa-calendar-o"></i>
|
||||||
|
</span>
|
||||||
|
<span class="post-meta-item-text">Posted on</span>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<time title="Created: 2019-10-09 23:22:44" itemprop="dateCreated datePublished" datetime="2019-10-09T23:22:44+08:00">2019-10-09</time>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<span class="post-meta-item">
|
||||||
|
<span class="post-meta-item-icon">
|
||||||
|
<i class="fa fa-calendar-check-o"></i>
|
||||||
|
</span>
|
||||||
|
<span class="post-meta-item-text">Edited on</span>
|
||||||
|
<time title="Modified: 2019-10-25 14:35:45" itemprop="dateModified" datetime="2019-10-25T14:35:45+08:00">2019-10-25</time>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="post-body" itemprop="articleBody">
|
||||||
|
|
||||||
|
|
||||||
|
<h1 id="NaoVision-Concise-Document"><a href="#NaoVision-Concise-Document" class="headerlink" title="NaoVision Concise Document"></a>NaoVision Concise Document</h1><h2 id="Project-Summary"><a href="#Project-Summary" class="headerlink" title="Project Summary"></a>Project Summary</h2><h3 id="Introduction"><a href="#Introduction" class="headerlink" title="Introduction"></a>Introduction</h3><p>NaoVision is a dedicated NAO group of dedicated vision method solutions for NAO robots in the RoboCup competition. NaoVision was written in C++ and is designed to solve the problem that NAO robots in the Bhuman system under the original fixed threshold scheme for the color discrimination of the field is easily interfered by light and other factors, resulting in the actual game NAO robot for the objects in the field (especially football) The identification is not fast enough and accurate.</p>
|
||||||
|
<p>Correspondingly, for the judgment of the football field, NaoVision adopts the OTSU algorithm to realize the automatic adjustment of the image processing threshold, and is able to correctly identify and mark the field pixels in most cases without being affected by the light shadow.</p>
|
||||||
|
<p>Based on the color discrimination of the site, NaoVision creates a scan line in the picture. The boundary between the site and the non-site is determined by sampling and scanning the pixels where the scan line is located. The picture is then divided into part and non-site parts by connecting between the demarcation points.</p>
|
||||||
|
<p>In general, in order to reduce the computational overhead, NaoVision only calculates the picture pixels belonging to the site part. After determining the calculation range, NaoVison will create smaller scan lines within the calculation range for more detailed scanning and detection of objects within the calculation range.</p>
|
||||||
|
<p>Then, NaoVision limited the detection of circular objects in the field. The program will perform a uniform skip scan on the scan line. After detecting pixels that do not belong to the field within the calculation range, three non-collinear points are randomly selected around the pixel. Based on these three points, the scanning is performed in eight directions, and it is known that the pixels of the field are detected and returned. Then judge whether the 24 effective points are on a circle, and simultaneously calculate the center coordinates of the circle and its radius. After the circle is added to the candidate queue, the program will continue to scan the rest of the calculation area.</p>
|
||||||
|
<p>(To be continued)</p>
|
||||||
|
<h3 id="Main-Component"><a href="#Main-Component" class="headerlink" title="Main Component"></a>Main Component</h3><p>Under NaoVision’s solution (developed with Visual Studio 2019), there is</p>
|
||||||
|
<ul>
|
||||||
|
<li><strong>NAOFastTools</strong> Core Toolset</li>
|
||||||
|
<li><strong>NFTCommandLineTools</strong> Common Command Line Tools</li>
|
||||||
|
<li><strong>NFTDeamon</strong> Daemon</li>
|
||||||
|
<li><strong>NFTGUI</strong> Debugging Interface</li>
|
||||||
|
<li><strong>NFTTest</strong> OpenCV Docking Toolset</li>
|
||||||
|
<li><strong>UnitTest</strong> Unit Test Project</li>
|
||||||
|
</ul>
|
||||||
|
<h3 id="Brief-Process-Introduction"><a href="#Brief-Process-Introduction" class="headerlink" title="Brief Process Introduction"></a>Brief Process Introduction</h3><p>Problem Description: Due to various problems with the direct embedding scheme of NFT and BHuman, this project intends to adopt the independent process with BHuman.</p>
|
||||||
|
<p>In the actual game process, the <strong>NAOFastTools Framework</strong> is driven by the <strong>NFTDeamon</strong>, running in parallel with Nao qi and BHuman in the NAO robot system. <strong>NFTDeamon</strong> communicates with BHuman by sharing memory. Camera data is obtained from BHuman. After calculation, visual correction information is transmitted to BHuman. In the usual debugging process, you can use the <strong>NFTCommandLineTools ** or **NFTGUI Debug Interface</strong> to establish a connection with the <strong>NFTDeamon</strong> to monitor and adjust the <strong>NAOFastTools Framework</strong> or *<em>BHuman *</em> Operating status and related parameters.</p>
|
||||||
|
<p>(To be continued)</p>
|
||||||
|
<h4 id="Introduction-To-Each-Component"><a href="#Introduction-To-Each-Component" class="headerlink" title="Introduction To Each Component"></a>Introduction To Each Component</h4><h5 id="1-NAOFastTools-Core-Toolset"><a href="#1-NAOFastTools-Core-Toolset" class="headerlink" title="1. NAOFastTools Core Toolset"></a>1. NAOFastTools Core Toolset</h5><p>The core framework for image processing and storage of the solution and the corresponding graphics processing module stored in the NAOFastTools Core Tools Group (hereinafter referred to as NFT) is the core project of the solution. The project follows the C++14 standard, and a small portion of the code contains C++14 features (the system with BHuman2018 has libstdc++.so that supports C++14). NFT eventually generates a static link library (NAOFastTools.lib and NAOFastTools.a) that corresponds to Windows and Linux. NFT works by linking with other programs. In addition to compiling in the VS environment, the NFT framework can also be compiled in a Linux environment, provided that the clang, make, and cmake tools are properly installed. The following is an extremely simple introduction to several of the most important common classes and functions in the NFT (including not limited to the following) (the actual use requires code understanding).</p>
|
||||||
|
<p>OperaMatrix is a proxy class that is a layer of proxy access to the Matrix class of the Eigen linear algebra library. In addition to providing proxy access services, it also provides a smart pointer service that automatically creates and releases Matrix objects based on reference counts. One or more OperaMatrix corresponds to a Matrix object. OperaMatrix objects provide a variety of constructors to meet the needs of users in most situations. The elements in OperaMatrix are stored in memory in a column-first manner, and the user can directly get a pointer to the first element of the matrix via the getData() interface. The number of rows and columns of the matrix corresponding to OperaMatrix can be obtained using getRows() and getCols().</p>
|
||||||
|
<p>The Image class is a storage vector for images that contains one or more OpreaMatrix objects, corresponding to multiple channels of the image. An OperaMatrix stores pixel data for a corresponding channel. Normally, the type of pixel data (PIXEL_TYPE) is defined in NFT.h. The number of channels in an image can be obtained using the getColumns() method, and a reference to a channel can be obtained directly using the [] operator. The height and width of the image are obtained using the getHeight() and getWidth() methods.</p>
|
||||||
|
<p>The ImageYUV422 class inherits from the Image class, which provides storage for the compressed color space YUV422. Need to note that it has one and only one channel. In a specific memory implementation, it compresses the pixel data of three channels into one channel for storage. If you need to get the Y, Cr, and Cb values of a pixel, you can call getY(int, int), getCr(int, int), getCb(int, int) to access it. Further, if it is necessary to modify the Y, Cr, and Cb values of a certain pixel in the picture, the corresponding setter is called and the coordinate parameters of the pixel are provided.</p>
|
||||||
|
<p>The ImageColored class inherits from the ImageYUV422 class and has one and only one channel. It mainly provides a single-channel image storage function and is a storage carrier for the output of the site color discrimination module. It is also a storage carrier for input data for many other vision modules. It disables all of the features of the ImageYUV422 parent class that have operations on the YUV color space.</p>
|
||||||
|
<p>The ImageSaver class is a storage service class for the Image class. It can store the data in the Image object correctly in a file on a Windows or Linux system (.nftd suffix). It can also build the corresponding Image object by reading the file in .nftd format.</p>
|
||||||
|
<p>(To be continued)</p>
|
||||||
|
<h5 id="2-NFTGUI-Debugging-Interface"><a href="#2-NFTGUI-Debugging-Interface" class="headerlink" title="2. NFTGUI Debugging Interface"></a>2. NFTGUI Debugging Interface</h5><p>The NFTGUI debugging interface is based on Qt5. It is a visual debugging interface for NAOFastTools. It can output intermediate results and internal related parameters for processing each graphics processing module.</p>
|
||||||
|
<p>(To be continued)</p>
|
||||||
|
<h5 id="3-NFTTest-Opencv-Docking-Toolset"><a href="#3-NFTTest-Opencv-Docking-Toolset" class="headerlink" title="3.NFTTest Opencv Docking Toolset"></a>3.NFTTest Opencv Docking Toolset</h5><p>The NFTTest Opencv Docking Toolset is a bridge between the NaoVision framework and the OpenCV framework. It provides a conversion function between the main data structures between the two frameworks. In addition, the project is also used for the most basic debugging information output during the development process. .</p>
|
||||||
|
<p>(To be continued)</p>
|
||||||
|
<h5 id="4-UnitTest"><a href="#4-UnitTest" class="headerlink" title="4.UnitTest"></a>4.UnitTest</h5><p>Based on the Google Test test framework, the unit test code of the core framework in NAOFastTools is stored. This code will ensure that the core framework can run efficiently and accurately, and it is convenient to discover the loopholes in the framework in time.</p>
|
||||||
|
<p>(To be continued)</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<footer class="post-footer">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="post-nav">
|
||||||
|
<div class="post-nav-next post-nav-item">
|
||||||
|
|
||||||
|
<a href="/2017/05/20/Next-Plan/" rel="next" title="Next Plan">
|
||||||
|
<i class="fa fa-chevron-left"></i> Next Plan
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<span class="post-nav-divider"></span>
|
||||||
|
|
||||||
|
<div class="post-nav-prev post-nav-item">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
</article>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="toggle sidebar-toggle">
|
||||||
|
<span class="toggle-line toggle-line-first"></span>
|
||||||
|
<span class="toggle-line toggle-line-middle"></span>
|
||||||
|
<span class="toggle-line toggle-line-last"></span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<aside class="sidebar">
|
||||||
|
<div class="sidebar-inner">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<ul class="sidebar-nav motion-element">
|
||||||
|
<li class="sidebar-nav-toc">
|
||||||
|
Table of Contents
|
||||||
|
</li>
|
||||||
|
<li class="sidebar-nav-overview">
|
||||||
|
Overview
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<!--noindex-->
|
||||||
|
<div class="post-toc-wrap sidebar-panel">
|
||||||
|
<div class="post-toc motion-element"><ol class="nav"><li class="nav-item nav-level-1"><a class="nav-link" href="#NaoVision-Concise-Document"><span class="nav-number">1.</span> <span class="nav-text">NaoVision Concise Document</span></a><ol class="nav-child"><li class="nav-item nav-level-2"><a class="nav-link" href="#Project-Summary"><span class="nav-number">1.1.</span> <span class="nav-text">Project Summary</span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#Introduction"><span class="nav-number">1.1.1.</span> <span class="nav-text">Introduction</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#Main-Component"><span class="nav-number">1.1.2.</span> <span class="nav-text">Main Component</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#Brief-Process-Introduction"><span class="nav-number">1.1.3.</span> <span class="nav-text">Brief Process Introduction</span></a><ol class="nav-child"><li class="nav-item nav-level-4"><a class="nav-link" href="#Introduction-To-Each-Component"><span class="nav-number">1.1.3.1.</span> <span class="nav-text">Introduction To Each Component</span></a><ol class="nav-child"><li class="nav-item nav-level-5"><a class="nav-link" href="#1-NAOFastTools-Core-Toolset"><span class="nav-number">1.1.3.1.1.</span> <span class="nav-text">1. NAOFastTools Core Toolset</span></a></li><li class="nav-item nav-level-5"><a class="nav-link" href="#2-NFTGUI-Debugging-Interface"><span class="nav-number">1.1.3.1.2.</span> <span class="nav-text">2. NFTGUI Debugging Interface</span></a></li><li class="nav-item nav-level-5"><a class="nav-link" href="#3-NFTTest-Opencv-Docking-Toolset"><span class="nav-number">1.1.3.1.3.</span> <span class="nav-text">3.NFTTest Opencv Docking Toolset</span></a></li><li class="nav-item nav-level-5"><a class="nav-link" href="#4-UnitTest"><span class="nav-number">1.1.3.1.4.</span> <span class="nav-text">4.UnitTest</span></a></li></ol></li></ol></li></ol></li></ol></li></ol></div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<!--/noindex-->
|
||||||
|
|
||||||
|
<div class="site-overview-wrap sidebar-panel">
|
||||||
|
<div class="site-author motion-element" itemprop="author" itemscope itemtype="http://schema.org/Person">
|
||||||
|
<p class="site-author-name" itemprop="name">Hu Yu</p>
|
||||||
|
<div class="site-description" itemprop="description"></div>
|
||||||
|
</div>
|
||||||
|
<div class="site-state-wrap motion-element">
|
||||||
|
<nav class="site-state">
|
||||||
|
<div class="site-state-item site-state-posts">
|
||||||
|
|
||||||
|
<a href="/archives/">
|
||||||
|
|
||||||
|
<span class="site-state-item-count">7</span>
|
||||||
|
<span class="site-state-item-name">posts</span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
<div class="links-of-author motion-element">
|
||||||
|
<span class="links-of-author-item">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="mailto:saturneric@ieee.org" title="E-Mail &rarr; mailto:saturneric@ieee.org" rel="noopener" target="_blank"><i class="fa fa-fw fa-envelope"></i>E-Mail</a>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</aside>
|
||||||
|
<div id="sidebar-dimmer"></div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<footer id="footer" class="footer">
|
||||||
|
<div class="footer-inner">
|
||||||
|
<div class="copyright">© <span itemprop="copyrightYear">2019</span>
|
||||||
|
<span class="with-love" id="animate">
|
||||||
|
<i class="fa fa-user"></i>
|
||||||
|
</span>
|
||||||
|
<span class="author" itemprop="copyrightHolder">Hu Yu</span>
|
||||||
|
</div>
|
||||||
|
<div class="powered-by">Powered by <a href="https://hexo.io/" class="theme-link" rel="noopener" target="_blank">Hexo</a> v3.9.0</div>
|
||||||
|
<span class="post-meta-divider">|</span>
|
||||||
|
<div class="theme-info">Theme – <a href="https://theme-next.org/" class="theme-link" rel="noopener" target="_blank">NexT.Pisces</a> v7.4.1</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="/lib/anime.min.js?v=3.1.0"></script>
|
||||||
|
<script src="/lib/velocity/velocity.min.js?v=1.2.1"></script>
|
||||||
|
<script src="/lib/velocity/velocity.ui.min.js?v=1.2.1"></script>
|
||||||
|
<script src="/js/utils.js?v=7.4.1"></script><script src="/js/motion.js?v=7.4.1"></script>
|
||||||
|
<script src="/js/schemes/pisces.js?v=7.4.1"></script>
|
||||||
|
<script src="/js/next-boot.js?v=7.4.1"></script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
83
_config.yml
@ -1,83 +0,0 @@
|
|||||||
# Hexo Configuration
|
|
||||||
## Docs: https://hexo.io/docs/configuration.html
|
|
||||||
## Source: https://github.com/hexojs/hexo/
|
|
||||||
|
|
||||||
# Site
|
|
||||||
title: Hu Yu's Personal Blog
|
|
||||||
subtitle: Technical Articles about Computing and Software.
|
|
||||||
description:
|
|
||||||
keywords: Software, Computing
|
|
||||||
author: Hu Yu
|
|
||||||
language: en
|
|
||||||
timezone:
|
|
||||||
|
|
||||||
# URL
|
|
||||||
## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/'
|
|
||||||
url: http://saturneric.cn
|
|
||||||
root: /
|
|
||||||
permalink: :year/:month/:day/:title/
|
|
||||||
permalink_defaults:
|
|
||||||
|
|
||||||
# Directory
|
|
||||||
source_dir: source
|
|
||||||
public_dir: public
|
|
||||||
tag_dir: tags
|
|
||||||
archive_dir: archives
|
|
||||||
category_dir: categories
|
|
||||||
code_dir: downloads/code
|
|
||||||
i18n_dir: :lang
|
|
||||||
skip_render:
|
|
||||||
|
|
||||||
# Writing
|
|
||||||
new_post_name: :title.md # File name of new posts
|
|
||||||
default_layout: post
|
|
||||||
titlecase: false # Transform title into titlecase
|
|
||||||
external_link: true # Open external links in new tab
|
|
||||||
filename_case: 0
|
|
||||||
render_drafts: false
|
|
||||||
post_asset_folder: false
|
|
||||||
relative_link: false
|
|
||||||
future: true
|
|
||||||
highlight:
|
|
||||||
enable: true
|
|
||||||
line_number: true
|
|
||||||
auto_detect: false
|
|
||||||
tab_replace:
|
|
||||||
|
|
||||||
# Home page setting
|
|
||||||
# path: Root path for your blogs index page. (default = '')
|
|
||||||
# per_page: Posts displayed per page. (0 = disable pagination)
|
|
||||||
# order_by: Posts order. (Order by date descending by default)
|
|
||||||
index_generator:
|
|
||||||
path: ''
|
|
||||||
per_page: 10
|
|
||||||
order_by: -date
|
|
||||||
|
|
||||||
# Category & Tag
|
|
||||||
default_category: uncategorized
|
|
||||||
category_map:
|
|
||||||
tag_map:
|
|
||||||
|
|
||||||
# Date / Time format
|
|
||||||
## Hexo uses Moment.js to parse and display date
|
|
||||||
## You can customize the date format as defined in
|
|
||||||
## http://momentjs.com/docs/#/displaying/format/
|
|
||||||
date_format: YYYY-MM-DD
|
|
||||||
time_format: HH:mm:ss
|
|
||||||
|
|
||||||
# Pagination
|
|
||||||
## Set per_page to 0 to disable pagination
|
|
||||||
per_page: 10
|
|
||||||
pagination_dir: page
|
|
||||||
|
|
||||||
# Extensions
|
|
||||||
## Plugins: https://hexo.io/plugins/
|
|
||||||
## Themes: https://hexo.io/themes/
|
|
||||||
theme: next
|
|
||||||
|
|
||||||
# Deployment
|
|
||||||
## Docs: https://hexo.io/docs/deployment.html
|
|
||||||
deploy:
|
|
||||||
type: git #部署方式
|
|
||||||
repository: https://github.com/saturneric/saturneric.github.io.git #关联github仓库
|
|
||||||
branch: run-page #部署分支
|
|
435
archives/2016/10/index.html
Normal file
@ -0,0 +1,435 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=2">
|
||||||
|
<meta name="theme-color" content="#222">
|
||||||
|
<meta name="generator" content="Hexo 3.9.0">
|
||||||
|
<link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon-next.png?v=7.4.1">
|
||||||
|
<link rel="icon" type="image/png" sizes="32x32" href="/images/favicon-32x32-next.png?v=7.4.1">
|
||||||
|
<link rel="icon" type="image/png" sizes="16x16" href="/images/favicon-16x16-next.png?v=7.4.1">
|
||||||
|
<link rel="mask-icon" href="/images/logo.svg?v=7.4.1" color="#222">
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="/css/main.css?v=7.4.1">
|
||||||
|
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="/lib/font-awesome/css/font-awesome.min.css?v=4.7.0">
|
||||||
|
|
||||||
|
|
||||||
|
<script id="hexo-configurations">
|
||||||
|
var NexT = window.NexT || {};
|
||||||
|
var CONFIG = {
|
||||||
|
root: '/',
|
||||||
|
scheme: 'Pisces',
|
||||||
|
version: '7.4.1',
|
||||||
|
exturl: false,
|
||||||
|
sidebar: {"position":"right","display":"post","offset":12,"onmobile":false},
|
||||||
|
copycode: {"enable":false,"show_result":false,"style":null},
|
||||||
|
back2top: {"enable":true,"sidebar":false,"scrollpercent":false},
|
||||||
|
bookmark: {"enable":false,"color":"#222","save":"auto"},
|
||||||
|
fancybox: false,
|
||||||
|
mediumzoom: false,
|
||||||
|
lazyload: false,
|
||||||
|
pangu: false,
|
||||||
|
algolia: {
|
||||||
|
appID: '',
|
||||||
|
apiKey: '',
|
||||||
|
indexName: '',
|
||||||
|
hits: {"per_page":10},
|
||||||
|
labels: {"input_placeholder":"Search for Posts","hits_empty":"We didn't find any results for the search: ${query}","hits_stats":"${hits} results found in ${time} ms"}
|
||||||
|
},
|
||||||
|
localsearch: {"enable":false,"trigger":"auto","top_n_per_article":1,"unescape":false,"preload":false},
|
||||||
|
path: '',
|
||||||
|
motion: {"enable":true,"async":false,"transition":{"post_block":"fadeIn","post_header":"slideDownIn","post_body":"slideDownIn","coll_header":"slideLeftIn","sidebar":"slideUpIn"}},
|
||||||
|
translation: {
|
||||||
|
copy_button: 'Copy',
|
||||||
|
copy_success: 'Copied',
|
||||||
|
copy_failure: 'Copy failed'
|
||||||
|
},
|
||||||
|
sidebarPadding: 40
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<meta name="keywords" content="Software, Computing">
|
||||||
|
<meta property="og:type" content="website">
|
||||||
|
<meta property="og:title" content="Hu Yu's Personal Blog">
|
||||||
|
<meta property="og:url" content="http://saturneric.cn/archives/2016/10/index.html">
|
||||||
|
<meta property="og:site_name" content="Hu Yu's Personal Blog">
|
||||||
|
<meta property="og:locale" content="en">
|
||||||
|
<meta name="twitter:card" content="summary">
|
||||||
|
<meta name="twitter:title" content="Hu Yu's Personal Blog">
|
||||||
|
<link rel="canonical" href="http://saturneric.cn/archives/2016/10/">
|
||||||
|
|
||||||
|
|
||||||
|
<script id="page-configurations">
|
||||||
|
// https://hexo.io/docs/variables.html
|
||||||
|
CONFIG.page = {
|
||||||
|
sidebar: "",
|
||||||
|
isHome: false,
|
||||||
|
isPost: false,
|
||||||
|
isPage: false,
|
||||||
|
isArchive: true
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<title>Archive | Hu Yu's Personal Blog</title>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<noscript>
|
||||||
|
<style>
|
||||||
|
.use-motion .brand,
|
||||||
|
.use-motion .menu-item,
|
||||||
|
.sidebar-inner,
|
||||||
|
.use-motion .post-block,
|
||||||
|
.use-motion .pagination,
|
||||||
|
.use-motion .comments,
|
||||||
|
.use-motion .post-header,
|
||||||
|
.use-motion .post-body,
|
||||||
|
.use-motion .collection-header { opacity: initial; }
|
||||||
|
|
||||||
|
.use-motion .logo,
|
||||||
|
.use-motion .site-title,
|
||||||
|
.use-motion .site-subtitle {
|
||||||
|
opacity: initial;
|
||||||
|
top: initial;
|
||||||
|
}
|
||||||
|
|
||||||
|
.use-motion .logo-line-before i { left: initial; }
|
||||||
|
.use-motion .logo-line-after i { right: initial; }
|
||||||
|
</style>
|
||||||
|
</noscript>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body itemscope itemtype="http://schema.org/WebPage">
|
||||||
|
<div class="container use-motion">
|
||||||
|
<div class="headband"></div>
|
||||||
|
|
||||||
|
<header id="header" class="header" itemscope itemtype="http://schema.org/WPHeader">
|
||||||
|
<div class="header-inner"><div class="site-brand-container">
|
||||||
|
<div class="site-meta">
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<a href="/" class="brand" rel="start">
|
||||||
|
<span class="logo-line-before"><i></i></span>
|
||||||
|
<span class="site-title">Hu Yu's Personal Blog</span>
|
||||||
|
<span class="logo-line-after"><i></i></span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<p class="site-subtitle">Technical Articles about Computing and Software.</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="site-nav-toggle">
|
||||||
|
<div class="toggle" aria-label="Toggle navigation bar">
|
||||||
|
<span class="toggle-line toggle-line-first"></span>
|
||||||
|
<span class="toggle-line toggle-line-middle"></span>
|
||||||
|
<span class="toggle-line toggle-line-last"></span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<nav class="site-nav">
|
||||||
|
|
||||||
|
<ul id="menu" class="menu">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<li class="menu-item menu-item-home">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="/" rel="section"><i class="fa fa-fw fa-home"></i>Home</a>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<li class="menu-item menu-item-archives">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="/archives/" rel="section"><i class="fa fa-fw fa-archive"></i>Archives</a>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="back-to-top">
|
||||||
|
<i class="fa fa-arrow-up"></i>
|
||||||
|
<span>0%</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<main id="main" class="main">
|
||||||
|
<div class="main-inner">
|
||||||
|
<div class="content-wrap">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div id="content" class="content">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="post-block">
|
||||||
|
<div class="posts-collapse">
|
||||||
|
<div class="collection-title">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<span class="collection-header">Um..! 7 posts in total. Keep on posting.</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="collection-year">
|
||||||
|
<h1 class="collection-header">2016</h1>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<article itemscope itemtype="http://schema.org/Article">
|
||||||
|
<header class="post-header">
|
||||||
|
|
||||||
|
<div class="post-meta">
|
||||||
|
<time itemprop="dateCreated"
|
||||||
|
datetime="2016-10-20T21:59:00+08:00"
|
||||||
|
content="2016-10-20">
|
||||||
|
10-20
|
||||||
|
</time>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h2 class="post-title">
|
||||||
|
|
||||||
|
<a class="post-title-link" href="/2016/10/20/My-thoughts-on-the-Internet-of-Things2/" itemprop="url">
|
||||||
|
<span itemprop="name">My thoughts on the Internet of Things2</span>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
</header>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<article itemscope itemtype="http://schema.org/Article">
|
||||||
|
<header class="post-header">
|
||||||
|
|
||||||
|
<div class="post-meta">
|
||||||
|
<time itemprop="dateCreated"
|
||||||
|
datetime="2016-10-16T12:42:00+08:00"
|
||||||
|
content="2016-10-16">
|
||||||
|
10-16
|
||||||
|
</time>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h2 class="post-title">
|
||||||
|
|
||||||
|
<a class="post-title-link" href="/2016/10/16/My-thoughts-on-the-Internet-of-Things/" itemprop="url">
|
||||||
|
<span itemprop="name">My thoughts on the Internet of Things</span>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
</header>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="toggle sidebar-toggle">
|
||||||
|
<span class="toggle-line toggle-line-first"></span>
|
||||||
|
<span class="toggle-line toggle-line-middle"></span>
|
||||||
|
<span class="toggle-line toggle-line-last"></span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<aside class="sidebar">
|
||||||
|
<div class="sidebar-inner">
|
||||||
|
|
||||||
|
<ul class="sidebar-nav motion-element">
|
||||||
|
<li class="sidebar-nav-toc">
|
||||||
|
Table of Contents
|
||||||
|
</li>
|
||||||
|
<li class="sidebar-nav-overview">
|
||||||
|
Overview
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<!--noindex-->
|
||||||
|
<div class="post-toc-wrap sidebar-panel">
|
||||||
|
</div>
|
||||||
|
<!--/noindex-->
|
||||||
|
|
||||||
|
<div class="site-overview-wrap sidebar-panel">
|
||||||
|
<div class="site-author motion-element" itemprop="author" itemscope itemtype="http://schema.org/Person">
|
||||||
|
<p class="site-author-name" itemprop="name">Hu Yu</p>
|
||||||
|
<div class="site-description" itemprop="description"></div>
|
||||||
|
</div>
|
||||||
|
<div class="site-state-wrap motion-element">
|
||||||
|
<nav class="site-state">
|
||||||
|
<div class="site-state-item site-state-posts">
|
||||||
|
|
||||||
|
<a href="/archives/">
|
||||||
|
|
||||||
|
<span class="site-state-item-count">7</span>
|
||||||
|
<span class="site-state-item-name">posts</span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
<div class="links-of-author motion-element">
|
||||||
|
<span class="links-of-author-item">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="mailto:saturneric@ieee.org" title="E-Mail &rarr; mailto:saturneric@ieee.org" rel="noopener" target="_blank"><i class="fa fa-fw fa-envelope"></i>E-Mail</a>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</aside>
|
||||||
|
<div id="sidebar-dimmer"></div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<footer id="footer" class="footer">
|
||||||
|
<div class="footer-inner">
|
||||||
|
<div class="copyright">© <span itemprop="copyrightYear">2019</span>
|
||||||
|
<span class="with-love" id="animate">
|
||||||
|
<i class="fa fa-user"></i>
|
||||||
|
</span>
|
||||||
|
<span class="author" itemprop="copyrightHolder">Hu Yu</span>
|
||||||
|
</div>
|
||||||
|
<div class="powered-by">Powered by <a href="https://hexo.io/" class="theme-link" rel="noopener" target="_blank">Hexo</a> v3.9.0</div>
|
||||||
|
<span class="post-meta-divider">|</span>
|
||||||
|
<div class="theme-info">Theme – <a href="https://theme-next.org/" class="theme-link" rel="noopener" target="_blank">NexT.Pisces</a> v7.4.1</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="/lib/anime.min.js?v=3.1.0"></script>
|
||||||
|
<script src="/lib/velocity/velocity.min.js?v=1.2.1"></script>
|
||||||
|
<script src="/lib/velocity/velocity.ui.min.js?v=1.2.1"></script>
|
||||||
|
<script src="/js/utils.js?v=7.4.1"></script><script src="/js/motion.js?v=7.4.1"></script>
|
||||||
|
<script src="/js/schemes/pisces.js?v=7.4.1"></script>
|
||||||
|
<script src="/js/next-boot.js?v=7.4.1"></script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
435
archives/2016/index.html
Normal file
@ -0,0 +1,435 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=2">
|
||||||
|
<meta name="theme-color" content="#222">
|
||||||
|
<meta name="generator" content="Hexo 3.9.0">
|
||||||
|
<link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon-next.png?v=7.4.1">
|
||||||
|
<link rel="icon" type="image/png" sizes="32x32" href="/images/favicon-32x32-next.png?v=7.4.1">
|
||||||
|
<link rel="icon" type="image/png" sizes="16x16" href="/images/favicon-16x16-next.png?v=7.4.1">
|
||||||
|
<link rel="mask-icon" href="/images/logo.svg?v=7.4.1" color="#222">
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="/css/main.css?v=7.4.1">
|
||||||
|
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="/lib/font-awesome/css/font-awesome.min.css?v=4.7.0">
|
||||||
|
|
||||||
|
|
||||||
|
<script id="hexo-configurations">
|
||||||
|
var NexT = window.NexT || {};
|
||||||
|
var CONFIG = {
|
||||||
|
root: '/',
|
||||||
|
scheme: 'Pisces',
|
||||||
|
version: '7.4.1',
|
||||||
|
exturl: false,
|
||||||
|
sidebar: {"position":"right","display":"post","offset":12,"onmobile":false},
|
||||||
|
copycode: {"enable":false,"show_result":false,"style":null},
|
||||||
|
back2top: {"enable":true,"sidebar":false,"scrollpercent":false},
|
||||||
|
bookmark: {"enable":false,"color":"#222","save":"auto"},
|
||||||
|
fancybox: false,
|
||||||
|
mediumzoom: false,
|
||||||
|
lazyload: false,
|
||||||
|
pangu: false,
|
||||||
|
algolia: {
|
||||||
|
appID: '',
|
||||||
|
apiKey: '',
|
||||||
|
indexName: '',
|
||||||
|
hits: {"per_page":10},
|
||||||
|
labels: {"input_placeholder":"Search for Posts","hits_empty":"We didn't find any results for the search: ${query}","hits_stats":"${hits} results found in ${time} ms"}
|
||||||
|
},
|
||||||
|
localsearch: {"enable":false,"trigger":"auto","top_n_per_article":1,"unescape":false,"preload":false},
|
||||||
|
path: '',
|
||||||
|
motion: {"enable":true,"async":false,"transition":{"post_block":"fadeIn","post_header":"slideDownIn","post_body":"slideDownIn","coll_header":"slideLeftIn","sidebar":"slideUpIn"}},
|
||||||
|
translation: {
|
||||||
|
copy_button: 'Copy',
|
||||||
|
copy_success: 'Copied',
|
||||||
|
copy_failure: 'Copy failed'
|
||||||
|
},
|
||||||
|
sidebarPadding: 40
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<meta name="keywords" content="Software, Computing">
|
||||||
|
<meta property="og:type" content="website">
|
||||||
|
<meta property="og:title" content="Hu Yu's Personal Blog">
|
||||||
|
<meta property="og:url" content="http://saturneric.cn/archives/2016/index.html">
|
||||||
|
<meta property="og:site_name" content="Hu Yu's Personal Blog">
|
||||||
|
<meta property="og:locale" content="en">
|
||||||
|
<meta name="twitter:card" content="summary">
|
||||||
|
<meta name="twitter:title" content="Hu Yu's Personal Blog">
|
||||||
|
<link rel="canonical" href="http://saturneric.cn/archives/2016/">
|
||||||
|
|
||||||
|
|
||||||
|
<script id="page-configurations">
|
||||||
|
// https://hexo.io/docs/variables.html
|
||||||
|
CONFIG.page = {
|
||||||
|
sidebar: "",
|
||||||
|
isHome: false,
|
||||||
|
isPost: false,
|
||||||
|
isPage: false,
|
||||||
|
isArchive: true
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<title>Archive | Hu Yu's Personal Blog</title>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<noscript>
|
||||||
|
<style>
|
||||||
|
.use-motion .brand,
|
||||||
|
.use-motion .menu-item,
|
||||||
|
.sidebar-inner,
|
||||||
|
.use-motion .post-block,
|
||||||
|
.use-motion .pagination,
|
||||||
|
.use-motion .comments,
|
||||||
|
.use-motion .post-header,
|
||||||
|
.use-motion .post-body,
|
||||||
|
.use-motion .collection-header { opacity: initial; }
|
||||||
|
|
||||||
|
.use-motion .logo,
|
||||||
|
.use-motion .site-title,
|
||||||
|
.use-motion .site-subtitle {
|
||||||
|
opacity: initial;
|
||||||
|
top: initial;
|
||||||
|
}
|
||||||
|
|
||||||
|
.use-motion .logo-line-before i { left: initial; }
|
||||||
|
.use-motion .logo-line-after i { right: initial; }
|
||||||
|
</style>
|
||||||
|
</noscript>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body itemscope itemtype="http://schema.org/WebPage">
|
||||||
|
<div class="container use-motion">
|
||||||
|
<div class="headband"></div>
|
||||||
|
|
||||||
|
<header id="header" class="header" itemscope itemtype="http://schema.org/WPHeader">
|
||||||
|
<div class="header-inner"><div class="site-brand-container">
|
||||||
|
<div class="site-meta">
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<a href="/" class="brand" rel="start">
|
||||||
|
<span class="logo-line-before"><i></i></span>
|
||||||
|
<span class="site-title">Hu Yu's Personal Blog</span>
|
||||||
|
<span class="logo-line-after"><i></i></span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<p class="site-subtitle">Technical Articles about Computing and Software.</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="site-nav-toggle">
|
||||||
|
<div class="toggle" aria-label="Toggle navigation bar">
|
||||||
|
<span class="toggle-line toggle-line-first"></span>
|
||||||
|
<span class="toggle-line toggle-line-middle"></span>
|
||||||
|
<span class="toggle-line toggle-line-last"></span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<nav class="site-nav">
|
||||||
|
|
||||||
|
<ul id="menu" class="menu">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<li class="menu-item menu-item-home">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="/" rel="section"><i class="fa fa-fw fa-home"></i>Home</a>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<li class="menu-item menu-item-archives">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="/archives/" rel="section"><i class="fa fa-fw fa-archive"></i>Archives</a>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="back-to-top">
|
||||||
|
<i class="fa fa-arrow-up"></i>
|
||||||
|
<span>0%</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<main id="main" class="main">
|
||||||
|
<div class="main-inner">
|
||||||
|
<div class="content-wrap">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div id="content" class="content">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="post-block">
|
||||||
|
<div class="posts-collapse">
|
||||||
|
<div class="collection-title">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<span class="collection-header">Um..! 7 posts in total. Keep on posting.</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="collection-year">
|
||||||
|
<h1 class="collection-header">2016</h1>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<article itemscope itemtype="http://schema.org/Article">
|
||||||
|
<header class="post-header">
|
||||||
|
|
||||||
|
<div class="post-meta">
|
||||||
|
<time itemprop="dateCreated"
|
||||||
|
datetime="2016-10-20T21:59:00+08:00"
|
||||||
|
content="2016-10-20">
|
||||||
|
10-20
|
||||||
|
</time>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h2 class="post-title">
|
||||||
|
|
||||||
|
<a class="post-title-link" href="/2016/10/20/My-thoughts-on-the-Internet-of-Things2/" itemprop="url">
|
||||||
|
<span itemprop="name">My thoughts on the Internet of Things2</span>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
</header>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<article itemscope itemtype="http://schema.org/Article">
|
||||||
|
<header class="post-header">
|
||||||
|
|
||||||
|
<div class="post-meta">
|
||||||
|
<time itemprop="dateCreated"
|
||||||
|
datetime="2016-10-16T12:42:00+08:00"
|
||||||
|
content="2016-10-16">
|
||||||
|
10-16
|
||||||
|
</time>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h2 class="post-title">
|
||||||
|
|
||||||
|
<a class="post-title-link" href="/2016/10/16/My-thoughts-on-the-Internet-of-Things/" itemprop="url">
|
||||||
|
<span itemprop="name">My thoughts on the Internet of Things</span>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
</header>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="toggle sidebar-toggle">
|
||||||
|
<span class="toggle-line toggle-line-first"></span>
|
||||||
|
<span class="toggle-line toggle-line-middle"></span>
|
||||||
|
<span class="toggle-line toggle-line-last"></span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<aside class="sidebar">
|
||||||
|
<div class="sidebar-inner">
|
||||||
|
|
||||||
|
<ul class="sidebar-nav motion-element">
|
||||||
|
<li class="sidebar-nav-toc">
|
||||||
|
Table of Contents
|
||||||
|
</li>
|
||||||
|
<li class="sidebar-nav-overview">
|
||||||
|
Overview
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<!--noindex-->
|
||||||
|
<div class="post-toc-wrap sidebar-panel">
|
||||||
|
</div>
|
||||||
|
<!--/noindex-->
|
||||||
|
|
||||||
|
<div class="site-overview-wrap sidebar-panel">
|
||||||
|
<div class="site-author motion-element" itemprop="author" itemscope itemtype="http://schema.org/Person">
|
||||||
|
<p class="site-author-name" itemprop="name">Hu Yu</p>
|
||||||
|
<div class="site-description" itemprop="description"></div>
|
||||||
|
</div>
|
||||||
|
<div class="site-state-wrap motion-element">
|
||||||
|
<nav class="site-state">
|
||||||
|
<div class="site-state-item site-state-posts">
|
||||||
|
|
||||||
|
<a href="/archives/">
|
||||||
|
|
||||||
|
<span class="site-state-item-count">7</span>
|
||||||
|
<span class="site-state-item-name">posts</span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
<div class="links-of-author motion-element">
|
||||||
|
<span class="links-of-author-item">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="mailto:saturneric@ieee.org" title="E-Mail &rarr; mailto:saturneric@ieee.org" rel="noopener" target="_blank"><i class="fa fa-fw fa-envelope"></i>E-Mail</a>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</aside>
|
||||||
|
<div id="sidebar-dimmer"></div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<footer id="footer" class="footer">
|
||||||
|
<div class="footer-inner">
|
||||||
|
<div class="copyright">© <span itemprop="copyrightYear">2019</span>
|
||||||
|
<span class="with-love" id="animate">
|
||||||
|
<i class="fa fa-user"></i>
|
||||||
|
</span>
|
||||||
|
<span class="author" itemprop="copyrightHolder">Hu Yu</span>
|
||||||
|
</div>
|
||||||
|
<div class="powered-by">Powered by <a href="https://hexo.io/" class="theme-link" rel="noopener" target="_blank">Hexo</a> v3.9.0</div>
|
||||||
|
<span class="post-meta-divider">|</span>
|
||||||
|
<div class="theme-info">Theme – <a href="https://theme-next.org/" class="theme-link" rel="noopener" target="_blank">NexT.Pisces</a> v7.4.1</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="/lib/anime.min.js?v=3.1.0"></script>
|
||||||
|
<script src="/lib/velocity/velocity.min.js?v=1.2.1"></script>
|
||||||
|
<script src="/lib/velocity/velocity.ui.min.js?v=1.2.1"></script>
|
||||||
|
<script src="/js/utils.js?v=7.4.1"></script><script src="/js/motion.js?v=7.4.1"></script>
|
||||||
|
<script src="/js/schemes/pisces.js?v=7.4.1"></script>
|
||||||
|
<script src="/js/next-boot.js?v=7.4.1"></script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
493
archives/2017/05/index.html
Normal file
@ -0,0 +1,493 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=2">
|
||||||
|
<meta name="theme-color" content="#222">
|
||||||
|
<meta name="generator" content="Hexo 3.9.0">
|
||||||
|
<link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon-next.png?v=7.4.1">
|
||||||
|
<link rel="icon" type="image/png" sizes="32x32" href="/images/favicon-32x32-next.png?v=7.4.1">
|
||||||
|
<link rel="icon" type="image/png" sizes="16x16" href="/images/favicon-16x16-next.png?v=7.4.1">
|
||||||
|
<link rel="mask-icon" href="/images/logo.svg?v=7.4.1" color="#222">
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="/css/main.css?v=7.4.1">
|
||||||
|
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="/lib/font-awesome/css/font-awesome.min.css?v=4.7.0">
|
||||||
|
|
||||||
|
|
||||||
|
<script id="hexo-configurations">
|
||||||
|
var NexT = window.NexT || {};
|
||||||
|
var CONFIG = {
|
||||||
|
root: '/',
|
||||||
|
scheme: 'Pisces',
|
||||||
|
version: '7.4.1',
|
||||||
|
exturl: false,
|
||||||
|
sidebar: {"position":"right","display":"post","offset":12,"onmobile":false},
|
||||||
|
copycode: {"enable":false,"show_result":false,"style":null},
|
||||||
|
back2top: {"enable":true,"sidebar":false,"scrollpercent":false},
|
||||||
|
bookmark: {"enable":false,"color":"#222","save":"auto"},
|
||||||
|
fancybox: false,
|
||||||
|
mediumzoom: false,
|
||||||
|
lazyload: false,
|
||||||
|
pangu: false,
|
||||||
|
algolia: {
|
||||||
|
appID: '',
|
||||||
|
apiKey: '',
|
||||||
|
indexName: '',
|
||||||
|
hits: {"per_page":10},
|
||||||
|
labels: {"input_placeholder":"Search for Posts","hits_empty":"We didn't find any results for the search: ${query}","hits_stats":"${hits} results found in ${time} ms"}
|
||||||
|
},
|
||||||
|
localsearch: {"enable":false,"trigger":"auto","top_n_per_article":1,"unescape":false,"preload":false},
|
||||||
|
path: '',
|
||||||
|
motion: {"enable":true,"async":false,"transition":{"post_block":"fadeIn","post_header":"slideDownIn","post_body":"slideDownIn","coll_header":"slideLeftIn","sidebar":"slideUpIn"}},
|
||||||
|
translation: {
|
||||||
|
copy_button: 'Copy',
|
||||||
|
copy_success: 'Copied',
|
||||||
|
copy_failure: 'Copy failed'
|
||||||
|
},
|
||||||
|
sidebarPadding: 40
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<meta name="keywords" content="Software, Computing">
|
||||||
|
<meta property="og:type" content="website">
|
||||||
|
<meta property="og:title" content="Hu Yu's Personal Blog">
|
||||||
|
<meta property="og:url" content="http://saturneric.cn/archives/2017/05/index.html">
|
||||||
|
<meta property="og:site_name" content="Hu Yu's Personal Blog">
|
||||||
|
<meta property="og:locale" content="en">
|
||||||
|
<meta name="twitter:card" content="summary">
|
||||||
|
<meta name="twitter:title" content="Hu Yu's Personal Blog">
|
||||||
|
<link rel="canonical" href="http://saturneric.cn/archives/2017/05/">
|
||||||
|
|
||||||
|
|
||||||
|
<script id="page-configurations">
|
||||||
|
// https://hexo.io/docs/variables.html
|
||||||
|
CONFIG.page = {
|
||||||
|
sidebar: "",
|
||||||
|
isHome: false,
|
||||||
|
isPost: false,
|
||||||
|
isPage: false,
|
||||||
|
isArchive: true
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<title>Archive | Hu Yu's Personal Blog</title>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<noscript>
|
||||||
|
<style>
|
||||||
|
.use-motion .brand,
|
||||||
|
.use-motion .menu-item,
|
||||||
|
.sidebar-inner,
|
||||||
|
.use-motion .post-block,
|
||||||
|
.use-motion .pagination,
|
||||||
|
.use-motion .comments,
|
||||||
|
.use-motion .post-header,
|
||||||
|
.use-motion .post-body,
|
||||||
|
.use-motion .collection-header { opacity: initial; }
|
||||||
|
|
||||||
|
.use-motion .logo,
|
||||||
|
.use-motion .site-title,
|
||||||
|
.use-motion .site-subtitle {
|
||||||
|
opacity: initial;
|
||||||
|
top: initial;
|
||||||
|
}
|
||||||
|
|
||||||
|
.use-motion .logo-line-before i { left: initial; }
|
||||||
|
.use-motion .logo-line-after i { right: initial; }
|
||||||
|
</style>
|
||||||
|
</noscript>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body itemscope itemtype="http://schema.org/WebPage">
|
||||||
|
<div class="container use-motion">
|
||||||
|
<div class="headband"></div>
|
||||||
|
|
||||||
|
<header id="header" class="header" itemscope itemtype="http://schema.org/WPHeader">
|
||||||
|
<div class="header-inner"><div class="site-brand-container">
|
||||||
|
<div class="site-meta">
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<a href="/" class="brand" rel="start">
|
||||||
|
<span class="logo-line-before"><i></i></span>
|
||||||
|
<span class="site-title">Hu Yu's Personal Blog</span>
|
||||||
|
<span class="logo-line-after"><i></i></span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<p class="site-subtitle">Technical Articles about Computing and Software.</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="site-nav-toggle">
|
||||||
|
<div class="toggle" aria-label="Toggle navigation bar">
|
||||||
|
<span class="toggle-line toggle-line-first"></span>
|
||||||
|
<span class="toggle-line toggle-line-middle"></span>
|
||||||
|
<span class="toggle-line toggle-line-last"></span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<nav class="site-nav">
|
||||||
|
|
||||||
|
<ul id="menu" class="menu">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<li class="menu-item menu-item-home">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="/" rel="section"><i class="fa fa-fw fa-home"></i>Home</a>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<li class="menu-item menu-item-archives">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="/archives/" rel="section"><i class="fa fa-fw fa-archive"></i>Archives</a>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="back-to-top">
|
||||||
|
<i class="fa fa-arrow-up"></i>
|
||||||
|
<span>0%</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<main id="main" class="main">
|
||||||
|
<div class="main-inner">
|
||||||
|
<div class="content-wrap">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div id="content" class="content">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="post-block">
|
||||||
|
<div class="posts-collapse">
|
||||||
|
<div class="collection-title">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<span class="collection-header">Um..! 7 posts in total. Keep on posting.</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="collection-year">
|
||||||
|
<h1 class="collection-header">2017</h1>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<article itemscope itemtype="http://schema.org/Article">
|
||||||
|
<header class="post-header">
|
||||||
|
|
||||||
|
<div class="post-meta">
|
||||||
|
<time itemprop="dateCreated"
|
||||||
|
datetime="2017-05-20T21:22:00+08:00"
|
||||||
|
content="2017-05-20">
|
||||||
|
05-20
|
||||||
|
</time>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h2 class="post-title">
|
||||||
|
|
||||||
|
<a class="post-title-link" href="/2017/05/20/Next-Plan/" itemprop="url">
|
||||||
|
<span itemprop="name">Next Plan</span>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
</header>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<article itemscope itemtype="http://schema.org/Article">
|
||||||
|
<header class="post-header">
|
||||||
|
|
||||||
|
<div class="post-meta">
|
||||||
|
<time itemprop="dateCreated"
|
||||||
|
datetime="2017-05-14T12:09:00+08:00"
|
||||||
|
content="2017-05-14">
|
||||||
|
05-14
|
||||||
|
</time>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h2 class="post-title">
|
||||||
|
|
||||||
|
<a class="post-title-link" href="/2017/05/14/Talk-about-something-about-anti-metamorphism/" itemprop="url">
|
||||||
|
<span itemprop="name">Talk about something about anti-metamorphism</span>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
</header>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<article itemscope itemtype="http://schema.org/Article">
|
||||||
|
<header class="post-header">
|
||||||
|
|
||||||
|
<div class="post-meta">
|
||||||
|
<time itemprop="dateCreated"
|
||||||
|
datetime="2017-05-14T12:07:00+08:00"
|
||||||
|
content="2017-05-14">
|
||||||
|
05-14
|
||||||
|
</time>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h2 class="post-title">
|
||||||
|
|
||||||
|
<a class="post-title-link" href="/2017/05/14/God-Engine-Conception/" itemprop="url">
|
||||||
|
<span itemprop="name">God Engine Conception</span>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
</header>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<article itemscope itemtype="http://schema.org/Article">
|
||||||
|
<header class="post-header">
|
||||||
|
|
||||||
|
<div class="post-meta">
|
||||||
|
<time itemprop="dateCreated"
|
||||||
|
datetime="2017-05-14T11:08:30+08:00"
|
||||||
|
content="2017-05-14">
|
||||||
|
05-14
|
||||||
|
</time>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h2 class="post-title">
|
||||||
|
|
||||||
|
<a class="post-title-link" href="/2017/05/14/Methods-to-solve-problem/" itemprop="url">
|
||||||
|
<span itemprop="name">Methods to solve problem</span>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
</header>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="toggle sidebar-toggle">
|
||||||
|
<span class="toggle-line toggle-line-first"></span>
|
||||||
|
<span class="toggle-line toggle-line-middle"></span>
|
||||||
|
<span class="toggle-line toggle-line-last"></span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<aside class="sidebar">
|
||||||
|
<div class="sidebar-inner">
|
||||||
|
|
||||||
|
<ul class="sidebar-nav motion-element">
|
||||||
|
<li class="sidebar-nav-toc">
|
||||||
|
Table of Contents
|
||||||
|
</li>
|
||||||
|
<li class="sidebar-nav-overview">
|
||||||
|
Overview
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<!--noindex-->
|
||||||
|
<div class="post-toc-wrap sidebar-panel">
|
||||||
|
</div>
|
||||||
|
<!--/noindex-->
|
||||||
|
|
||||||
|
<div class="site-overview-wrap sidebar-panel">
|
||||||
|
<div class="site-author motion-element" itemprop="author" itemscope itemtype="http://schema.org/Person">
|
||||||
|
<p class="site-author-name" itemprop="name">Hu Yu</p>
|
||||||
|
<div class="site-description" itemprop="description"></div>
|
||||||
|
</div>
|
||||||
|
<div class="site-state-wrap motion-element">
|
||||||
|
<nav class="site-state">
|
||||||
|
<div class="site-state-item site-state-posts">
|
||||||
|
|
||||||
|
<a href="/archives/">
|
||||||
|
|
||||||
|
<span class="site-state-item-count">7</span>
|
||||||
|
<span class="site-state-item-name">posts</span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
<div class="links-of-author motion-element">
|
||||||
|
<span class="links-of-author-item">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="mailto:saturneric@ieee.org" title="E-Mail &rarr; mailto:saturneric@ieee.org" rel="noopener" target="_blank"><i class="fa fa-fw fa-envelope"></i>E-Mail</a>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</aside>
|
||||||
|
<div id="sidebar-dimmer"></div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<footer id="footer" class="footer">
|
||||||
|
<div class="footer-inner">
|
||||||
|
<div class="copyright">© <span itemprop="copyrightYear">2019</span>
|
||||||
|
<span class="with-love" id="animate">
|
||||||
|
<i class="fa fa-user"></i>
|
||||||
|
</span>
|
||||||
|
<span class="author" itemprop="copyrightHolder">Hu Yu</span>
|
||||||
|
</div>
|
||||||
|
<div class="powered-by">Powered by <a href="https://hexo.io/" class="theme-link" rel="noopener" target="_blank">Hexo</a> v3.9.0</div>
|
||||||
|
<span class="post-meta-divider">|</span>
|
||||||
|
<div class="theme-info">Theme – <a href="https://theme-next.org/" class="theme-link" rel="noopener" target="_blank">NexT.Pisces</a> v7.4.1</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="/lib/anime.min.js?v=3.1.0"></script>
|
||||||
|
<script src="/lib/velocity/velocity.min.js?v=1.2.1"></script>
|
||||||
|
<script src="/lib/velocity/velocity.ui.min.js?v=1.2.1"></script>
|
||||||
|
<script src="/js/utils.js?v=7.4.1"></script><script src="/js/motion.js?v=7.4.1"></script>
|
||||||
|
<script src="/js/schemes/pisces.js?v=7.4.1"></script>
|
||||||
|
<script src="/js/next-boot.js?v=7.4.1"></script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
493
archives/2017/index.html
Normal file
@ -0,0 +1,493 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=2">
|
||||||
|
<meta name="theme-color" content="#222">
|
||||||
|
<meta name="generator" content="Hexo 3.9.0">
|
||||||
|
<link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon-next.png?v=7.4.1">
|
||||||
|
<link rel="icon" type="image/png" sizes="32x32" href="/images/favicon-32x32-next.png?v=7.4.1">
|
||||||
|
<link rel="icon" type="image/png" sizes="16x16" href="/images/favicon-16x16-next.png?v=7.4.1">
|
||||||
|
<link rel="mask-icon" href="/images/logo.svg?v=7.4.1" color="#222">
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="/css/main.css?v=7.4.1">
|
||||||
|
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="/lib/font-awesome/css/font-awesome.min.css?v=4.7.0">
|
||||||
|
|
||||||
|
|
||||||
|
<script id="hexo-configurations">
|
||||||
|
var NexT = window.NexT || {};
|
||||||
|
var CONFIG = {
|
||||||
|
root: '/',
|
||||||
|
scheme: 'Pisces',
|
||||||
|
version: '7.4.1',
|
||||||
|
exturl: false,
|
||||||
|
sidebar: {"position":"right","display":"post","offset":12,"onmobile":false},
|
||||||
|
copycode: {"enable":false,"show_result":false,"style":null},
|
||||||
|
back2top: {"enable":true,"sidebar":false,"scrollpercent":false},
|
||||||
|
bookmark: {"enable":false,"color":"#222","save":"auto"},
|
||||||
|
fancybox: false,
|
||||||
|
mediumzoom: false,
|
||||||
|
lazyload: false,
|
||||||
|
pangu: false,
|
||||||
|
algolia: {
|
||||||
|
appID: '',
|
||||||
|
apiKey: '',
|
||||||
|
indexName: '',
|
||||||
|
hits: {"per_page":10},
|
||||||
|
labels: {"input_placeholder":"Search for Posts","hits_empty":"We didn't find any results for the search: ${query}","hits_stats":"${hits} results found in ${time} ms"}
|
||||||
|
},
|
||||||
|
localsearch: {"enable":false,"trigger":"auto","top_n_per_article":1,"unescape":false,"preload":false},
|
||||||
|
path: '',
|
||||||
|
motion: {"enable":true,"async":false,"transition":{"post_block":"fadeIn","post_header":"slideDownIn","post_body":"slideDownIn","coll_header":"slideLeftIn","sidebar":"slideUpIn"}},
|
||||||
|
translation: {
|
||||||
|
copy_button: 'Copy',
|
||||||
|
copy_success: 'Copied',
|
||||||
|
copy_failure: 'Copy failed'
|
||||||
|
},
|
||||||
|
sidebarPadding: 40
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<meta name="keywords" content="Software, Computing">
|
||||||
|
<meta property="og:type" content="website">
|
||||||
|
<meta property="og:title" content="Hu Yu's Personal Blog">
|
||||||
|
<meta property="og:url" content="http://saturneric.cn/archives/2017/index.html">
|
||||||
|
<meta property="og:site_name" content="Hu Yu's Personal Blog">
|
||||||
|
<meta property="og:locale" content="en">
|
||||||
|
<meta name="twitter:card" content="summary">
|
||||||
|
<meta name="twitter:title" content="Hu Yu's Personal Blog">
|
||||||
|
<link rel="canonical" href="http://saturneric.cn/archives/2017/">
|
||||||
|
|
||||||
|
|
||||||
|
<script id="page-configurations">
|
||||||
|
// https://hexo.io/docs/variables.html
|
||||||
|
CONFIG.page = {
|
||||||
|
sidebar: "",
|
||||||
|
isHome: false,
|
||||||
|
isPost: false,
|
||||||
|
isPage: false,
|
||||||
|
isArchive: true
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<title>Archive | Hu Yu's Personal Blog</title>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<noscript>
|
||||||
|
<style>
|
||||||
|
.use-motion .brand,
|
||||||
|
.use-motion .menu-item,
|
||||||
|
.sidebar-inner,
|
||||||
|
.use-motion .post-block,
|
||||||
|
.use-motion .pagination,
|
||||||
|
.use-motion .comments,
|
||||||
|
.use-motion .post-header,
|
||||||
|
.use-motion .post-body,
|
||||||
|
.use-motion .collection-header { opacity: initial; }
|
||||||
|
|
||||||
|
.use-motion .logo,
|
||||||
|
.use-motion .site-title,
|
||||||
|
.use-motion .site-subtitle {
|
||||||
|
opacity: initial;
|
||||||
|
top: initial;
|
||||||
|
}
|
||||||
|
|
||||||
|
.use-motion .logo-line-before i { left: initial; }
|
||||||
|
.use-motion .logo-line-after i { right: initial; }
|
||||||
|
</style>
|
||||||
|
</noscript>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body itemscope itemtype="http://schema.org/WebPage">
|
||||||
|
<div class="container use-motion">
|
||||||
|
<div class="headband"></div>
|
||||||
|
|
||||||
|
<header id="header" class="header" itemscope itemtype="http://schema.org/WPHeader">
|
||||||
|
<div class="header-inner"><div class="site-brand-container">
|
||||||
|
<div class="site-meta">
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<a href="/" class="brand" rel="start">
|
||||||
|
<span class="logo-line-before"><i></i></span>
|
||||||
|
<span class="site-title">Hu Yu's Personal Blog</span>
|
||||||
|
<span class="logo-line-after"><i></i></span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<p class="site-subtitle">Technical Articles about Computing and Software.</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="site-nav-toggle">
|
||||||
|
<div class="toggle" aria-label="Toggle navigation bar">
|
||||||
|
<span class="toggle-line toggle-line-first"></span>
|
||||||
|
<span class="toggle-line toggle-line-middle"></span>
|
||||||
|
<span class="toggle-line toggle-line-last"></span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<nav class="site-nav">
|
||||||
|
|
||||||
|
<ul id="menu" class="menu">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<li class="menu-item menu-item-home">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="/" rel="section"><i class="fa fa-fw fa-home"></i>Home</a>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<li class="menu-item menu-item-archives">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="/archives/" rel="section"><i class="fa fa-fw fa-archive"></i>Archives</a>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="back-to-top">
|
||||||
|
<i class="fa fa-arrow-up"></i>
|
||||||
|
<span>0%</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<main id="main" class="main">
|
||||||
|
<div class="main-inner">
|
||||||
|
<div class="content-wrap">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div id="content" class="content">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="post-block">
|
||||||
|
<div class="posts-collapse">
|
||||||
|
<div class="collection-title">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<span class="collection-header">Um..! 7 posts in total. Keep on posting.</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="collection-year">
|
||||||
|
<h1 class="collection-header">2017</h1>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<article itemscope itemtype="http://schema.org/Article">
|
||||||
|
<header class="post-header">
|
||||||
|
|
||||||
|
<div class="post-meta">
|
||||||
|
<time itemprop="dateCreated"
|
||||||
|
datetime="2017-05-20T21:22:00+08:00"
|
||||||
|
content="2017-05-20">
|
||||||
|
05-20
|
||||||
|
</time>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h2 class="post-title">
|
||||||
|
|
||||||
|
<a class="post-title-link" href="/2017/05/20/Next-Plan/" itemprop="url">
|
||||||
|
<span itemprop="name">Next Plan</span>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
</header>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<article itemscope itemtype="http://schema.org/Article">
|
||||||
|
<header class="post-header">
|
||||||
|
|
||||||
|
<div class="post-meta">
|
||||||
|
<time itemprop="dateCreated"
|
||||||
|
datetime="2017-05-14T12:09:00+08:00"
|
||||||
|
content="2017-05-14">
|
||||||
|
05-14
|
||||||
|
</time>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h2 class="post-title">
|
||||||
|
|
||||||
|
<a class="post-title-link" href="/2017/05/14/Talk-about-something-about-anti-metamorphism/" itemprop="url">
|
||||||
|
<span itemprop="name">Talk about something about anti-metamorphism</span>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
</header>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<article itemscope itemtype="http://schema.org/Article">
|
||||||
|
<header class="post-header">
|
||||||
|
|
||||||
|
<div class="post-meta">
|
||||||
|
<time itemprop="dateCreated"
|
||||||
|
datetime="2017-05-14T12:07:00+08:00"
|
||||||
|
content="2017-05-14">
|
||||||
|
05-14
|
||||||
|
</time>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h2 class="post-title">
|
||||||
|
|
||||||
|
<a class="post-title-link" href="/2017/05/14/God-Engine-Conception/" itemprop="url">
|
||||||
|
<span itemprop="name">God Engine Conception</span>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
</header>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<article itemscope itemtype="http://schema.org/Article">
|
||||||
|
<header class="post-header">
|
||||||
|
|
||||||
|
<div class="post-meta">
|
||||||
|
<time itemprop="dateCreated"
|
||||||
|
datetime="2017-05-14T11:08:30+08:00"
|
||||||
|
content="2017-05-14">
|
||||||
|
05-14
|
||||||
|
</time>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h2 class="post-title">
|
||||||
|
|
||||||
|
<a class="post-title-link" href="/2017/05/14/Methods-to-solve-problem/" itemprop="url">
|
||||||
|
<span itemprop="name">Methods to solve problem</span>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
</header>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="toggle sidebar-toggle">
|
||||||
|
<span class="toggle-line toggle-line-first"></span>
|
||||||
|
<span class="toggle-line toggle-line-middle"></span>
|
||||||
|
<span class="toggle-line toggle-line-last"></span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<aside class="sidebar">
|
||||||
|
<div class="sidebar-inner">
|
||||||
|
|
||||||
|
<ul class="sidebar-nav motion-element">
|
||||||
|
<li class="sidebar-nav-toc">
|
||||||
|
Table of Contents
|
||||||
|
</li>
|
||||||
|
<li class="sidebar-nav-overview">
|
||||||
|
Overview
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<!--noindex-->
|
||||||
|
<div class="post-toc-wrap sidebar-panel">
|
||||||
|
</div>
|
||||||
|
<!--/noindex-->
|
||||||
|
|
||||||
|
<div class="site-overview-wrap sidebar-panel">
|
||||||
|
<div class="site-author motion-element" itemprop="author" itemscope itemtype="http://schema.org/Person">
|
||||||
|
<p class="site-author-name" itemprop="name">Hu Yu</p>
|
||||||
|
<div class="site-description" itemprop="description"></div>
|
||||||
|
</div>
|
||||||
|
<div class="site-state-wrap motion-element">
|
||||||
|
<nav class="site-state">
|
||||||
|
<div class="site-state-item site-state-posts">
|
||||||
|
|
||||||
|
<a href="/archives/">
|
||||||
|
|
||||||
|
<span class="site-state-item-count">7</span>
|
||||||
|
<span class="site-state-item-name">posts</span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
<div class="links-of-author motion-element">
|
||||||
|
<span class="links-of-author-item">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="mailto:saturneric@ieee.org" title="E-Mail &rarr; mailto:saturneric@ieee.org" rel="noopener" target="_blank"><i class="fa fa-fw fa-envelope"></i>E-Mail</a>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</aside>
|
||||||
|
<div id="sidebar-dimmer"></div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<footer id="footer" class="footer">
|
||||||
|
<div class="footer-inner">
|
||||||
|
<div class="copyright">© <span itemprop="copyrightYear">2019</span>
|
||||||
|
<span class="with-love" id="animate">
|
||||||
|
<i class="fa fa-user"></i>
|
||||||
|
</span>
|
||||||
|
<span class="author" itemprop="copyrightHolder">Hu Yu</span>
|
||||||
|
</div>
|
||||||
|
<div class="powered-by">Powered by <a href="https://hexo.io/" class="theme-link" rel="noopener" target="_blank">Hexo</a> v3.9.0</div>
|
||||||
|
<span class="post-meta-divider">|</span>
|
||||||
|
<div class="theme-info">Theme – <a href="https://theme-next.org/" class="theme-link" rel="noopener" target="_blank">NexT.Pisces</a> v7.4.1</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="/lib/anime.min.js?v=3.1.0"></script>
|
||||||
|
<script src="/lib/velocity/velocity.min.js?v=1.2.1"></script>
|
||||||
|
<script src="/lib/velocity/velocity.ui.min.js?v=1.2.1"></script>
|
||||||
|
<script src="/js/utils.js?v=7.4.1"></script><script src="/js/motion.js?v=7.4.1"></script>
|
||||||
|
<script src="/js/schemes/pisces.js?v=7.4.1"></script>
|
||||||
|
<script src="/js/next-boot.js?v=7.4.1"></script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
406
archives/2019/10/index.html
Normal file
@ -0,0 +1,406 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=2">
|
||||||
|
<meta name="theme-color" content="#222">
|
||||||
|
<meta name="generator" content="Hexo 3.9.0">
|
||||||
|
<link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon-next.png?v=7.4.1">
|
||||||
|
<link rel="icon" type="image/png" sizes="32x32" href="/images/favicon-32x32-next.png?v=7.4.1">
|
||||||
|
<link rel="icon" type="image/png" sizes="16x16" href="/images/favicon-16x16-next.png?v=7.4.1">
|
||||||
|
<link rel="mask-icon" href="/images/logo.svg?v=7.4.1" color="#222">
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="/css/main.css?v=7.4.1">
|
||||||
|
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="/lib/font-awesome/css/font-awesome.min.css?v=4.7.0">
|
||||||
|
|
||||||
|
|
||||||
|
<script id="hexo-configurations">
|
||||||
|
var NexT = window.NexT || {};
|
||||||
|
var CONFIG = {
|
||||||
|
root: '/',
|
||||||
|
scheme: 'Pisces',
|
||||||
|
version: '7.4.1',
|
||||||
|
exturl: false,
|
||||||
|
sidebar: {"position":"right","display":"post","offset":12,"onmobile":false},
|
||||||
|
copycode: {"enable":false,"show_result":false,"style":null},
|
||||||
|
back2top: {"enable":true,"sidebar":false,"scrollpercent":false},
|
||||||
|
bookmark: {"enable":false,"color":"#222","save":"auto"},
|
||||||
|
fancybox: false,
|
||||||
|
mediumzoom: false,
|
||||||
|
lazyload: false,
|
||||||
|
pangu: false,
|
||||||
|
algolia: {
|
||||||
|
appID: '',
|
||||||
|
apiKey: '',
|
||||||
|
indexName: '',
|
||||||
|
hits: {"per_page":10},
|
||||||
|
labels: {"input_placeholder":"Search for Posts","hits_empty":"We didn't find any results for the search: ${query}","hits_stats":"${hits} results found in ${time} ms"}
|
||||||
|
},
|
||||||
|
localsearch: {"enable":false,"trigger":"auto","top_n_per_article":1,"unescape":false,"preload":false},
|
||||||
|
path: '',
|
||||||
|
motion: {"enable":true,"async":false,"transition":{"post_block":"fadeIn","post_header":"slideDownIn","post_body":"slideDownIn","coll_header":"slideLeftIn","sidebar":"slideUpIn"}},
|
||||||
|
translation: {
|
||||||
|
copy_button: 'Copy',
|
||||||
|
copy_success: 'Copied',
|
||||||
|
copy_failure: 'Copy failed'
|
||||||
|
},
|
||||||
|
sidebarPadding: 40
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<meta name="keywords" content="Software, Computing">
|
||||||
|
<meta property="og:type" content="website">
|
||||||
|
<meta property="og:title" content="Hu Yu's Personal Blog">
|
||||||
|
<meta property="og:url" content="http://saturneric.cn/archives/2019/10/index.html">
|
||||||
|
<meta property="og:site_name" content="Hu Yu's Personal Blog">
|
||||||
|
<meta property="og:locale" content="en">
|
||||||
|
<meta name="twitter:card" content="summary">
|
||||||
|
<meta name="twitter:title" content="Hu Yu's Personal Blog">
|
||||||
|
<link rel="canonical" href="http://saturneric.cn/archives/2019/10/">
|
||||||
|
|
||||||
|
|
||||||
|
<script id="page-configurations">
|
||||||
|
// https://hexo.io/docs/variables.html
|
||||||
|
CONFIG.page = {
|
||||||
|
sidebar: "",
|
||||||
|
isHome: false,
|
||||||
|
isPost: false,
|
||||||
|
isPage: false,
|
||||||
|
isArchive: true
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<title>Archive | Hu Yu's Personal Blog</title>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<noscript>
|
||||||
|
<style>
|
||||||
|
.use-motion .brand,
|
||||||
|
.use-motion .menu-item,
|
||||||
|
.sidebar-inner,
|
||||||
|
.use-motion .post-block,
|
||||||
|
.use-motion .pagination,
|
||||||
|
.use-motion .comments,
|
||||||
|
.use-motion .post-header,
|
||||||
|
.use-motion .post-body,
|
||||||
|
.use-motion .collection-header { opacity: initial; }
|
||||||
|
|
||||||
|
.use-motion .logo,
|
||||||
|
.use-motion .site-title,
|
||||||
|
.use-motion .site-subtitle {
|
||||||
|
opacity: initial;
|
||||||
|
top: initial;
|
||||||
|
}
|
||||||
|
|
||||||
|
.use-motion .logo-line-before i { left: initial; }
|
||||||
|
.use-motion .logo-line-after i { right: initial; }
|
||||||
|
</style>
|
||||||
|
</noscript>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body itemscope itemtype="http://schema.org/WebPage">
|
||||||
|
<div class="container use-motion">
|
||||||
|
<div class="headband"></div>
|
||||||
|
|
||||||
|
<header id="header" class="header" itemscope itemtype="http://schema.org/WPHeader">
|
||||||
|
<div class="header-inner"><div class="site-brand-container">
|
||||||
|
<div class="site-meta">
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<a href="/" class="brand" rel="start">
|
||||||
|
<span class="logo-line-before"><i></i></span>
|
||||||
|
<span class="site-title">Hu Yu's Personal Blog</span>
|
||||||
|
<span class="logo-line-after"><i></i></span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<p class="site-subtitle">Technical Articles about Computing and Software.</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="site-nav-toggle">
|
||||||
|
<div class="toggle" aria-label="Toggle navigation bar">
|
||||||
|
<span class="toggle-line toggle-line-first"></span>
|
||||||
|
<span class="toggle-line toggle-line-middle"></span>
|
||||||
|
<span class="toggle-line toggle-line-last"></span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<nav class="site-nav">
|
||||||
|
|
||||||
|
<ul id="menu" class="menu">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<li class="menu-item menu-item-home">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="/" rel="section"><i class="fa fa-fw fa-home"></i>Home</a>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<li class="menu-item menu-item-archives">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="/archives/" rel="section"><i class="fa fa-fw fa-archive"></i>Archives</a>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="back-to-top">
|
||||||
|
<i class="fa fa-arrow-up"></i>
|
||||||
|
<span>0%</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<main id="main" class="main">
|
||||||
|
<div class="main-inner">
|
||||||
|
<div class="content-wrap">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div id="content" class="content">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="post-block">
|
||||||
|
<div class="posts-collapse">
|
||||||
|
<div class="collection-title">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<span class="collection-header">Um..! 7 posts in total. Keep on posting.</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="collection-year">
|
||||||
|
<h1 class="collection-header">2019</h1>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<article itemscope itemtype="http://schema.org/Article">
|
||||||
|
<header class="post-header">
|
||||||
|
|
||||||
|
<div class="post-meta">
|
||||||
|
<time itemprop="dateCreated"
|
||||||
|
datetime="2019-10-09T23:22:44+08:00"
|
||||||
|
content="2019-10-09">
|
||||||
|
10-09
|
||||||
|
</time>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h2 class="post-title">
|
||||||
|
|
||||||
|
<a class="post-title-link" href="/2019/10/09/NaoVision-General-Introduction/" itemprop="url">
|
||||||
|
<span itemprop="name">NaoVision</span>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
</header>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="toggle sidebar-toggle">
|
||||||
|
<span class="toggle-line toggle-line-first"></span>
|
||||||
|
<span class="toggle-line toggle-line-middle"></span>
|
||||||
|
<span class="toggle-line toggle-line-last"></span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<aside class="sidebar">
|
||||||
|
<div class="sidebar-inner">
|
||||||
|
|
||||||
|
<ul class="sidebar-nav motion-element">
|
||||||
|
<li class="sidebar-nav-toc">
|
||||||
|
Table of Contents
|
||||||
|
</li>
|
||||||
|
<li class="sidebar-nav-overview">
|
||||||
|
Overview
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<!--noindex-->
|
||||||
|
<div class="post-toc-wrap sidebar-panel">
|
||||||
|
</div>
|
||||||
|
<!--/noindex-->
|
||||||
|
|
||||||
|
<div class="site-overview-wrap sidebar-panel">
|
||||||
|
<div class="site-author motion-element" itemprop="author" itemscope itemtype="http://schema.org/Person">
|
||||||
|
<p class="site-author-name" itemprop="name">Hu Yu</p>
|
||||||
|
<div class="site-description" itemprop="description"></div>
|
||||||
|
</div>
|
||||||
|
<div class="site-state-wrap motion-element">
|
||||||
|
<nav class="site-state">
|
||||||
|
<div class="site-state-item site-state-posts">
|
||||||
|
|
||||||
|
<a href="/archives/">
|
||||||
|
|
||||||
|
<span class="site-state-item-count">7</span>
|
||||||
|
<span class="site-state-item-name">posts</span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
<div class="links-of-author motion-element">
|
||||||
|
<span class="links-of-author-item">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="mailto:saturneric@ieee.org" title="E-Mail &rarr; mailto:saturneric@ieee.org" rel="noopener" target="_blank"><i class="fa fa-fw fa-envelope"></i>E-Mail</a>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</aside>
|
||||||
|
<div id="sidebar-dimmer"></div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<footer id="footer" class="footer">
|
||||||
|
<div class="footer-inner">
|
||||||
|
<div class="copyright">© <span itemprop="copyrightYear">2019</span>
|
||||||
|
<span class="with-love" id="animate">
|
||||||
|
<i class="fa fa-user"></i>
|
||||||
|
</span>
|
||||||
|
<span class="author" itemprop="copyrightHolder">Hu Yu</span>
|
||||||
|
</div>
|
||||||
|
<div class="powered-by">Powered by <a href="https://hexo.io/" class="theme-link" rel="noopener" target="_blank">Hexo</a> v3.9.0</div>
|
||||||
|
<span class="post-meta-divider">|</span>
|
||||||
|
<div class="theme-info">Theme – <a href="https://theme-next.org/" class="theme-link" rel="noopener" target="_blank">NexT.Pisces</a> v7.4.1</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="/lib/anime.min.js?v=3.1.0"></script>
|
||||||
|
<script src="/lib/velocity/velocity.min.js?v=1.2.1"></script>
|
||||||
|
<script src="/lib/velocity/velocity.ui.min.js?v=1.2.1"></script>
|
||||||
|
<script src="/js/utils.js?v=7.4.1"></script><script src="/js/motion.js?v=7.4.1"></script>
|
||||||
|
<script src="/js/schemes/pisces.js?v=7.4.1"></script>
|
||||||
|
<script src="/js/next-boot.js?v=7.4.1"></script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
406
archives/2019/index.html
Normal file
@ -0,0 +1,406 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=2">
|
||||||
|
<meta name="theme-color" content="#222">
|
||||||
|
<meta name="generator" content="Hexo 3.9.0">
|
||||||
|
<link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon-next.png?v=7.4.1">
|
||||||
|
<link rel="icon" type="image/png" sizes="32x32" href="/images/favicon-32x32-next.png?v=7.4.1">
|
||||||
|
<link rel="icon" type="image/png" sizes="16x16" href="/images/favicon-16x16-next.png?v=7.4.1">
|
||||||
|
<link rel="mask-icon" href="/images/logo.svg?v=7.4.1" color="#222">
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="/css/main.css?v=7.4.1">
|
||||||
|
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="/lib/font-awesome/css/font-awesome.min.css?v=4.7.0">
|
||||||
|
|
||||||
|
|
||||||
|
<script id="hexo-configurations">
|
||||||
|
var NexT = window.NexT || {};
|
||||||
|
var CONFIG = {
|
||||||
|
root: '/',
|
||||||
|
scheme: 'Pisces',
|
||||||
|
version: '7.4.1',
|
||||||
|
exturl: false,
|
||||||
|
sidebar: {"position":"right","display":"post","offset":12,"onmobile":false},
|
||||||
|
copycode: {"enable":false,"show_result":false,"style":null},
|
||||||
|
back2top: {"enable":true,"sidebar":false,"scrollpercent":false},
|
||||||
|
bookmark: {"enable":false,"color":"#222","save":"auto"},
|
||||||
|
fancybox: false,
|
||||||
|
mediumzoom: false,
|
||||||
|
lazyload: false,
|
||||||
|
pangu: false,
|
||||||
|
algolia: {
|
||||||
|
appID: '',
|
||||||
|
apiKey: '',
|
||||||
|
indexName: '',
|
||||||
|
hits: {"per_page":10},
|
||||||
|
labels: {"input_placeholder":"Search for Posts","hits_empty":"We didn't find any results for the search: ${query}","hits_stats":"${hits} results found in ${time} ms"}
|
||||||
|
},
|
||||||
|
localsearch: {"enable":false,"trigger":"auto","top_n_per_article":1,"unescape":false,"preload":false},
|
||||||
|
path: '',
|
||||||
|
motion: {"enable":true,"async":false,"transition":{"post_block":"fadeIn","post_header":"slideDownIn","post_body":"slideDownIn","coll_header":"slideLeftIn","sidebar":"slideUpIn"}},
|
||||||
|
translation: {
|
||||||
|
copy_button: 'Copy',
|
||||||
|
copy_success: 'Copied',
|
||||||
|
copy_failure: 'Copy failed'
|
||||||
|
},
|
||||||
|
sidebarPadding: 40
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<meta name="keywords" content="Software, Computing">
|
||||||
|
<meta property="og:type" content="website">
|
||||||
|
<meta property="og:title" content="Hu Yu's Personal Blog">
|
||||||
|
<meta property="og:url" content="http://saturneric.cn/archives/2019/index.html">
|
||||||
|
<meta property="og:site_name" content="Hu Yu's Personal Blog">
|
||||||
|
<meta property="og:locale" content="en">
|
||||||
|
<meta name="twitter:card" content="summary">
|
||||||
|
<meta name="twitter:title" content="Hu Yu's Personal Blog">
|
||||||
|
<link rel="canonical" href="http://saturneric.cn/archives/2019/">
|
||||||
|
|
||||||
|
|
||||||
|
<script id="page-configurations">
|
||||||
|
// https://hexo.io/docs/variables.html
|
||||||
|
CONFIG.page = {
|
||||||
|
sidebar: "",
|
||||||
|
isHome: false,
|
||||||
|
isPost: false,
|
||||||
|
isPage: false,
|
||||||
|
isArchive: true
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<title>Archive | Hu Yu's Personal Blog</title>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<noscript>
|
||||||
|
<style>
|
||||||
|
.use-motion .brand,
|
||||||
|
.use-motion .menu-item,
|
||||||
|
.sidebar-inner,
|
||||||
|
.use-motion .post-block,
|
||||||
|
.use-motion .pagination,
|
||||||
|
.use-motion .comments,
|
||||||
|
.use-motion .post-header,
|
||||||
|
.use-motion .post-body,
|
||||||
|
.use-motion .collection-header { opacity: initial; }
|
||||||
|
|
||||||
|
.use-motion .logo,
|
||||||
|
.use-motion .site-title,
|
||||||
|
.use-motion .site-subtitle {
|
||||||
|
opacity: initial;
|
||||||
|
top: initial;
|
||||||
|
}
|
||||||
|
|
||||||
|
.use-motion .logo-line-before i { left: initial; }
|
||||||
|
.use-motion .logo-line-after i { right: initial; }
|
||||||
|
</style>
|
||||||
|
</noscript>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body itemscope itemtype="http://schema.org/WebPage">
|
||||||
|
<div class="container use-motion">
|
||||||
|
<div class="headband"></div>
|
||||||
|
|
||||||
|
<header id="header" class="header" itemscope itemtype="http://schema.org/WPHeader">
|
||||||
|
<div class="header-inner"><div class="site-brand-container">
|
||||||
|
<div class="site-meta">
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<a href="/" class="brand" rel="start">
|
||||||
|
<span class="logo-line-before"><i></i></span>
|
||||||
|
<span class="site-title">Hu Yu's Personal Blog</span>
|
||||||
|
<span class="logo-line-after"><i></i></span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<p class="site-subtitle">Technical Articles about Computing and Software.</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="site-nav-toggle">
|
||||||
|
<div class="toggle" aria-label="Toggle navigation bar">
|
||||||
|
<span class="toggle-line toggle-line-first"></span>
|
||||||
|
<span class="toggle-line toggle-line-middle"></span>
|
||||||
|
<span class="toggle-line toggle-line-last"></span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<nav class="site-nav">
|
||||||
|
|
||||||
|
<ul id="menu" class="menu">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<li class="menu-item menu-item-home">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="/" rel="section"><i class="fa fa-fw fa-home"></i>Home</a>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<li class="menu-item menu-item-archives">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="/archives/" rel="section"><i class="fa fa-fw fa-archive"></i>Archives</a>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="back-to-top">
|
||||||
|
<i class="fa fa-arrow-up"></i>
|
||||||
|
<span>0%</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<main id="main" class="main">
|
||||||
|
<div class="main-inner">
|
||||||
|
<div class="content-wrap">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div id="content" class="content">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="post-block">
|
||||||
|
<div class="posts-collapse">
|
||||||
|
<div class="collection-title">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<span class="collection-header">Um..! 7 posts in total. Keep on posting.</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="collection-year">
|
||||||
|
<h1 class="collection-header">2019</h1>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<article itemscope itemtype="http://schema.org/Article">
|
||||||
|
<header class="post-header">
|
||||||
|
|
||||||
|
<div class="post-meta">
|
||||||
|
<time itemprop="dateCreated"
|
||||||
|
datetime="2019-10-09T23:22:44+08:00"
|
||||||
|
content="2019-10-09">
|
||||||
|
10-09
|
||||||
|
</time>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h2 class="post-title">
|
||||||
|
|
||||||
|
<a class="post-title-link" href="/2019/10/09/NaoVision-General-Introduction/" itemprop="url">
|
||||||
|
<span itemprop="name">NaoVision</span>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
</header>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="toggle sidebar-toggle">
|
||||||
|
<span class="toggle-line toggle-line-first"></span>
|
||||||
|
<span class="toggle-line toggle-line-middle"></span>
|
||||||
|
<span class="toggle-line toggle-line-last"></span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<aside class="sidebar">
|
||||||
|
<div class="sidebar-inner">
|
||||||
|
|
||||||
|
<ul class="sidebar-nav motion-element">
|
||||||
|
<li class="sidebar-nav-toc">
|
||||||
|
Table of Contents
|
||||||
|
</li>
|
||||||
|
<li class="sidebar-nav-overview">
|
||||||
|
Overview
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<!--noindex-->
|
||||||
|
<div class="post-toc-wrap sidebar-panel">
|
||||||
|
</div>
|
||||||
|
<!--/noindex-->
|
||||||
|
|
||||||
|
<div class="site-overview-wrap sidebar-panel">
|
||||||
|
<div class="site-author motion-element" itemprop="author" itemscope itemtype="http://schema.org/Person">
|
||||||
|
<p class="site-author-name" itemprop="name">Hu Yu</p>
|
||||||
|
<div class="site-description" itemprop="description"></div>
|
||||||
|
</div>
|
||||||
|
<div class="site-state-wrap motion-element">
|
||||||
|
<nav class="site-state">
|
||||||
|
<div class="site-state-item site-state-posts">
|
||||||
|
|
||||||
|
<a href="/archives/">
|
||||||
|
|
||||||
|
<span class="site-state-item-count">7</span>
|
||||||
|
<span class="site-state-item-name">posts</span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
<div class="links-of-author motion-element">
|
||||||
|
<span class="links-of-author-item">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="mailto:saturneric@ieee.org" title="E-Mail &rarr; mailto:saturneric@ieee.org" rel="noopener" target="_blank"><i class="fa fa-fw fa-envelope"></i>E-Mail</a>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</aside>
|
||||||
|
<div id="sidebar-dimmer"></div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<footer id="footer" class="footer">
|
||||||
|
<div class="footer-inner">
|
||||||
|
<div class="copyright">© <span itemprop="copyrightYear">2019</span>
|
||||||
|
<span class="with-love" id="animate">
|
||||||
|
<i class="fa fa-user"></i>
|
||||||
|
</span>
|
||||||
|
<span class="author" itemprop="copyrightHolder">Hu Yu</span>
|
||||||
|
</div>
|
||||||
|
<div class="powered-by">Powered by <a href="https://hexo.io/" class="theme-link" rel="noopener" target="_blank">Hexo</a> v3.9.0</div>
|
||||||
|
<span class="post-meta-divider">|</span>
|
||||||
|
<div class="theme-info">Theme – <a href="https://theme-next.org/" class="theme-link" rel="noopener" target="_blank">NexT.Pisces</a> v7.4.1</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="/lib/anime.min.js?v=3.1.0"></script>
|
||||||
|
<script src="/lib/velocity/velocity.min.js?v=1.2.1"></script>
|
||||||
|
<script src="/lib/velocity/velocity.ui.min.js?v=1.2.1"></script>
|
||||||
|
<script src="/js/utils.js?v=7.4.1"></script><script src="/js/motion.js?v=7.4.1"></script>
|
||||||
|
<script src="/js/schemes/pisces.js?v=7.4.1"></script>
|
||||||
|
<script src="/js/next-boot.js?v=7.4.1"></script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
590
archives/index.html
Normal file
@ -0,0 +1,590 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=2">
|
||||||
|
<meta name="theme-color" content="#222">
|
||||||
|
<meta name="generator" content="Hexo 3.9.0">
|
||||||
|
<link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon-next.png?v=7.4.1">
|
||||||
|
<link rel="icon" type="image/png" sizes="32x32" href="/images/favicon-32x32-next.png?v=7.4.1">
|
||||||
|
<link rel="icon" type="image/png" sizes="16x16" href="/images/favicon-16x16-next.png?v=7.4.1">
|
||||||
|
<link rel="mask-icon" href="/images/logo.svg?v=7.4.1" color="#222">
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="/css/main.css?v=7.4.1">
|
||||||
|
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="/lib/font-awesome/css/font-awesome.min.css?v=4.7.0">
|
||||||
|
|
||||||
|
|
||||||
|
<script id="hexo-configurations">
|
||||||
|
var NexT = window.NexT || {};
|
||||||
|
var CONFIG = {
|
||||||
|
root: '/',
|
||||||
|
scheme: 'Pisces',
|
||||||
|
version: '7.4.1',
|
||||||
|
exturl: false,
|
||||||
|
sidebar: {"position":"right","display":"post","offset":12,"onmobile":false},
|
||||||
|
copycode: {"enable":false,"show_result":false,"style":null},
|
||||||
|
back2top: {"enable":true,"sidebar":false,"scrollpercent":false},
|
||||||
|
bookmark: {"enable":false,"color":"#222","save":"auto"},
|
||||||
|
fancybox: false,
|
||||||
|
mediumzoom: false,
|
||||||
|
lazyload: false,
|
||||||
|
pangu: false,
|
||||||
|
algolia: {
|
||||||
|
appID: '',
|
||||||
|
apiKey: '',
|
||||||
|
indexName: '',
|
||||||
|
hits: {"per_page":10},
|
||||||
|
labels: {"input_placeholder":"Search for Posts","hits_empty":"We didn't find any results for the search: ${query}","hits_stats":"${hits} results found in ${time} ms"}
|
||||||
|
},
|
||||||
|
localsearch: {"enable":false,"trigger":"auto","top_n_per_article":1,"unescape":false,"preload":false},
|
||||||
|
path: '',
|
||||||
|
motion: {"enable":true,"async":false,"transition":{"post_block":"fadeIn","post_header":"slideDownIn","post_body":"slideDownIn","coll_header":"slideLeftIn","sidebar":"slideUpIn"}},
|
||||||
|
translation: {
|
||||||
|
copy_button: 'Copy',
|
||||||
|
copy_success: 'Copied',
|
||||||
|
copy_failure: 'Copy failed'
|
||||||
|
},
|
||||||
|
sidebarPadding: 40
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<meta name="keywords" content="Software, Computing">
|
||||||
|
<meta property="og:type" content="website">
|
||||||
|
<meta property="og:title" content="Hu Yu's Personal Blog">
|
||||||
|
<meta property="og:url" content="http://saturneric.cn/archives/index.html">
|
||||||
|
<meta property="og:site_name" content="Hu Yu's Personal Blog">
|
||||||
|
<meta property="og:locale" content="en">
|
||||||
|
<meta name="twitter:card" content="summary">
|
||||||
|
<meta name="twitter:title" content="Hu Yu's Personal Blog">
|
||||||
|
<link rel="canonical" href="http://saturneric.cn/archives/">
|
||||||
|
|
||||||
|
|
||||||
|
<script id="page-configurations">
|
||||||
|
// https://hexo.io/docs/variables.html
|
||||||
|
CONFIG.page = {
|
||||||
|
sidebar: "",
|
||||||
|
isHome: false,
|
||||||
|
isPost: false,
|
||||||
|
isPage: false,
|
||||||
|
isArchive: true
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<title>Archive | Hu Yu's Personal Blog</title>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<noscript>
|
||||||
|
<style>
|
||||||
|
.use-motion .brand,
|
||||||
|
.use-motion .menu-item,
|
||||||
|
.sidebar-inner,
|
||||||
|
.use-motion .post-block,
|
||||||
|
.use-motion .pagination,
|
||||||
|
.use-motion .comments,
|
||||||
|
.use-motion .post-header,
|
||||||
|
.use-motion .post-body,
|
||||||
|
.use-motion .collection-header { opacity: initial; }
|
||||||
|
|
||||||
|
.use-motion .logo,
|
||||||
|
.use-motion .site-title,
|
||||||
|
.use-motion .site-subtitle {
|
||||||
|
opacity: initial;
|
||||||
|
top: initial;
|
||||||
|
}
|
||||||
|
|
||||||
|
.use-motion .logo-line-before i { left: initial; }
|
||||||
|
.use-motion .logo-line-after i { right: initial; }
|
||||||
|
</style>
|
||||||
|
</noscript>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body itemscope itemtype="http://schema.org/WebPage">
|
||||||
|
<div class="container use-motion">
|
||||||
|
<div class="headband"></div>
|
||||||
|
|
||||||
|
<header id="header" class="header" itemscope itemtype="http://schema.org/WPHeader">
|
||||||
|
<div class="header-inner"><div class="site-brand-container">
|
||||||
|
<div class="site-meta">
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<a href="/" class="brand" rel="start">
|
||||||
|
<span class="logo-line-before"><i></i></span>
|
||||||
|
<span class="site-title">Hu Yu's Personal Blog</span>
|
||||||
|
<span class="logo-line-after"><i></i></span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<p class="site-subtitle">Technical Articles about Computing and Software.</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="site-nav-toggle">
|
||||||
|
<div class="toggle" aria-label="Toggle navigation bar">
|
||||||
|
<span class="toggle-line toggle-line-first"></span>
|
||||||
|
<span class="toggle-line toggle-line-middle"></span>
|
||||||
|
<span class="toggle-line toggle-line-last"></span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<nav class="site-nav">
|
||||||
|
|
||||||
|
<ul id="menu" class="menu">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<li class="menu-item menu-item-home">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="/" rel="section"><i class="fa fa-fw fa-home"></i>Home</a>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<li class="menu-item menu-item-archives">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="/archives/" rel="section"><i class="fa fa-fw fa-archive"></i>Archives</a>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="back-to-top">
|
||||||
|
<i class="fa fa-arrow-up"></i>
|
||||||
|
<span>0%</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<main id="main" class="main">
|
||||||
|
<div class="main-inner">
|
||||||
|
<div class="content-wrap">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div id="content" class="content">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="post-block">
|
||||||
|
<div class="posts-collapse">
|
||||||
|
<div class="collection-title">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<span class="collection-header">Um..! 7 posts in total. Keep on posting.</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="collection-year">
|
||||||
|
<h1 class="collection-header">2019</h1>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<article itemscope itemtype="http://schema.org/Article">
|
||||||
|
<header class="post-header">
|
||||||
|
|
||||||
|
<div class="post-meta">
|
||||||
|
<time itemprop="dateCreated"
|
||||||
|
datetime="2019-10-09T23:22:44+08:00"
|
||||||
|
content="2019-10-09">
|
||||||
|
10-09
|
||||||
|
</time>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h2 class="post-title">
|
||||||
|
|
||||||
|
<a class="post-title-link" href="/2019/10/09/NaoVision-General-Introduction/" itemprop="url">
|
||||||
|
<span itemprop="name">NaoVision</span>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
</header>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="collection-year">
|
||||||
|
<h1 class="collection-header">2017</h1>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<article itemscope itemtype="http://schema.org/Article">
|
||||||
|
<header class="post-header">
|
||||||
|
|
||||||
|
<div class="post-meta">
|
||||||
|
<time itemprop="dateCreated"
|
||||||
|
datetime="2017-05-20T21:22:00+08:00"
|
||||||
|
content="2017-05-20">
|
||||||
|
05-20
|
||||||
|
</time>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h2 class="post-title">
|
||||||
|
|
||||||
|
<a class="post-title-link" href="/2017/05/20/Next-Plan/" itemprop="url">
|
||||||
|
<span itemprop="name">Next Plan</span>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
</header>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<article itemscope itemtype="http://schema.org/Article">
|
||||||
|
<header class="post-header">
|
||||||
|
|
||||||
|
<div class="post-meta">
|
||||||
|
<time itemprop="dateCreated"
|
||||||
|
datetime="2017-05-14T12:09:00+08:00"
|
||||||
|
content="2017-05-14">
|
||||||
|
05-14
|
||||||
|
</time>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h2 class="post-title">
|
||||||
|
|
||||||
|
<a class="post-title-link" href="/2017/05/14/Talk-about-something-about-anti-metamorphism/" itemprop="url">
|
||||||
|
<span itemprop="name">Talk about something about anti-metamorphism</span>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
</header>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<article itemscope itemtype="http://schema.org/Article">
|
||||||
|
<header class="post-header">
|
||||||
|
|
||||||
|
<div class="post-meta">
|
||||||
|
<time itemprop="dateCreated"
|
||||||
|
datetime="2017-05-14T12:07:00+08:00"
|
||||||
|
content="2017-05-14">
|
||||||
|
05-14
|
||||||
|
</time>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h2 class="post-title">
|
||||||
|
|
||||||
|
<a class="post-title-link" href="/2017/05/14/God-Engine-Conception/" itemprop="url">
|
||||||
|
<span itemprop="name">God Engine Conception</span>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
</header>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<article itemscope itemtype="http://schema.org/Article">
|
||||||
|
<header class="post-header">
|
||||||
|
|
||||||
|
<div class="post-meta">
|
||||||
|
<time itemprop="dateCreated"
|
||||||
|
datetime="2017-05-14T11:08:30+08:00"
|
||||||
|
content="2017-05-14">
|
||||||
|
05-14
|
||||||
|
</time>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h2 class="post-title">
|
||||||
|
|
||||||
|
<a class="post-title-link" href="/2017/05/14/Methods-to-solve-problem/" itemprop="url">
|
||||||
|
<span itemprop="name">Methods to solve problem</span>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
</header>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="collection-year">
|
||||||
|
<h1 class="collection-header">2016</h1>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<article itemscope itemtype="http://schema.org/Article">
|
||||||
|
<header class="post-header">
|
||||||
|
|
||||||
|
<div class="post-meta">
|
||||||
|
<time itemprop="dateCreated"
|
||||||
|
datetime="2016-10-20T21:59:00+08:00"
|
||||||
|
content="2016-10-20">
|
||||||
|
10-20
|
||||||
|
</time>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h2 class="post-title">
|
||||||
|
|
||||||
|
<a class="post-title-link" href="/2016/10/20/My-thoughts-on-the-Internet-of-Things2/" itemprop="url">
|
||||||
|
<span itemprop="name">My thoughts on the Internet of Things2</span>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
</header>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<article itemscope itemtype="http://schema.org/Article">
|
||||||
|
<header class="post-header">
|
||||||
|
|
||||||
|
<div class="post-meta">
|
||||||
|
<time itemprop="dateCreated"
|
||||||
|
datetime="2016-10-16T12:42:00+08:00"
|
||||||
|
content="2016-10-16">
|
||||||
|
10-16
|
||||||
|
</time>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h2 class="post-title">
|
||||||
|
|
||||||
|
<a class="post-title-link" href="/2016/10/16/My-thoughts-on-the-Internet-of-Things/" itemprop="url">
|
||||||
|
<span itemprop="name">My thoughts on the Internet of Things</span>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
</header>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="toggle sidebar-toggle">
|
||||||
|
<span class="toggle-line toggle-line-first"></span>
|
||||||
|
<span class="toggle-line toggle-line-middle"></span>
|
||||||
|
<span class="toggle-line toggle-line-last"></span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<aside class="sidebar">
|
||||||
|
<div class="sidebar-inner">
|
||||||
|
|
||||||
|
<ul class="sidebar-nav motion-element">
|
||||||
|
<li class="sidebar-nav-toc">
|
||||||
|
Table of Contents
|
||||||
|
</li>
|
||||||
|
<li class="sidebar-nav-overview">
|
||||||
|
Overview
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<!--noindex-->
|
||||||
|
<div class="post-toc-wrap sidebar-panel">
|
||||||
|
</div>
|
||||||
|
<!--/noindex-->
|
||||||
|
|
||||||
|
<div class="site-overview-wrap sidebar-panel">
|
||||||
|
<div class="site-author motion-element" itemprop="author" itemscope itemtype="http://schema.org/Person">
|
||||||
|
<p class="site-author-name" itemprop="name">Hu Yu</p>
|
||||||
|
<div class="site-description" itemprop="description"></div>
|
||||||
|
</div>
|
||||||
|
<div class="site-state-wrap motion-element">
|
||||||
|
<nav class="site-state">
|
||||||
|
<div class="site-state-item site-state-posts">
|
||||||
|
|
||||||
|
<a href="/archives/">
|
||||||
|
|
||||||
|
<span class="site-state-item-count">7</span>
|
||||||
|
<span class="site-state-item-name">posts</span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
<div class="links-of-author motion-element">
|
||||||
|
<span class="links-of-author-item">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="mailto:saturneric@ieee.org" title="E-Mail &rarr; mailto:saturneric@ieee.org" rel="noopener" target="_blank"><i class="fa fa-fw fa-envelope"></i>E-Mail</a>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</aside>
|
||||||
|
<div id="sidebar-dimmer"></div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<footer id="footer" class="footer">
|
||||||
|
<div class="footer-inner">
|
||||||
|
<div class="copyright">© <span itemprop="copyrightYear">2019</span>
|
||||||
|
<span class="with-love" id="animate">
|
||||||
|
<i class="fa fa-user"></i>
|
||||||
|
</span>
|
||||||
|
<span class="author" itemprop="copyrightHolder">Hu Yu</span>
|
||||||
|
</div>
|
||||||
|
<div class="powered-by">Powered by <a href="https://hexo.io/" class="theme-link" rel="noopener" target="_blank">Hexo</a> v3.9.0</div>
|
||||||
|
<span class="post-meta-divider">|</span>
|
||||||
|
<div class="theme-info">Theme – <a href="https://theme-next.org/" class="theme-link" rel="noopener" target="_blank">NexT.Pisces</a> v7.4.1</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="/lib/anime.min.js?v=3.1.0"></script>
|
||||||
|
<script src="/lib/velocity/velocity.min.js?v=1.2.1"></script>
|
||||||
|
<script src="/lib/velocity/velocity.ui.min.js?v=1.2.1"></script>
|
||||||
|
<script src="/js/utils.js?v=7.4.1"></script><script src="/js/motion.js?v=7.4.1"></script>
|
||||||
|
<script src="/js/schemes/pisces.js?v=7.4.1"></script>
|
||||||
|
<script src="/js/next-boot.js?v=7.4.1"></script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
2483
css/main.css
Normal file
9
images/algolia_logo.svg
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1366 362">
|
||||||
|
<linearGradient id="a" x1="428.258" x2="434.145" y1="404.15" y2="409.85" gradientUnits="userSpaceOnUse" gradientTransform="matrix(94.045 0 0 -94.072 -40381.527 38479.52)">
|
||||||
|
<stop offset="0" stop-color="#00aeff"/>
|
||||||
|
<stop offset="1" stop-color="#3369e7"/>
|
||||||
|
</linearGradient>
|
||||||
|
<path fill="url(#a)" d="M61.8 15.4h242.8c23.9 0 43.4 19.4 43.4 43.4v242.9c0 23.9-19.4 43.4-43.4 43.4H61.8c-23.9 0-43.4-19.4-43.4-43.4v-243c0-23.9 19.4-43.3 43.4-43.3z"/>
|
||||||
|
<path fill="#FFF" d="M187 98.7c-51.4 0-93.1 41.7-93.1 93.2S135.6 285 187 285s93.1-41.7 93.1-93.2-41.6-93.1-93.1-93.1zm0 158.8c-36.2 0-65.6-29.4-65.6-65.6s29.4-65.6 65.6-65.6 65.6 29.4 65.6 65.6-29.3 65.6-65.6 65.6zm0-117.8v48.9c0 1.4 1.5 2.4 2.8 1.7l43.4-22.5c1-.5 1.3-1.7.8-2.7-9-15.8-25.7-26.6-45-27.3-1 0-2 .8-2 1.9zm-60.8-35.9l-5.7-5.7c-5.6-5.6-14.6-5.6-20.2 0l-6.8 6.8c-5.6 5.6-5.6 14.6 0 20.2l5.6 5.6c.9.9 2.2.7 3-.2 3.3-4.5 6.9-8.8 10.9-12.8 4.1-4.1 8.3-7.7 12.9-11 1-.6 1.1-2 .3-2.9zM217.5 89V77.7c0-7.9-6.4-14.3-14.3-14.3h-33.3c-7.9 0-14.3 6.4-14.3 14.3v11.6c0 1.3 1.2 2.2 2.5 1.9 9.3-2.7 19.1-4.1 29-4.1 9.5 0 18.9 1.3 28 3.8 1.2.3 2.4-.6 2.4-1.9z"/>
|
||||||
|
<path fill="#182359" d="M842.5 267.6c0 26.7-6.8 46.2-20.5 58.6-13.7 12.4-34.6 18.6-62.8 18.6-10.3 0-31.7-2-48.8-5.8l6.3-31c14.3 3 33.2 3.8 43.1 3.8 15.7 0 26.9-3.2 33.6-9.6s10-15.9 10-28.5v-6.4c-3.9 1.9-9 3.8-15.3 5.8-6.3 1.9-13.6 2.9-21.8 2.9-10.8 0-20.6-1.7-29.5-5.1-8.9-3.4-16.6-8.4-22.9-15-6.3-6.6-11.3-14.9-14.8-24.8s-5.3-27.6-5.3-40.6c0-12.2 1.9-27.5 5.6-37.7 3.8-10.2 9.2-19 16.5-26.3 7.2-7.3 16-12.9 26.3-17s22.4-6.7 35.5-6.7c12.7 0 24.4 1.6 35.8 3.5 11.4 1.9 21.1 3.9 29 6.1v155.2zm-108.7-77.2c0 16.4 3.6 34.6 10.8 42.2 7.2 7.6 16.5 11.4 27.9 11.4 6.2 0 12.1-.9 17.6-2.6 5.5-1.7 9.9-3.7 13.4-6.1v-97.1c-2.8-.6-14.5-3-25.8-3.3-14.2-.4-25 5.4-32.6 14.7-7.5 9.3-11.3 25.6-11.3 40.8zm294.3 0c0 13.2-1.9 23.2-5.8 34.1s-9.4 20.2-16.5 27.9c-7.1 7.7-15.6 13.7-25.6 17.9s-25.4 6.6-33.1 6.6c-7.7-.1-23-2.3-32.9-6.6-9.9-4.3-18.4-10.2-25.5-17.9-7.1-7.7-12.6-17-16.6-27.9s-6-20.9-6-34.1c0-13.2 1.8-25.9 5.8-36.7 4-10.8 9.6-20 16.8-27.7s15.8-13.6 25.6-17.8c9.9-4.2 20.8-6.2 32.6-6.2s22.7 2.1 32.7 6.2c10 4.2 18.6 10.1 25.6 17.8 7.1 7.7 12.6 16.9 16.6 27.7 4.2 10.8 6.3 23.5 6.3 36.7zm-40 .1c0-16.9-3.7-31-10.9-40.8-7.2-9.9-17.3-14.8-30.2-14.8-12.9 0-23 4.9-30.2 14.8-7.2 9.9-10.7 23.9-10.7 40.8 0 17.1 3.6 28.6 10.8 38.5 7.2 10 17.3 14.9 30.2 14.9 12.9 0 23-5 30.2-14.9 7.2-10 10.8-21.4 10.8-38.5zm127.1 86.4c-64.1.3-64.1-51.8-64.1-60.1L1051 32l39.1-6.2v183.6c0 4.7 0 34.5 25.1 34.6v32.9zm68.9 0h-39.3V108.1l39.3-6.2v175zm-19.7-193.5c13.1 0 23.8-10.6 23.8-23.7S1177.6 36 1164.4 36s-23.8 10.6-23.8 23.7 10.7 23.7 23.8 23.7zm117.4 18.6c12.9 0 23.8 1.6 32.6 4.8 8.8 3.2 15.9 7.7 21.1 13.4s8.9 13.5 11.1 21.7c2.3 8.2 3.4 17.2 3.4 27.1v100.6c-6 1.3-15.1 2.8-27.3 4.6s-25.9 2.7-41.1 2.7c-10.1 0-19.4-1-27.7-2.9-8.4-1.9-15.5-5-21.5-9.3-5.9-4.3-10.5-9.8-13.9-16.6-3.3-6.8-5-16.4-5-26.4 0-9.6 1.9-15.7 5.6-22.3 3.8-6.6 8.9-12 15.3-16.2 6.5-4.2 13.9-7.2 22.4-9s17.4-2.7 26.6-2.7c4.3 0 8.8.3 13.6.8s9.8 1.4 15.2 2.7v-6.4c0-4.5-.5-8.8-1.6-12.8-1.1-4.1-3-7.6-5.6-10.7-2.7-3.1-6.2-5.5-10.6-7.2s-10-3-16.7-3c-9 0-17.2 1.1-24.7 2.4-7.5 1.3-13.7 2.8-18.4 4.5l-4.7-32.1c4.9-1.7 12.2-3.4 21.6-5.1s19.5-2.6 30.3-2.6zm3.3 141.9c12 0 20.9-.7 27.1-1.9v-39.8c-2.2-.6-5.3-1.3-9.4-1.9-4.1-.6-8.6-1-13.6-1-4.3 0-8.7.3-13.1 1-4.4.6-8.4 1.8-11.9 3.5s-6.4 4.1-8.5 7.2c-2.2 3.1-3.2 4.9-3.2 9.6 0 9.2 3.2 14.5 9 18 5.9 3.6 13.7 5.3 23.6 5.3zM512.9 103c12.9 0 23.8 1.6 32.6 4.8 8.8 3.2 15.9 7.7 21.1 13.4 5.3 5.8 8.9 13.5 11.1 21.7 2.3 8.2 3.4 17.2 3.4 27.1v100.6c-6 1.3-15.1 2.8-27.3 4.6-12.2 1.8-25.9 2.7-41.1 2.7-10.1 0-19.4-1-27.7-2.9-8.4-1.9-15.5-5-21.5-9.3-5.9-4.3-10.5-9.8-13.9-16.6-3.3-6.8-5-16.4-5-26.4 0-9.6 1.9-15.7 5.6-22.3 3.8-6.6 8.9-12 15.3-16.2 6.5-4.2 13.9-7.2 22.4-9s17.4-2.7 26.6-2.7c4.3 0 8.8.3 13.6.8 4.7.5 9.8 1.4 15.2 2.7v-6.4c0-4.5-.5-8.8-1.6-12.8-1.1-4.1-3-7.6-5.6-10.7-2.7-3.1-6.2-5.5-10.6-7.2-4.4-1.7-10-3-16.7-3-9 0-17.2 1.1-24.7 2.4-7.5 1.3-13.7 2.8-18.4 4.5l-4.7-32.1c4.9-1.7 12.2-3.4 21.6-5.1 9.4-1.8 19.5-2.6 30.3-2.6zm3.4 142c12 0 20.9-.7 27.1-1.9v-39.8c-2.2-.6-5.3-1.3-9.4-1.9-4.1-.6-8.6-1-13.6-1-4.3 0-8.7.3-13.1 1-4.4.6-8.4 1.8-11.9 3.5s-6.4 4.1-8.5 7.2c-2.2 3.1-3.2 4.9-3.2 9.6 0 9.2 3.2 14.5 9 18s13.7 5.3 23.6 5.3zm158.5 31.9c-64.1.3-64.1-51.8-64.1-60.1L610.6 32l39.1-6.2v183.6c0 4.7 0 34.5 25.1 34.6v32.9z"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 4.3 KiB |
BIN
images/apple-touch-icon-next.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
images/avatar.gif
Normal file
After Width: | Height: | Size: 1.8 KiB |
121
images/cc-by-nc-nd.svg
Normal file
@ -0,0 +1,121 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://web.resource.org/cc/"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
width="80"
|
||||||
|
height="15"
|
||||||
|
id="svg2279"
|
||||||
|
sodipodi:version="0.32"
|
||||||
|
inkscape:version="0.45+devel"
|
||||||
|
version="1.0"
|
||||||
|
sodipodi:docname="by-nc-nd.svg"
|
||||||
|
inkscape:output_extension="org.inkscape.output.svg.inkscape">
|
||||||
|
<defs
|
||||||
|
id="defs2281">
|
||||||
|
<clipPath
|
||||||
|
clipPathUnits="userSpaceOnUse"
|
||||||
|
id="clipPath3442">
|
||||||
|
<rect
|
||||||
|
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.92243534;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
id="rect3444"
|
||||||
|
width="20.614058"
|
||||||
|
height="12.483703"
|
||||||
|
x="171.99832"
|
||||||
|
y="239.1203" />
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="base"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#999999"
|
||||||
|
borderopacity="1"
|
||||||
|
gridtolerance="10000"
|
||||||
|
guidetolerance="10"
|
||||||
|
objecttolerance="10"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:zoom="10.5125"
|
||||||
|
inkscape:cx="40"
|
||||||
|
inkscape:cy="7.5"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
width="80px"
|
||||||
|
height="15px"
|
||||||
|
showborder="true"
|
||||||
|
inkscape:showpageshadow="false"
|
||||||
|
inkscape:window-width="935"
|
||||||
|
inkscape:window-height="624"
|
||||||
|
inkscape:window-x="50"
|
||||||
|
inkscape:window-y="160" />
|
||||||
|
<metadata
|
||||||
|
id="metadata2284">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1">
|
||||||
|
<g
|
||||||
|
id="BY-NC-ND"
|
||||||
|
transform="matrix(0.9875019,0,0,0.9333518,-323.90064,-411.87964)">
|
||||||
|
<g
|
||||||
|
id="g3783"
|
||||||
|
transform="translate(158,204)">
|
||||||
|
<rect
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.04161763;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
id="rect3785"
|
||||||
|
width="80"
|
||||||
|
height="15"
|
||||||
|
x="170.5"
|
||||||
|
y="237.86218" />
|
||||||
|
<rect
|
||||||
|
y="239.36218"
|
||||||
|
x="172"
|
||||||
|
height="12"
|
||||||
|
width="77"
|
||||||
|
id="rect3787"
|
||||||
|
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.92243534;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||||
|
<path
|
||||||
|
style="fill:#abb1aa;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.46913578"
|
||||||
|
d="M 171.99996,239.37505 L 171.99996,251.37505 L 192.33474,251.37505 C 193.64339,249.62474 194.52652,247.59057 194.52652,245.37505 C 194.52652,243.17431 193.65859,241.1179 192.36599,239.37505 L 171.99996,239.37505 z"
|
||||||
|
id="path3789"
|
||||||
|
sodipodi:nodetypes="cccscc" />
|
||||||
|
<g
|
||||||
|
id="g3791"
|
||||||
|
transform="matrix(0.9612533,0,0,0.9612533,6.8341566,9.5069994)"
|
||||||
|
clip-path="url(#clipPath3442)">
|
||||||
|
<path
|
||||||
|
id="path3793"
|
||||||
|
cx="296.35416"
|
||||||
|
ry="22.939548"
|
||||||
|
cy="264.3577"
|
||||||
|
type="arc"
|
||||||
|
rx="22.939548"
|
||||||
|
d="M 190.06417,245.36206 C 190.06667,249.25405 186.91326,252.41072 183.02153,252.41323 C 179.12979,252.41572 175.97262,249.26256 175.97036,245.3706 C 175.97036,245.36783 175.97036,245.36507 175.97036,245.36206 C 175.9681,241.47007 179.12126,238.3134 183.013,238.31113 C 186.90524,238.30864 190.06191,241.46181 190.06417,245.3538 C 190.06417,245.35628 190.06417,245.35929 190.06417,245.36206 z"
|
||||||
|
style="opacity:1;fill:#ffffff" />
|
||||||
|
<path
|
||||||
|
d="M 188.74576,239.62226 C 190.30843,241.18492 191.08988,243.09869 191.08988,245.36206 C 191.08988,247.62592 190.32197,249.51913 188.78615,251.04165 C 187.15627,252.64521 185.22995,253.44672 183.00722,253.44672 C 180.81132,253.44672 178.91837,252.65172 177.32887,251.06174 C 175.73912,249.47198 174.94436,247.57226 174.94436,245.36206 C 174.94436,243.15235 175.73912,241.23908 177.32887,239.62226 C 178.87799,238.0591 180.77094,237.27764 183.00722,237.27764 C 185.2706,237.27764 187.18312,238.05909 188.74576,239.62226 z M 178.38093,240.67355 C 177.05978,242.008 176.39945,243.57116 176.39945,245.36429 C 176.39945,247.15694 177.05326,248.70682 178.36062,250.01393 C 179.66822,251.32153 181.22487,251.97509 183.03105,251.97509 C 184.83724,251.97509 186.40716,251.31502 187.74161,249.99412 C 189.0086,248.76725 189.64234,247.22467 189.64234,245.36429 C 189.64234,243.51799 188.99831,241.95084 187.71101,240.66354 C 186.42396,239.37649 184.86406,238.7327 183.03105,238.7327 C 181.19804,238.73271 179.64767,239.37975 178.38093,240.67355 z M 181.85761,244.57559 C 181.65573,244.13545 181.35354,243.91525 180.95051,243.91525 C 180.23802,243.91525 179.8819,244.39501 179.8819,245.35404 C 179.8819,246.31328 180.23802,246.79255 180.95051,246.79255 C 181.421,246.79255 181.75705,246.55908 181.95869,246.09111 L 182.94629,246.61701 C 182.47555,247.45339 181.76934,247.87168 180.82763,247.87168 C 180.10136,247.87168 179.51953,247.64899 179.08265,247.20409 C 178.64502,246.7587 178.42684,246.14477 178.42684,245.36206 C 178.42684,244.59313 178.65204,243.98271 179.10271,243.53056 C 179.55338,243.07838 180.11463,242.8524 180.7875,242.8524 C 181.78288,242.8524 182.49561,243.24465 182.92647,244.02835 L 181.85761,244.57559 z M 186.50398,244.57559 C 186.30184,244.13545 186.00567,243.91525 185.61517,243.91525 C 184.88839,243.91525 184.52474,244.39501 184.52474,245.35404 C 184.52474,246.31328 184.88839,246.79255 185.61517,246.79255 C 186.08642,246.79255 186.41644,246.55908 186.6048,246.09111 L 187.61447,246.61701 C 187.14448,247.45339 186.43926,247.87168 185.49931,247.87168 C 184.77403,247.87168 184.19346,247.64899 183.75683,247.20409 C 183.32096,246.7587 183.10254,246.14477 183.10254,245.36206 C 183.10254,244.59313 183.32422,243.98271 183.76737,243.53056 C 184.21026,243.07838 184.77404,242.8524 185.4592,242.8524 C 186.45282,242.8524 187.16455,243.24465 187.5939,244.02835 L 186.50398,244.57559 z"
|
||||||
|
id="path3795"
|
||||||
|
style="opacity:1" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<path
|
||||||
|
id="text3797"
|
||||||
|
d="M 357.4197,448.68503 C 357.66518,448.68504 357.85131,448.63146 357.9781,448.52428 C 358.10488,448.41712 358.16827,448.25905 358.16828,448.05008 C 358.16827,447.84378 358.10488,447.68705 357.9781,447.57988 C 357.85131,447.47004 357.66518,447.41512 357.4197,447.41511 L 356.55784,447.41511 L 356.55784,448.68503 L 357.4197,448.68503 M 357.4723,451.30929 C 357.78522,451.30929 358.0199,451.24364 358.17637,451.11236 C 358.33552,450.98109 358.4151,450.78283 358.4151,450.51759 C 358.4151,450.25771 358.33686,450.06347 358.18041,449.93488 C 358.02396,449.80359 357.78792,449.73796 357.4723,449.73795 L 356.55784,449.73795 L 356.55784,451.30929 L 357.4723,451.30929 M 358.92089,449.15122 C 359.25538,449.24767 359.51434,449.42583 359.69779,449.68571 C 359.88121,449.94559 359.97293,450.26441 359.97294,450.64217 C 359.97293,451.22087 359.776,451.65222 359.38217,451.93621 C 358.98833,452.2202 358.38947,452.36219 357.5856,452.36219 L 355.00001,452.36219 L 355.00001,446.3622 L 357.33878,446.3622 C 358.17771,446.36221 358.78466,446.48813 359.15962,446.73996 C 359.53727,446.99181 359.7261,447.39502 359.7261,447.9496 C 359.7261,448.24164 359.65732,448.4908 359.51975,448.69709 C 359.38217,448.90072 359.18255,449.05209 358.92089,449.15122 M 359.83746,446.3622 L 361.54096,446.3622 L 362.91671,448.50018 L 364.29245,446.3622 L 366,446.3622 L 363.69764,449.8344 L 363.69764,452.36219 L 362.13982,452.36219 L 362.13982,449.8344 L 359.83746,446.3622 M 365.15837,449.40842 L 367.69946,449.40842 L 367.69946,450.57787 L 365.15837,450.57787 L 365.15837,449.40842 M 368.9174,446.3622 L 370.65732,446.3622 L 372.85447,450.47741 L 372.85447,446.3622 L 374.33138,446.3622 L 374.33138,452.36219 L 372.59146,452.36219 L 370.3943,448.24699 L 370.3943,452.36219 L 368.9174,452.36219 L 368.9174,446.3622 M 380.65173,452.03266 C 380.36579,452.18002 380.0677,452.2912 379.75749,452.36622 C 379.44727,452.44123 379.12357,452.47875 378.78638,452.47875 C 377.78019,452.47875 376.98307,452.20011 376.395,451.64284 C 375.80693,451.08289 375.5129,450.32469 375.5129,449.36823 C 375.5129,448.40909 375.80693,447.65089 376.395,447.09361 C 376.98307,446.53367 377.78019,446.2537 378.78638,446.25369 C 379.12357,446.2537 379.44727,446.29121 379.75749,446.36621 C 380.0677,446.44124 380.36579,446.55243 380.65173,446.69977 L 380.65173,447.94157 C 380.36309,447.746 380.0785,447.60266 379.79796,447.51156 C 379.5174,447.42047 379.22203,447.37493 378.91181,447.37493 C 378.35611,447.37493 377.91911,447.55175 377.6008,447.9054 C 377.28249,448.25905 377.12333,448.74666 377.12333,449.36823 C 377.12333,449.98712 377.28249,450.47339 377.6008,450.82703 C 377.91911,451.18069 378.35611,451.35751 378.91181,451.35751 C 379.22203,451.35751 379.5174,451.31197 379.79796,451.22087 C 380.0785,451.12978 380.36309,450.98644 380.65173,450.79086 L 380.65173,452.03266 M 381.82921,449.40842 L 384.3703,449.40842 L 384.3703,450.57787 L 381.82921,450.57787 L 381.82921,449.40842 M 385.58824,446.3622 L 387.32815,446.3622 L 389.52531,450.47741 L 389.52531,446.3622 L 391.00222,446.3622 L 391.00222,452.36219 L 389.26229,452.36219 L 387.06515,448.24699 L 387.06515,452.36219 L 385.58824,452.36219 L 385.58824,446.3622 M 394.08956,447.53165 L 394.08956,451.19274 L 394.64795,451.19274 C 395.28456,451.19274 395.77013,451.03602 396.10462,450.72255 C 396.44181,450.40909 396.61041,449.95363 396.61042,449.35617 C 396.61041,448.7614 396.44317,448.30862 396.10867,447.99783 C 395.77417,447.68705 395.28726,447.53166 394.64795,447.53165 L 394.08956,447.53165 M 392.53172,446.3622 L 394.17453,446.3622 C 395.09169,446.36221 395.77417,446.42784 396.22197,446.55912 C 396.67245,446.68772 397.0582,446.90742 397.37922,447.2182 C 397.66246,447.48879 397.87286,447.80092 398.01044,448.15456 C 398.14801,448.50822 398.2168,448.90875 398.21681,449.35617 C 398.2168,449.80896 398.14801,450.21351 398.01044,450.56983 C 397.87286,450.92349 397.66246,451.23561 397.37922,451.50621 C 397.05551,451.81699 396.66706,452.03802 396.21387,452.1693 C 395.76069,452.29789 395.0809,452.36219 394.17453,452.36219 L 392.53172,452.36219 L 392.53172,446.3622"
|
||||||
|
style="font-size:8.25858784px;font-style:normal;font-weight:bold;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:'Bitstream Vera Sans'" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 11 KiB |
121
images/cc-by-nc-sa.svg
Normal file
@ -0,0 +1,121 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://web.resource.org/cc/"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
width="80"
|
||||||
|
height="15"
|
||||||
|
id="svg2279"
|
||||||
|
sodipodi:version="0.32"
|
||||||
|
inkscape:version="0.45+devel"
|
||||||
|
version="1.0"
|
||||||
|
sodipodi:docname="by-nc-sa.svg"
|
||||||
|
inkscape:output_extension="org.inkscape.output.svg.inkscape">
|
||||||
|
<defs
|
||||||
|
id="defs2281">
|
||||||
|
<clipPath
|
||||||
|
clipPathUnits="userSpaceOnUse"
|
||||||
|
id="clipPath3442">
|
||||||
|
<rect
|
||||||
|
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.92243534;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
id="rect3444"
|
||||||
|
width="20.614058"
|
||||||
|
height="12.483703"
|
||||||
|
x="171.99832"
|
||||||
|
y="239.1203" />
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="base"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#999999"
|
||||||
|
borderopacity="1"
|
||||||
|
gridtolerance="10000"
|
||||||
|
guidetolerance="10"
|
||||||
|
objecttolerance="10"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:zoom="10.5125"
|
||||||
|
inkscape:cx="40"
|
||||||
|
inkscape:cy="7.5"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
width="80px"
|
||||||
|
height="15px"
|
||||||
|
showborder="true"
|
||||||
|
inkscape:showpageshadow="false"
|
||||||
|
inkscape:window-width="935"
|
||||||
|
inkscape:window-height="624"
|
||||||
|
inkscape:window-x="50"
|
||||||
|
inkscape:window-y="160" />
|
||||||
|
<metadata
|
||||||
|
id="metadata2284">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1">
|
||||||
|
<g
|
||||||
|
id="BY-NC-SA"
|
||||||
|
transform="matrix(0.9875019,0,0,0.9333518,-323.90064,-331.6114)">
|
||||||
|
<g
|
||||||
|
transform="translate(158,118)"
|
||||||
|
id="g3729">
|
||||||
|
<rect
|
||||||
|
y="237.86218"
|
||||||
|
x="170.5"
|
||||||
|
height="15"
|
||||||
|
width="80"
|
||||||
|
id="rect3731"
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.04161763;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||||
|
<rect
|
||||||
|
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.92243534;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
id="rect3733"
|
||||||
|
width="77"
|
||||||
|
height="12"
|
||||||
|
x="172"
|
||||||
|
y="239.36218" />
|
||||||
|
<path
|
||||||
|
sodipodi:nodetypes="cccscc"
|
||||||
|
id="path3735"
|
||||||
|
d="M 171.99996,239.37505 L 171.99996,251.37505 L 192.33474,251.37505 C 193.64339,249.62474 194.52652,247.59057 194.52652,245.37505 C 194.52652,243.17431 193.65859,241.1179 192.36599,239.37505 L 171.99996,239.37505 z"
|
||||||
|
style="fill:#abb1aa;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.46913578" />
|
||||||
|
<g
|
||||||
|
clip-path="url(#clipPath3442)"
|
||||||
|
transform="matrix(0.9612533,0,0,0.9612533,6.8341566,9.5069994)"
|
||||||
|
id="g3737">
|
||||||
|
<path
|
||||||
|
style="opacity:1;fill:#ffffff"
|
||||||
|
d="M 190.06417,245.36206 C 190.06667,249.25405 186.91326,252.41072 183.02153,252.41323 C 179.12979,252.41572 175.97262,249.26256 175.97036,245.3706 C 175.97036,245.36783 175.97036,245.36507 175.97036,245.36206 C 175.9681,241.47007 179.12126,238.3134 183.013,238.31113 C 186.90524,238.30864 190.06191,241.46181 190.06417,245.3538 C 190.06417,245.35628 190.06417,245.35929 190.06417,245.36206 z"
|
||||||
|
rx="22.939548"
|
||||||
|
type="arc"
|
||||||
|
cy="264.3577"
|
||||||
|
ry="22.939548"
|
||||||
|
cx="296.35416"
|
||||||
|
id="path3739" />
|
||||||
|
<path
|
||||||
|
style="opacity:1"
|
||||||
|
id="path3741"
|
||||||
|
d="M 188.74576,239.62226 C 190.30843,241.18492 191.08988,243.09869 191.08988,245.36206 C 191.08988,247.62592 190.32197,249.51913 188.78615,251.04165 C 187.15627,252.64521 185.22995,253.44672 183.00722,253.44672 C 180.81132,253.44672 178.91837,252.65172 177.32887,251.06174 C 175.73912,249.47198 174.94436,247.57226 174.94436,245.36206 C 174.94436,243.15235 175.73912,241.23908 177.32887,239.62226 C 178.87799,238.0591 180.77094,237.27764 183.00722,237.27764 C 185.2706,237.27764 187.18312,238.05909 188.74576,239.62226 z M 178.38093,240.67355 C 177.05978,242.008 176.39945,243.57116 176.39945,245.36429 C 176.39945,247.15694 177.05326,248.70682 178.36062,250.01393 C 179.66822,251.32153 181.22487,251.97509 183.03105,251.97509 C 184.83724,251.97509 186.40716,251.31502 187.74161,249.99412 C 189.0086,248.76725 189.64234,247.22467 189.64234,245.36429 C 189.64234,243.51799 188.99831,241.95084 187.71101,240.66354 C 186.42396,239.37649 184.86406,238.7327 183.03105,238.7327 C 181.19804,238.73271 179.64767,239.37975 178.38093,240.67355 z M 181.85761,244.57559 C 181.65573,244.13545 181.35354,243.91525 180.95051,243.91525 C 180.23802,243.91525 179.8819,244.39501 179.8819,245.35404 C 179.8819,246.31328 180.23802,246.79255 180.95051,246.79255 C 181.421,246.79255 181.75705,246.55908 181.95869,246.09111 L 182.94629,246.61701 C 182.47555,247.45339 181.76934,247.87168 180.82763,247.87168 C 180.10136,247.87168 179.51953,247.64899 179.08265,247.20409 C 178.64502,246.7587 178.42684,246.14477 178.42684,245.36206 C 178.42684,244.59313 178.65204,243.98271 179.10271,243.53056 C 179.55338,243.07838 180.11463,242.8524 180.7875,242.8524 C 181.78288,242.8524 182.49561,243.24465 182.92647,244.02835 L 181.85761,244.57559 z M 186.50398,244.57559 C 186.30184,244.13545 186.00567,243.91525 185.61517,243.91525 C 184.88839,243.91525 184.52474,244.39501 184.52474,245.35404 C 184.52474,246.31328 184.88839,246.79255 185.61517,246.79255 C 186.08642,246.79255 186.41644,246.55908 186.6048,246.09111 L 187.61447,246.61701 C 187.14448,247.45339 186.43926,247.87168 185.49931,247.87168 C 184.77403,247.87168 184.19346,247.64899 183.75683,247.20409 C 183.32096,246.7587 183.10254,246.14477 183.10254,245.36206 C 183.10254,244.59313 183.32422,243.98271 183.76737,243.53056 C 184.21026,243.07838 184.77404,242.8524 185.4592,242.8524 C 186.45282,242.8524 187.16455,243.24465 187.5939,244.02835 L 186.50398,244.57559 z" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<path
|
||||||
|
id="text3743"
|
||||||
|
d="M 357.4197,362.68502 C 357.66518,362.68502 357.85131,362.63144 357.9781,362.52427 C 358.10488,362.41711 358.16827,362.25904 358.16828,362.05005 C 358.16827,361.84377 358.10488,361.68704 357.9781,361.57986 C 357.85131,361.47002 357.66518,361.4151 357.4197,361.4151 L 356.55784,361.4151 L 356.55784,362.68502 L 357.4197,362.68502 M 357.4723,365.30926 C 357.78522,365.30926 358.0199,365.24363 358.17637,365.11235 C 358.33552,364.98107 358.4151,364.78281 358.4151,364.51758 C 358.4151,364.2577 358.33686,364.06346 358.18041,363.93485 C 358.02396,363.80358 357.78792,363.73793 357.4723,363.73793 L 356.55784,363.73793 L 356.55784,365.30926 L 357.4723,365.30926 M 358.92089,363.15119 C 359.25538,363.24765 359.51434,363.42581 359.69779,363.68569 C 359.88121,363.94557 359.97293,364.26439 359.97294,364.64215 C 359.97293,365.22086 359.776,365.6522 359.38217,365.93619 C 358.98833,366.22019 358.38947,366.36218 357.5856,366.36218 L 355.00001,366.36218 L 355.00001,360.36218 L 357.33878,360.36218 C 358.17771,360.36218 358.78466,360.48811 359.15962,360.73994 C 359.53727,360.99179 359.7261,361.39501 359.7261,361.94959 C 359.7261,362.24162 359.65732,362.49078 359.51975,362.69708 C 359.38217,362.9007 359.18255,363.05207 358.92089,363.15119 M 359.83746,360.36218 L 361.54096,360.36218 L 362.91671,362.50016 L 364.29245,360.36218 L 366,360.36218 L 363.69764,363.83438 L 363.69764,366.36218 L 362.13982,366.36218 L 362.13982,363.83438 L 359.83746,360.36218 M 365.15837,363.40839 L 367.69946,363.40839 L 367.69946,364.57785 L 365.15837,364.57785 L 365.15837,363.40839 M 368.9174,360.36218 L 370.65732,360.36218 L 372.85447,364.47738 L 372.85447,360.36218 L 374.33138,360.36218 L 374.33138,366.36218 L 372.59146,366.36218 L 370.3943,362.24698 L 370.3943,366.36218 L 368.9174,366.36218 L 368.9174,360.36218 M 380.65173,366.03264 C 380.36579,366.17999 380.0677,366.29118 379.75749,366.3662 C 379.44727,366.44122 379.12357,366.47872 378.78638,366.47872 C 377.78019,366.47872 376.98307,366.20009 376.395,365.64282 C 375.80693,365.08288 375.5129,364.32468 375.5129,363.36821 C 375.5129,362.40907 375.80693,361.65087 376.395,361.0936 C 376.98307,360.53366 377.78019,360.25368 378.78638,360.25367 C 379.12357,360.25368 379.44727,360.29119 379.75749,360.3662 C 380.0677,360.44122 380.36579,360.55241 380.65173,360.69976 L 380.65173,361.94156 C 380.36309,361.74597 380.0785,361.60265 379.79796,361.51155 C 379.5174,361.42046 379.22203,361.37492 378.91181,361.37491 C 378.35611,361.37492 377.91911,361.55174 377.6008,361.90538 C 377.28249,362.25904 377.12333,362.74665 377.12333,363.36821 C 377.12333,363.9871 377.28249,364.47337 377.6008,364.82702 C 377.91911,365.18067 378.35611,365.35749 378.91181,365.35749 C 379.22203,365.35749 379.5174,365.31195 379.79796,365.22086 C 380.0785,365.12976 380.36309,364.98643 380.65173,364.79085 L 380.65173,366.03264 M 381.82921,363.40839 L 384.3703,363.40839 L 384.3703,364.57785 L 381.82921,364.57785 L 381.82921,363.40839 M 389.79236,360.55107 L 389.79236,361.82099 C 389.46056,361.67364 389.13686,361.56245 388.82125,361.48743 C 388.50563,361.41242 388.20756,361.37492 387.92701,361.37491 C 387.55475,361.37492 387.2796,361.42581 387.10156,361.52762 C 386.92352,361.62943 386.8345,361.7875 386.83451,362.00183 C 386.8345,362.16259 386.89385,362.28851 387.01255,362.3796 C 387.13393,362.46801 387.35244,362.54437 387.66804,362.60866 L 388.33165,362.74129 C 389.00333,362.87525 389.4808,363.07886 389.76405,363.35214 C 390.04728,363.62541 390.1889,364.01389 390.18891,364.51758 C 390.1889,365.17933 389.99063,365.67229 389.5941,365.99647 C 389.20025,366.31797 388.59735,366.47872 387.78539,366.47872 C 387.40234,366.47872 387.01794,366.44255 386.63219,366.37022 C 386.24644,366.29788 385.86069,366.19072 385.47494,366.04871 L 385.47494,364.74262 C 385.86069,364.94624 386.23295,365.10029 386.59173,365.20478 C 386.9532,365.30658 387.30118,365.35749 387.63567,365.35749 C 387.97556,365.35749 388.23588,365.30123 388.41662,365.18871 C 388.59735,365.07618 388.68771,364.91543 388.68772,364.70646 C 388.68771,364.51891 388.62567,364.37424 388.50159,364.27242 C 388.38019,364.17062 388.13607,364.07954 387.76921,363.99915 L 387.1663,363.86653 C 386.56205,363.73793 386.11965,363.53298 385.83911,363.25167 C 385.56127,362.97035 385.42234,362.59125 385.42234,362.11435 C 385.42234,361.51691 385.61656,361.05743 386.00501,360.73592 C 386.39346,360.41443 386.95185,360.25368 387.68019,360.25367 C 388.01198,360.25368 388.35322,360.27914 388.70391,360.33003 C 389.05459,360.37826 389.4174,360.45194 389.79236,360.55107 M 395.22657,365.26908 L 392.79069,365.26908 L 392.40629,366.36218 L 390.84037,366.36218 L 393.07798,360.36218 L 394.93524,360.36218 L 397.17286,366.36218 L 395.60693,366.36218 L 395.22657,365.26908 M 393.17914,364.15588 L 394.83409,364.15588 L 394.00863,361.76875 L 393.17914,364.15588"
|
||||||
|
style="font-size:8.25858784px;font-style:normal;font-weight:bold;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:'Bitstream Vera Sans'" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 11 KiB |
121
images/cc-by-nc.svg
Normal file
@ -0,0 +1,121 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://web.resource.org/cc/"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
width="80"
|
||||||
|
height="15"
|
||||||
|
id="svg2279"
|
||||||
|
sodipodi:version="0.32"
|
||||||
|
inkscape:version="0.45+devel"
|
||||||
|
version="1.0"
|
||||||
|
sodipodi:docname="by-nc.svg"
|
||||||
|
inkscape:output_extension="org.inkscape.output.svg.inkscape">
|
||||||
|
<defs
|
||||||
|
id="defs2281">
|
||||||
|
<clipPath
|
||||||
|
clipPathUnits="userSpaceOnUse"
|
||||||
|
id="clipPath3442">
|
||||||
|
<rect
|
||||||
|
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.92243534;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
id="rect3444"
|
||||||
|
width="20.614058"
|
||||||
|
height="12.483703"
|
||||||
|
x="171.99832"
|
||||||
|
y="239.1203" />
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="base"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#999999"
|
||||||
|
borderopacity="1"
|
||||||
|
gridtolerance="10000"
|
||||||
|
guidetolerance="10"
|
||||||
|
objecttolerance="10"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:zoom="10.5125"
|
||||||
|
inkscape:cx="40"
|
||||||
|
inkscape:cy="7.5"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
width="80px"
|
||||||
|
height="15px"
|
||||||
|
showborder="true"
|
||||||
|
inkscape:showpageshadow="false"
|
||||||
|
inkscape:window-width="935"
|
||||||
|
inkscape:window-height="624"
|
||||||
|
inkscape:window-x="50"
|
||||||
|
inkscape:window-y="160" />
|
||||||
|
<metadata
|
||||||
|
id="metadata2284">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1">
|
||||||
|
<g
|
||||||
|
id="BY-NC"
|
||||||
|
transform="matrix(0.9875019,0,0,0.9333518,-323.90064,-302.67749)">
|
||||||
|
<g
|
||||||
|
id="g3711"
|
||||||
|
transform="translate(158,87)">
|
||||||
|
<rect
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.04161763;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
id="rect3713"
|
||||||
|
width="80"
|
||||||
|
height="15"
|
||||||
|
x="170.5"
|
||||||
|
y="237.86218" />
|
||||||
|
<rect
|
||||||
|
y="239.36218"
|
||||||
|
x="172"
|
||||||
|
height="12"
|
||||||
|
width="77"
|
||||||
|
id="rect3715"
|
||||||
|
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.92243534;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||||
|
<path
|
||||||
|
style="fill:#abb1aa;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.46913578"
|
||||||
|
d="M 171.99996,239.37505 L 171.99996,251.37505 L 192.33474,251.37505 C 193.64339,249.62474 194.52652,247.59057 194.52652,245.37505 C 194.52652,243.17431 193.65859,241.1179 192.36599,239.37505 L 171.99996,239.37505 z"
|
||||||
|
id="path3717"
|
||||||
|
sodipodi:nodetypes="cccscc" />
|
||||||
|
<g
|
||||||
|
id="g3719"
|
||||||
|
transform="matrix(0.9612533,0,0,0.9612533,6.8341566,9.5069994)"
|
||||||
|
clip-path="url(#clipPath3442)">
|
||||||
|
<path
|
||||||
|
id="path3721"
|
||||||
|
cx="296.35416"
|
||||||
|
ry="22.939548"
|
||||||
|
cy="264.3577"
|
||||||
|
type="arc"
|
||||||
|
rx="22.939548"
|
||||||
|
d="M 190.06417,245.36206 C 190.06667,249.25405 186.91326,252.41072 183.02153,252.41323 C 179.12979,252.41572 175.97262,249.26256 175.97036,245.3706 C 175.97036,245.36783 175.97036,245.36507 175.97036,245.36206 C 175.9681,241.47007 179.12126,238.3134 183.013,238.31113 C 186.90524,238.30864 190.06191,241.46181 190.06417,245.3538 C 190.06417,245.35628 190.06417,245.35929 190.06417,245.36206 z"
|
||||||
|
style="opacity:1;fill:#ffffff" />
|
||||||
|
<path
|
||||||
|
d="M 188.74576,239.62226 C 190.30843,241.18492 191.08988,243.09869 191.08988,245.36206 C 191.08988,247.62592 190.32197,249.51913 188.78615,251.04165 C 187.15627,252.64521 185.22995,253.44672 183.00722,253.44672 C 180.81132,253.44672 178.91837,252.65172 177.32887,251.06174 C 175.73912,249.47198 174.94436,247.57226 174.94436,245.36206 C 174.94436,243.15235 175.73912,241.23908 177.32887,239.62226 C 178.87799,238.0591 180.77094,237.27764 183.00722,237.27764 C 185.2706,237.27764 187.18312,238.05909 188.74576,239.62226 z M 178.38093,240.67355 C 177.05978,242.008 176.39945,243.57116 176.39945,245.36429 C 176.39945,247.15694 177.05326,248.70682 178.36062,250.01393 C 179.66822,251.32153 181.22487,251.97509 183.03105,251.97509 C 184.83724,251.97509 186.40716,251.31502 187.74161,249.99412 C 189.0086,248.76725 189.64234,247.22467 189.64234,245.36429 C 189.64234,243.51799 188.99831,241.95084 187.71101,240.66354 C 186.42396,239.37649 184.86406,238.7327 183.03105,238.7327 C 181.19804,238.73271 179.64767,239.37975 178.38093,240.67355 z M 181.85761,244.57559 C 181.65573,244.13545 181.35354,243.91525 180.95051,243.91525 C 180.23802,243.91525 179.8819,244.39501 179.8819,245.35404 C 179.8819,246.31328 180.23802,246.79255 180.95051,246.79255 C 181.421,246.79255 181.75705,246.55908 181.95869,246.09111 L 182.94629,246.61701 C 182.47555,247.45339 181.76934,247.87168 180.82763,247.87168 C 180.10136,247.87168 179.51953,247.64899 179.08265,247.20409 C 178.64502,246.7587 178.42684,246.14477 178.42684,245.36206 C 178.42684,244.59313 178.65204,243.98271 179.10271,243.53056 C 179.55338,243.07838 180.11463,242.8524 180.7875,242.8524 C 181.78288,242.8524 182.49561,243.24465 182.92647,244.02835 L 181.85761,244.57559 z M 186.50398,244.57559 C 186.30184,244.13545 186.00567,243.91525 185.61517,243.91525 C 184.88839,243.91525 184.52474,244.39501 184.52474,245.35404 C 184.52474,246.31328 184.88839,246.79255 185.61517,246.79255 C 186.08642,246.79255 186.41644,246.55908 186.6048,246.09111 L 187.61447,246.61701 C 187.14448,247.45339 186.43926,247.87168 185.49931,247.87168 C 184.77403,247.87168 184.19346,247.64899 183.75683,247.20409 C 183.32096,246.7587 183.10254,246.14477 183.10254,245.36206 C 183.10254,244.59313 183.32422,243.98271 183.76737,243.53056 C 184.21026,243.07838 184.77404,242.8524 185.4592,242.8524 C 186.45282,242.8524 187.16455,243.24465 187.5939,244.02835 L 186.50398,244.57559 z"
|
||||||
|
id="path3723"
|
||||||
|
style="opacity:1" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<path
|
||||||
|
id="text3725"
|
||||||
|
d="M 357.4197,331.68502 C 357.66518,331.68502 357.85131,331.63144 357.9781,331.52427 C 358.10488,331.4171 358.16827,331.25904 358.16828,331.05005 C 358.16827,330.84377 358.10488,330.68703 357.9781,330.57986 C 357.85131,330.47002 357.66518,330.41509 357.4197,330.41509 L 356.55784,330.41509 L 356.55784,331.68502 L 357.4197,331.68502 M 357.4723,334.30926 C 357.78522,334.30926 358.0199,334.24363 358.17637,334.11235 C 358.33552,333.98107 358.4151,333.7828 358.4151,333.51757 C 358.4151,333.25769 358.33686,333.06346 358.18041,332.93485 C 358.02396,332.80358 357.78792,332.73793 357.4723,332.73793 L 356.55784,332.73793 L 356.55784,334.30926 L 357.4723,334.30926 M 358.92089,332.15119 C 359.25538,332.24765 359.51434,332.42581 359.69779,332.68569 C 359.88121,332.94557 359.97293,333.26439 359.97294,333.64215 C 359.97293,334.22085 359.776,334.6522 359.38217,334.93619 C 358.98833,335.22018 358.38947,335.36218 357.5856,335.36218 L 355.00001,335.36218 L 355.00001,329.36218 L 357.33878,329.36218 C 358.17771,329.36218 358.78466,329.48811 359.15962,329.73994 C 359.53727,329.99178 359.7261,330.395 359.7261,330.94958 C 359.7261,331.24162 359.65732,331.49078 359.51975,331.69708 C 359.38217,331.9007 359.18255,332.05207 358.92089,332.15119 M 359.83746,329.36218 L 361.54096,329.36218 L 362.91671,331.50015 L 364.29245,329.36218 L 366,329.36218 L 363.69764,332.83438 L 363.69764,335.36218 L 362.13982,335.36218 L 362.13982,332.83438 L 359.83746,329.36218 M 365.15837,332.40839 L 367.69946,332.40839 L 367.69946,333.57785 L 365.15837,333.57785 L 365.15837,332.40839 M 368.9174,329.36218 L 370.65732,329.36218 L 372.85447,333.47738 L 372.85447,329.36218 L 374.33138,329.36218 L 374.33138,335.36218 L 372.59146,335.36218 L 370.3943,331.24698 L 370.3943,335.36218 L 368.9174,335.36218 L 368.9174,329.36218 M 380.65173,335.03264 C 380.36579,335.17999 380.0677,335.29118 379.75749,335.36619 C 379.44727,335.44122 379.12357,335.47872 378.78638,335.47872 C 377.78019,335.47872 376.98307,335.20009 376.395,334.64282 C 375.80693,334.08288 375.5129,333.32467 375.5129,332.36821 C 375.5129,331.40907 375.80693,330.65087 376.395,330.0936 C 376.98307,329.53365 377.78019,329.25368 378.78638,329.25367 C 379.12357,329.25368 379.44727,329.29118 379.75749,329.3662 C 380.0677,329.44122 380.36579,329.55241 380.65173,329.69975 L 380.65173,330.94155 C 380.36309,330.74597 380.0785,330.60263 379.79796,330.51154 C 379.5174,330.42046 379.22203,330.37491 378.91181,330.3749 C 378.35611,330.37491 377.91911,330.55174 377.6008,330.90538 C 377.28249,331.25904 377.12333,331.74665 377.12333,332.36821 C 377.12333,332.9871 377.28249,333.47336 377.6008,333.82701 C 377.91911,334.18066 378.35611,334.35749 378.91181,334.35749 C 379.22203,334.35749 379.5174,334.31194 379.79796,334.22085 C 380.0785,334.12976 380.36309,333.98643 380.65173,333.79085 L 380.65173,335.03264"
|
||||||
|
style="font-size:8.25858784px;font-style:normal;font-weight:bold;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:'Bitstream Vera Sans'" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 9.4 KiB |
117
images/cc-by-nd.svg
Normal file
@ -0,0 +1,117 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://web.resource.org/cc/"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
width="80"
|
||||||
|
height="15"
|
||||||
|
id="svg2279"
|
||||||
|
sodipodi:version="0.32"
|
||||||
|
inkscape:version="0.45+devel"
|
||||||
|
version="1.0"
|
||||||
|
sodipodi:docname="by-nd.svg"
|
||||||
|
inkscape:output_extension="org.inkscape.output.svg.inkscape">
|
||||||
|
<defs
|
||||||
|
id="defs2281">
|
||||||
|
<clipPath
|
||||||
|
clipPathUnits="userSpaceOnUse"
|
||||||
|
id="clipPath3442">
|
||||||
|
<rect
|
||||||
|
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.92243534;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
id="rect3444"
|
||||||
|
width="20.614058"
|
||||||
|
height="12.483703"
|
||||||
|
x="171.99832"
|
||||||
|
y="239.1203" />
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="base"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#999999"
|
||||||
|
borderopacity="1"
|
||||||
|
gridtolerance="10000"
|
||||||
|
guidetolerance="10"
|
||||||
|
objecttolerance="10"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:zoom="10.5125"
|
||||||
|
inkscape:cx="40"
|
||||||
|
inkscape:cy="7.5"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
width="80px"
|
||||||
|
height="15px"
|
||||||
|
showborder="true"
|
||||||
|
inkscape:showpageshadow="false"
|
||||||
|
inkscape:window-width="935"
|
||||||
|
inkscape:window-height="624"
|
||||||
|
inkscape:window-x="50"
|
||||||
|
inkscape:window-y="160" />
|
||||||
|
<metadata
|
||||||
|
id="metadata2284">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1">
|
||||||
|
<g
|
||||||
|
id="BY-ND"
|
||||||
|
transform="matrix(0.9875019,0,0,0.9333518,-323.90064,-384.81244)">
|
||||||
|
<rect
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.04161763;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
id="rect3767"
|
||||||
|
width="80"
|
||||||
|
height="15"
|
||||||
|
x="328.5"
|
||||||
|
y="412.86218" />
|
||||||
|
<rect
|
||||||
|
y="414.36218"
|
||||||
|
x="330"
|
||||||
|
height="12"
|
||||||
|
width="77"
|
||||||
|
id="rect3769"
|
||||||
|
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.92243534;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||||
|
<path
|
||||||
|
style="fill:#abb1aa;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.46913578"
|
||||||
|
d="M 329.99996,414.36218 L 329.99996,426.36218 L 350.33474,426.36218 C 351.64339,424.61187 352.52652,422.5777 352.52652,420.36218 C 352.52652,418.16144 351.65859,416.10503 350.36599,414.36218 L 329.99996,414.36218 z"
|
||||||
|
id="path3771"
|
||||||
|
sodipodi:nodetypes="cccscc" />
|
||||||
|
<g
|
||||||
|
id="g3773"
|
||||||
|
transform="matrix(0.9612533,0,0,0.9612533,164.83416,184.507)"
|
||||||
|
clip-path="url(#clipPath3442)">
|
||||||
|
<path
|
||||||
|
id="path3775"
|
||||||
|
cx="296.35416"
|
||||||
|
ry="22.939548"
|
||||||
|
cy="264.3577"
|
||||||
|
type="arc"
|
||||||
|
rx="22.939548"
|
||||||
|
d="M 190.06417,245.36206 C 190.06667,249.25405 186.91326,252.41072 183.02153,252.41323 C 179.12979,252.41572 175.97262,249.26256 175.97036,245.3706 C 175.97036,245.36783 175.97036,245.36507 175.97036,245.36206 C 175.9681,241.47007 179.12126,238.3134 183.013,238.31113 C 186.90524,238.30864 190.06191,241.46181 190.06417,245.3538 C 190.06417,245.35628 190.06417,245.35929 190.06417,245.36206 z"
|
||||||
|
style="opacity:1;fill:#ffffff" />
|
||||||
|
<path
|
||||||
|
d="M 188.74576,239.62226 C 190.30843,241.18492 191.08988,243.09869 191.08988,245.36206 C 191.08988,247.62592 190.32197,249.51913 188.78615,251.04165 C 187.15627,252.64521 185.22995,253.44672 183.00722,253.44672 C 180.81132,253.44672 178.91837,252.65172 177.32887,251.06174 C 175.73912,249.47198 174.94436,247.57226 174.94436,245.36206 C 174.94436,243.15235 175.73912,241.23908 177.32887,239.62226 C 178.87799,238.0591 180.77094,237.27764 183.00722,237.27764 C 185.2706,237.27764 187.18312,238.05909 188.74576,239.62226 z M 178.38093,240.67355 C 177.05978,242.008 176.39945,243.57116 176.39945,245.36429 C 176.39945,247.15694 177.05326,248.70682 178.36062,250.01393 C 179.66822,251.32153 181.22487,251.97509 183.03105,251.97509 C 184.83724,251.97509 186.40716,251.31502 187.74161,249.99412 C 189.0086,248.76725 189.64234,247.22467 189.64234,245.36429 C 189.64234,243.51799 188.99831,241.95084 187.71101,240.66354 C 186.42396,239.37649 184.86406,238.7327 183.03105,238.7327 C 181.19804,238.73271 179.64767,239.37975 178.38093,240.67355 z M 181.85761,244.57559 C 181.65573,244.13545 181.35354,243.91525 180.95051,243.91525 C 180.23802,243.91525 179.8819,244.39501 179.8819,245.35404 C 179.8819,246.31328 180.23802,246.79255 180.95051,246.79255 C 181.421,246.79255 181.75705,246.55908 181.95869,246.09111 L 182.94629,246.61701 C 182.47555,247.45339 181.76934,247.87168 180.82763,247.87168 C 180.10136,247.87168 179.51953,247.64899 179.08265,247.20409 C 178.64502,246.7587 178.42684,246.14477 178.42684,245.36206 C 178.42684,244.59313 178.65204,243.98271 179.10271,243.53056 C 179.55338,243.07838 180.11463,242.8524 180.7875,242.8524 C 181.78288,242.8524 182.49561,243.24465 182.92647,244.02835 L 181.85761,244.57559 z M 186.50398,244.57559 C 186.30184,244.13545 186.00567,243.91525 185.61517,243.91525 C 184.88839,243.91525 184.52474,244.39501 184.52474,245.35404 C 184.52474,246.31328 184.88839,246.79255 185.61517,246.79255 C 186.08642,246.79255 186.41644,246.55908 186.6048,246.09111 L 187.61447,246.61701 C 187.14448,247.45339 186.43926,247.87168 185.49931,247.87168 C 184.77403,247.87168 184.19346,247.64899 183.75683,247.20409 C 183.32096,246.7587 183.10254,246.14477 183.10254,245.36206 C 183.10254,244.59313 183.32422,243.98271 183.76737,243.53056 C 184.21026,243.07838 184.77404,242.8524 185.4592,242.8524 C 186.45282,242.8524 187.16455,243.24465 187.5939,244.02835 L 186.50398,244.57559 z"
|
||||||
|
id="path3777"
|
||||||
|
style="opacity:1" />
|
||||||
|
</g>
|
||||||
|
<path
|
||||||
|
id="text3779"
|
||||||
|
d="M 357.4197,419.68502 C 357.66518,419.68502 357.85131,419.63145 357.9781,419.52427 C 358.10488,419.41711 358.16827,419.25904 358.16828,419.05006 C 358.16827,418.84377 358.10488,418.68704 357.9781,418.57987 C 357.85131,418.47002 357.66518,418.4151 357.4197,418.4151 L 356.55784,418.4151 L 356.55784,419.68502 L 357.4197,419.68502 M 357.4723,422.30927 C 357.78522,422.30927 358.0199,422.24363 358.17637,422.11235 C 358.33552,421.98107 358.4151,421.78281 358.4151,421.51758 C 358.4151,421.2577 358.33686,421.06346 358.18041,420.93485 C 358.02396,420.80358 357.78792,420.73794 357.4723,420.73794 L 356.55784,420.73794 L 356.55784,422.30927 L 357.4723,422.30927 M 358.92089,420.1512 C 359.25538,420.24766 359.51434,420.42582 359.69779,420.6857 C 359.88121,420.94558 359.97293,421.2644 359.97294,421.64215 C 359.97293,422.22086 359.776,422.65221 359.38217,422.93619 C 358.98833,423.22019 358.38947,423.36218 357.5856,423.36218 L 355.00001,423.36218 L 355.00001,417.36219 L 357.33878,417.36219 C 358.17771,417.36219 358.78466,417.48812 359.15962,417.73994 C 359.53727,417.99179 359.7261,418.39501 359.7261,418.94959 C 359.7261,419.24162 359.65732,419.49079 359.51975,419.69708 C 359.38217,419.90071 359.18255,420.05208 358.92089,420.1512 M 359.83746,417.36219 L 361.54096,417.36219 L 362.91671,419.50016 L 364.29245,417.36219 L 366,417.36219 L 363.69764,420.83439 L 363.69764,423.36218 L 362.13982,423.36218 L 362.13982,420.83439 L 359.83746,417.36219 M 365.15837,420.4084 L 367.69946,420.4084 L 367.69946,421.57785 L 365.15837,421.57785 L 365.15837,420.4084 M 368.9174,417.36219 L 370.65732,417.36219 L 372.85447,421.47739 L 372.85447,417.36219 L 374.33138,417.36219 L 374.33138,423.36218 L 372.59146,423.36218 L 370.3943,419.24698 L 370.3943,423.36218 L 368.9174,423.36218 L 368.9174,417.36219 M 377.41872,418.53164 L 377.41872,422.19273 L 377.97711,422.19273 C 378.61373,422.19273 379.09929,422.03599 379.43379,421.72253 C 379.77098,421.40907 379.93957,420.95361 379.93957,420.35616 C 379.93957,419.76138 379.77232,419.3086 379.43783,418.99782 C 379.10333,418.68704 378.61643,418.53164 377.97711,418.53164 L 377.41872,418.53164 M 375.86089,417.36219 L 377.50369,417.36219 C 378.42085,417.36219 379.10333,417.42783 379.55113,417.5591 C 380.00162,417.68771 380.38736,417.9074 380.70838,418.21818 C 380.99161,418.48878 381.20202,418.8009 381.3396,419.15455 C 381.47717,419.5082 381.54596,419.90874 381.54597,420.35616 C 381.54596,420.80894 381.47717,421.21349 381.3396,421.56982 C 381.20202,421.92347 380.99161,422.23559 380.70838,422.5062 C 380.38466,422.81697 379.99622,423.038 379.54304,423.16928 C 379.08984,423.29788 378.41007,423.36218 377.50369,423.36218 L 375.86089,423.36218 L 375.86089,417.36219"
|
||||||
|
style="font-size:8.25858784px;font-style:normal;font-weight:bold;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:'Bitstream Vera Sans'" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 9.2 KiB |
121
images/cc-by-sa.svg
Normal file
@ -0,0 +1,121 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://web.resource.org/cc/"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
width="80"
|
||||||
|
height="15"
|
||||||
|
id="svg2279"
|
||||||
|
sodipodi:version="0.32"
|
||||||
|
inkscape:version="0.45+devel"
|
||||||
|
version="1.0"
|
||||||
|
sodipodi:docname="by-sa.svg"
|
||||||
|
inkscape:output_extension="org.inkscape.output.svg.inkscape">
|
||||||
|
<defs
|
||||||
|
id="defs2281">
|
||||||
|
<clipPath
|
||||||
|
clipPathUnits="userSpaceOnUse"
|
||||||
|
id="clipPath3442">
|
||||||
|
<rect
|
||||||
|
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.92243534;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
id="rect3444"
|
||||||
|
width="20.614058"
|
||||||
|
height="12.483703"
|
||||||
|
x="171.99832"
|
||||||
|
y="239.1203" />
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="base"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#999999"
|
||||||
|
borderopacity="1"
|
||||||
|
gridtolerance="10000"
|
||||||
|
guidetolerance="10"
|
||||||
|
objecttolerance="10"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:zoom="10.5125"
|
||||||
|
inkscape:cx="40"
|
||||||
|
inkscape:cy="7.5"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
width="80px"
|
||||||
|
height="15px"
|
||||||
|
showborder="true"
|
||||||
|
inkscape:showpageshadow="false"
|
||||||
|
inkscape:window-width="935"
|
||||||
|
inkscape:window-height="624"
|
||||||
|
inkscape:window-x="50"
|
||||||
|
inkscape:window-y="160" />
|
||||||
|
<metadata
|
||||||
|
id="metadata2284">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1">
|
||||||
|
<g
|
||||||
|
id="BY-SA"
|
||||||
|
transform="matrix(0.9875019,0,0,0.9333518,-323.90064,-356.81188)">
|
||||||
|
<g
|
||||||
|
id="g3747"
|
||||||
|
transform="translate(158,145)">
|
||||||
|
<rect
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.04161763;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
id="rect3749"
|
||||||
|
width="80"
|
||||||
|
height="15"
|
||||||
|
x="170.5"
|
||||||
|
y="237.86218" />
|
||||||
|
<rect
|
||||||
|
y="239.36218"
|
||||||
|
x="172"
|
||||||
|
height="12"
|
||||||
|
width="77"
|
||||||
|
id="rect3751"
|
||||||
|
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.92243534;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||||
|
<path
|
||||||
|
style="fill:#abb1aa;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.46913578"
|
||||||
|
d="M 171.99996,239.37505 L 171.99996,251.37505 L 192.33474,251.37505 C 193.64339,249.62474 194.52652,247.59057 194.52652,245.37505 C 194.52652,243.17431 193.65859,241.1179 192.36599,239.37505 L 171.99996,239.37505 z"
|
||||||
|
id="path3753"
|
||||||
|
sodipodi:nodetypes="cccscc" />
|
||||||
|
<g
|
||||||
|
id="g3755"
|
||||||
|
transform="matrix(0.9612533,0,0,0.9612533,6.8341566,9.5069994)"
|
||||||
|
clip-path="url(#clipPath3442)">
|
||||||
|
<path
|
||||||
|
id="path3757"
|
||||||
|
cx="296.35416"
|
||||||
|
ry="22.939548"
|
||||||
|
cy="264.3577"
|
||||||
|
type="arc"
|
||||||
|
rx="22.939548"
|
||||||
|
d="M 190.06417,245.36206 C 190.06667,249.25405 186.91326,252.41072 183.02153,252.41323 C 179.12979,252.41572 175.97262,249.26256 175.97036,245.3706 C 175.97036,245.36783 175.97036,245.36507 175.97036,245.36206 C 175.9681,241.47007 179.12126,238.3134 183.013,238.31113 C 186.90524,238.30864 190.06191,241.46181 190.06417,245.3538 C 190.06417,245.35628 190.06417,245.35929 190.06417,245.36206 z"
|
||||||
|
style="opacity:1;fill:#ffffff" />
|
||||||
|
<path
|
||||||
|
d="M 188.74576,239.62226 C 190.30843,241.18492 191.08988,243.09869 191.08988,245.36206 C 191.08988,247.62592 190.32197,249.51913 188.78615,251.04165 C 187.15627,252.64521 185.22995,253.44672 183.00722,253.44672 C 180.81132,253.44672 178.91837,252.65172 177.32887,251.06174 C 175.73912,249.47198 174.94436,247.57226 174.94436,245.36206 C 174.94436,243.15235 175.73912,241.23908 177.32887,239.62226 C 178.87799,238.0591 180.77094,237.27764 183.00722,237.27764 C 185.2706,237.27764 187.18312,238.05909 188.74576,239.62226 z M 178.38093,240.67355 C 177.05978,242.008 176.39945,243.57116 176.39945,245.36429 C 176.39945,247.15694 177.05326,248.70682 178.36062,250.01393 C 179.66822,251.32153 181.22487,251.97509 183.03105,251.97509 C 184.83724,251.97509 186.40716,251.31502 187.74161,249.99412 C 189.0086,248.76725 189.64234,247.22467 189.64234,245.36429 C 189.64234,243.51799 188.99831,241.95084 187.71101,240.66354 C 186.42396,239.37649 184.86406,238.7327 183.03105,238.7327 C 181.19804,238.73271 179.64767,239.37975 178.38093,240.67355 z M 181.85761,244.57559 C 181.65573,244.13545 181.35354,243.91525 180.95051,243.91525 C 180.23802,243.91525 179.8819,244.39501 179.8819,245.35404 C 179.8819,246.31328 180.23802,246.79255 180.95051,246.79255 C 181.421,246.79255 181.75705,246.55908 181.95869,246.09111 L 182.94629,246.61701 C 182.47555,247.45339 181.76934,247.87168 180.82763,247.87168 C 180.10136,247.87168 179.51953,247.64899 179.08265,247.20409 C 178.64502,246.7587 178.42684,246.14477 178.42684,245.36206 C 178.42684,244.59313 178.65204,243.98271 179.10271,243.53056 C 179.55338,243.07838 180.11463,242.8524 180.7875,242.8524 C 181.78288,242.8524 182.49561,243.24465 182.92647,244.02835 L 181.85761,244.57559 z M 186.50398,244.57559 C 186.30184,244.13545 186.00567,243.91525 185.61517,243.91525 C 184.88839,243.91525 184.52474,244.39501 184.52474,245.35404 C 184.52474,246.31328 184.88839,246.79255 185.61517,246.79255 C 186.08642,246.79255 186.41644,246.55908 186.6048,246.09111 L 187.61447,246.61701 C 187.14448,247.45339 186.43926,247.87168 185.49931,247.87168 C 184.77403,247.87168 184.19346,247.64899 183.75683,247.20409 C 183.32096,246.7587 183.10254,246.14477 183.10254,245.36206 C 183.10254,244.59313 183.32422,243.98271 183.76737,243.53056 C 184.21026,243.07838 184.77404,242.8524 185.4592,242.8524 C 186.45282,242.8524 187.16455,243.24465 187.5939,244.02835 L 186.50398,244.57559 z"
|
||||||
|
id="path3759"
|
||||||
|
style="opacity:1" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<path
|
||||||
|
id="text3761"
|
||||||
|
d="M 357.4197,389.68502 C 357.66518,389.68502 357.85131,389.63144 357.9781,389.52427 C 358.10488,389.4171 358.16827,389.25904 358.16828,389.05005 C 358.16827,388.84376 358.10488,388.68703 357.9781,388.57986 C 357.85131,388.47002 357.66518,388.4151 357.4197,388.41509 L 356.55784,388.41509 L 356.55784,389.68502 L 357.4197,389.68502 M 357.4723,392.30926 C 357.78522,392.30926 358.0199,392.24363 358.17637,392.11235 C 358.33552,391.98107 358.4151,391.78281 358.4151,391.51756 C 358.4151,391.25769 358.33686,391.06345 358.18041,390.93485 C 358.02396,390.80357 357.78792,390.73793 357.4723,390.73793 L 356.55784,390.73793 L 356.55784,392.30926 L 357.4723,392.30926 M 358.92089,390.15119 C 359.25538,390.24764 359.51434,390.42581 359.69779,390.68568 C 359.88121,390.94557 359.97293,391.26439 359.97294,391.64215 C 359.97293,392.22086 359.776,392.6522 359.38217,392.93619 C 358.98833,393.22018 358.38947,393.36218 357.5856,393.36218 L 355.00001,393.36218 L 355.00001,387.36218 L 357.33878,387.36218 C 358.17771,387.36218 358.78466,387.4881 359.15962,387.73994 C 359.53727,387.99178 359.7261,388.395 359.7261,388.94959 C 359.7261,389.24162 359.65732,389.49078 359.51975,389.69708 C 359.38217,389.90069 359.18255,390.05206 358.92089,390.15119 M 359.83746,387.36218 L 361.54096,387.36218 L 362.91671,389.50015 L 364.29245,387.36218 L 366,387.36218 L 363.69764,390.83438 L 363.69764,393.36218 L 362.13982,393.36218 L 362.13982,390.83438 L 359.83746,387.36218 M 365.15837,390.40839 L 367.69946,390.40839 L 367.69946,391.57785 L 365.15837,391.57785 L 365.15837,390.40839 M 373.12153,387.55105 L 373.12153,388.82099 C 372.78973,388.67363 372.46602,388.56245 372.15042,388.48743 C 371.8348,388.41241 371.53671,388.3749 371.25618,388.3749 C 370.88391,388.3749 370.60877,388.42581 370.43073,388.52761 C 370.25268,388.62943 370.16367,388.7875 370.16367,389.00183 C 370.16367,389.16259 370.22301,389.28851 370.3417,389.37959 C 370.4631,389.46801 370.68159,389.54436 370.99721,389.60866 L 371.66081,389.74127 C 372.33249,389.87524 372.80996,390.07886 373.0932,390.35213 C 373.37644,390.62541 373.51806,391.01389 373.51807,391.51756 C 373.51806,392.17933 373.3198,392.67229 372.92326,392.99647 C 372.52941,393.31797 371.92651,393.47872 371.11455,393.47872 C 370.7315,393.47872 370.3471,393.44255 369.96136,393.37021 C 369.5756,393.29788 369.18985,393.1907 368.80411,393.04871 L 368.80411,391.74262 C 369.18985,391.94624 369.56211,392.10029 369.92089,392.20477 C 370.28236,392.30658 370.63034,392.35749 370.96484,392.35749 C 371.30473,392.35749 371.56504,392.30123 371.74578,392.1887 C 371.92651,392.07618 372.01688,391.91542 372.01688,391.70645 C 372.01688,391.51891 371.95484,391.37423 371.83076,391.27242 C 371.70936,391.17062 371.46523,391.07952 371.09837,390.99915 L 370.49547,390.86653 C 369.89122,390.73793 369.44882,390.53297 369.16827,390.25166 C 368.89042,389.97035 368.7515,389.59125 368.7515,389.11435 C 368.7515,388.51691 368.94572,388.05743 369.33418,387.73592 C 369.72262,387.41442 370.28101,387.25367 371.00935,387.25367 C 371.34115,387.25367 371.68238,387.27912 372.03307,387.33003 C 372.38374,387.37826 372.74656,387.45193 373.12153,387.55105 M 378.55573,392.26907 L 376.11985,392.26907 L 375.73545,393.36218 L 374.16953,393.36218 L 376.40714,387.36218 L 378.2644,387.36218 L 380.50201,393.36218 L 378.93609,393.36218 L 378.55573,392.26907 M 376.5083,391.15588 L 378.16324,391.15588 L 377.3378,388.76874 L 376.5083,391.15588"
|
||||||
|
style="font-size:8.25858784px;font-style:normal;font-weight:bold;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:'Bitstream Vera Sans'" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 10 KiB |
121
images/cc-by.svg
Normal file
@ -0,0 +1,121 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://web.resource.org/cc/"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
width="80"
|
||||||
|
height="15"
|
||||||
|
id="svg2279"
|
||||||
|
sodipodi:version="0.32"
|
||||||
|
inkscape:version="0.45+devel"
|
||||||
|
version="1.0"
|
||||||
|
sodipodi:docname="by.svg"
|
||||||
|
inkscape:output_extension="org.inkscape.output.svg.inkscape">
|
||||||
|
<defs
|
||||||
|
id="defs2281">
|
||||||
|
<clipPath
|
||||||
|
clipPathUnits="userSpaceOnUse"
|
||||||
|
id="clipPath3442">
|
||||||
|
<rect
|
||||||
|
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.92243534;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
id="rect3444"
|
||||||
|
width="20.614058"
|
||||||
|
height="12.483703"
|
||||||
|
x="171.99832"
|
||||||
|
y="239.1203" />
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="base"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#999999"
|
||||||
|
borderopacity="1"
|
||||||
|
gridtolerance="10000"
|
||||||
|
guidetolerance="10"
|
||||||
|
objecttolerance="10"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:zoom="10.5125"
|
||||||
|
inkscape:cx="40"
|
||||||
|
inkscape:cy="7.5"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
width="80px"
|
||||||
|
height="15px"
|
||||||
|
showborder="true"
|
||||||
|
inkscape:showpageshadow="false"
|
||||||
|
inkscape:window-width="935"
|
||||||
|
inkscape:window-height="624"
|
||||||
|
inkscape:window-x="50"
|
||||||
|
inkscape:window-y="160" />
|
||||||
|
<metadata
|
||||||
|
id="metadata2284">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1">
|
||||||
|
<g
|
||||||
|
id="BY"
|
||||||
|
transform="matrix(0.9875019,0,0,0.9333518,-323.90064,-271.87688)">
|
||||||
|
<g
|
||||||
|
transform="translate(158,54)"
|
||||||
|
id="g3693">
|
||||||
|
<rect
|
||||||
|
y="237.86218"
|
||||||
|
x="170.5"
|
||||||
|
height="15"
|
||||||
|
width="80"
|
||||||
|
id="rect3695"
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.04161763;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||||
|
<rect
|
||||||
|
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.92243534;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
id="rect3697"
|
||||||
|
width="77"
|
||||||
|
height="12"
|
||||||
|
x="172"
|
||||||
|
y="239.36218" />
|
||||||
|
<path
|
||||||
|
sodipodi:nodetypes="cccscc"
|
||||||
|
id="path3699"
|
||||||
|
d="M 171.99996,239.37505 L 171.99996,251.37505 L 192.33474,251.37505 C 193.64339,249.62474 194.52652,247.59057 194.52652,245.37505 C 194.52652,243.17431 193.65859,241.1179 192.36599,239.37505 L 171.99996,239.37505 z"
|
||||||
|
style="fill:#abb1aa;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.46913578" />
|
||||||
|
<g
|
||||||
|
clip-path="url(#clipPath3442)"
|
||||||
|
transform="matrix(0.9612533,0,0,0.9612533,6.8341566,9.5069994)"
|
||||||
|
id="g3701">
|
||||||
|
<path
|
||||||
|
style="opacity:1;fill:#ffffff"
|
||||||
|
d="M 190.06417,245.36206 C 190.06667,249.25405 186.91326,252.41072 183.02153,252.41323 C 179.12979,252.41572 175.97262,249.26256 175.97036,245.3706 C 175.97036,245.36783 175.97036,245.36507 175.97036,245.36206 C 175.9681,241.47007 179.12126,238.3134 183.013,238.31113 C 186.90524,238.30864 190.06191,241.46181 190.06417,245.3538 C 190.06417,245.35628 190.06417,245.35929 190.06417,245.36206 z"
|
||||||
|
rx="22.939548"
|
||||||
|
type="arc"
|
||||||
|
cy="264.3577"
|
||||||
|
ry="22.939548"
|
||||||
|
cx="296.35416"
|
||||||
|
id="path3703" />
|
||||||
|
<path
|
||||||
|
style="opacity:1"
|
||||||
|
id="path3705"
|
||||||
|
d="M 188.74576,239.62226 C 190.30843,241.18492 191.08988,243.09869 191.08988,245.36206 C 191.08988,247.62592 190.32197,249.51913 188.78615,251.04165 C 187.15627,252.64521 185.22995,253.44672 183.00722,253.44672 C 180.81132,253.44672 178.91837,252.65172 177.32887,251.06174 C 175.73912,249.47198 174.94436,247.57226 174.94436,245.36206 C 174.94436,243.15235 175.73912,241.23908 177.32887,239.62226 C 178.87799,238.0591 180.77094,237.27764 183.00722,237.27764 C 185.2706,237.27764 187.18312,238.05909 188.74576,239.62226 z M 178.38093,240.67355 C 177.05978,242.008 176.39945,243.57116 176.39945,245.36429 C 176.39945,247.15694 177.05326,248.70682 178.36062,250.01393 C 179.66822,251.32153 181.22487,251.97509 183.03105,251.97509 C 184.83724,251.97509 186.40716,251.31502 187.74161,249.99412 C 189.0086,248.76725 189.64234,247.22467 189.64234,245.36429 C 189.64234,243.51799 188.99831,241.95084 187.71101,240.66354 C 186.42396,239.37649 184.86406,238.7327 183.03105,238.7327 C 181.19804,238.73271 179.64767,239.37975 178.38093,240.67355 z M 181.85761,244.57559 C 181.65573,244.13545 181.35354,243.91525 180.95051,243.91525 C 180.23802,243.91525 179.8819,244.39501 179.8819,245.35404 C 179.8819,246.31328 180.23802,246.79255 180.95051,246.79255 C 181.421,246.79255 181.75705,246.55908 181.95869,246.09111 L 182.94629,246.61701 C 182.47555,247.45339 181.76934,247.87168 180.82763,247.87168 C 180.10136,247.87168 179.51953,247.64899 179.08265,247.20409 C 178.64502,246.7587 178.42684,246.14477 178.42684,245.36206 C 178.42684,244.59313 178.65204,243.98271 179.10271,243.53056 C 179.55338,243.07838 180.11463,242.8524 180.7875,242.8524 C 181.78288,242.8524 182.49561,243.24465 182.92647,244.02835 L 181.85761,244.57559 z M 186.50398,244.57559 C 186.30184,244.13545 186.00567,243.91525 185.61517,243.91525 C 184.88839,243.91525 184.52474,244.39501 184.52474,245.35404 C 184.52474,246.31328 184.88839,246.79255 185.61517,246.79255 C 186.08642,246.79255 186.41644,246.55908 186.6048,246.09111 L 187.61447,246.61701 C 187.14448,247.45339 186.43926,247.87168 185.49931,247.87168 C 184.77403,247.87168 184.19346,247.64899 183.75683,247.20409 C 183.32096,246.7587 183.10254,246.14477 183.10254,245.36206 C 183.10254,244.59313 183.32422,243.98271 183.76737,243.53056 C 184.21026,243.07838 184.77404,242.8524 185.4592,242.8524 C 186.45282,242.8524 187.16455,243.24465 187.5939,244.02835 L 186.50398,244.57559 z" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<path
|
||||||
|
id="text3707"
|
||||||
|
d="M 357.4197,298.68502 C 357.66518,298.68503 357.85131,298.63145 357.9781,298.52427 C 358.10488,298.41711 358.16827,298.25904 358.16828,298.05007 C 358.16827,297.84377 358.10488,297.68704 357.9781,297.57987 C 357.85131,297.47003 357.66518,297.41511 357.4197,297.4151 L 356.55784,297.4151 L 356.55784,298.68502 L 357.4197,298.68502 M 357.4723,301.30928 C 357.78522,301.30928 358.0199,301.24363 358.17637,301.11235 C 358.33552,300.98108 358.4151,300.78282 358.4151,300.51758 C 358.4151,300.2577 358.33686,300.06346 358.18041,299.93486 C 358.02396,299.80358 357.78792,299.73795 357.4723,299.73794 L 356.55784,299.73794 L 356.55784,301.30928 L 357.4723,301.30928 M 358.92089,299.15121 C 359.25538,299.24766 359.51434,299.42582 359.69779,299.6857 C 359.88121,299.94558 359.97293,300.26439 359.97294,300.64216 C 359.97293,301.22086 359.776,301.6522 359.38217,301.9362 C 358.98833,302.22019 358.38947,302.36218 357.5856,302.36218 L 355.00001,302.36218 L 355.00001,296.36218 L 357.33878,296.36218 C 358.17771,296.36219 358.78466,296.48811 359.15962,296.73995 C 359.53727,296.9918 359.7261,297.39501 359.7261,297.94959 C 359.7261,298.24163 359.65732,298.49079 359.51975,298.69708 C 359.38217,298.9007 359.18255,299.05208 358.92089,299.15121 M 359.83746,296.36218 L 361.54096,296.36218 L 362.91671,298.50016 L 364.29245,296.36218 L 366,296.36218 L 363.69764,299.83439 L 363.69764,302.36218 L 362.13982,302.36218 L 362.13982,299.83439 L 359.83746,296.36218"
|
||||||
|
style="font-size:8.25858784px;font-style:normal;font-weight:bold;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:'Bitstream Vera Sans'" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 8.1 KiB |
72
images/cc-zero.svg
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
|
width="80px" height="15px" viewBox="0 0 80 15" enable-background="new 0 0 80 15" xml:space="preserve">
|
||||||
|
<g>
|
||||||
|
<g>
|
||||||
|
<rect fill="#FFFFFF" width="80" height="15"/>
|
||||||
|
</g>
|
||||||
|
<path d="M22.797,2C23.8,3.595,24.39,5.477,24.39,7.501c0,2.023-0.589,3.904-1.592,5.499H80V2H22.797z"/>
|
||||||
|
<g>
|
||||||
|
<path id="text2809_5_" d="M12.42,2.031c-3.137,0-3.926,2.959-3.926,5.469s0.787,5.469,3.926,5.469
|
||||||
|
c3.137,0,3.924-2.959,3.924-5.469S15.557,2.031,12.42,2.031z M12.42,4.094c0.127,0,0.242,0.02,0.352,0.047
|
||||||
|
c0.227,0.193,0.336,0.463,0.121,0.838l-2.09,3.838C10.738,8.33,10.729,7.855,10.729,7.5C10.729,6.395,10.807,4.094,12.42,4.094z
|
||||||
|
M13.982,5.863c0.111,0.588,0.127,1.203,0.127,1.637c0,1.105-0.076,3.406-1.689,3.406c-0.127,0-0.244-0.012-0.354-0.039
|
||||||
|
c-0.02-0.006-0.039-0.014-0.061-0.021c-0.031-0.01-0.066-0.02-0.098-0.031c-0.359-0.154-0.586-0.43-0.26-0.92L13.982,5.863z"/>
|
||||||
|
<path d="M21.229,3.848c-0.465-1.152-1.143-2.172-2.035-3.066C18.907,0.496,18.607,0.241,18.302,0h-3.708
|
||||||
|
c1.248,0.348,2.367,1.009,3.354,1.998c0.736,0.736,1.299,1.576,1.684,2.516s0.578,1.936,0.578,2.986
|
||||||
|
c0,2.184-0.746,3.994-2.227,5.441c-0.771,0.746-1.635,1.32-2.596,1.717c-0.344,0.143-0.694,0.251-1.046,0.342h3.892
|
||||||
|
c0.336-0.257,0.664-0.529,0.972-0.834c0.895-0.871,1.57-1.871,2.021-3c0.465-1.143,0.693-2.363,0.693-3.666
|
||||||
|
C21.92,6.211,21.691,4.99,21.229,3.848z M6.957,12.975c-0.746-0.746-1.322-1.59-1.729-2.527c-0.396-0.951-0.6-1.93-0.6-2.947
|
||||||
|
c0-1.029,0.203-2.016,0.6-2.955c0.406-0.949,0.982-1.803,1.729-2.561C7.916,1.004,9.021,0.346,10.268,0H6.58
|
||||||
|
C6.289,0.235,6.004,0.484,5.732,0.762C4.816,1.676,4.117,2.721,3.631,3.887C3.156,5.041,2.92,6.244,2.92,7.5
|
||||||
|
c0,1.268,0.236,2.471,0.711,3.613s1.164,2.17,2.068,3.086C5.994,14.49,6.305,14.752,6.623,15h3.88
|
||||||
|
c-0.345-0.088-0.686-0.191-1.019-0.328C8.547,14.277,7.705,13.711,6.957,12.975z"/>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
<path d="M80,0v15H0V0H80 M79.25,0.75H0.75v13.5h78.5V0.75L79.25,0.75z"/>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
<path fill="#FFFFFF" d="M30.514,8.106c-0.279,0.233-0.678,0.35-1.197,0.35h-0.993v1.717h-0.991V5.398h2.05
|
||||||
|
c0.473,0,0.849,0.123,1.13,0.369s0.422,0.628,0.422,1.144C30.934,7.475,30.794,7.873,30.514,8.106z M29.753,6.387
|
||||||
|
c-0.127-0.106-0.304-0.159-0.531-0.159h-0.898v1.406h0.898c0.228,0,0.404-0.058,0.531-0.172c0.126-0.114,0.189-0.296,0.189-0.544
|
||||||
|
C29.942,6.669,29.879,6.492,29.753,6.387z"/>
|
||||||
|
<path fill="#FFFFFF" d="M31.733,5.398h1.015v2.933c0,0.328,0.038,0.567,0.116,0.718c0.12,0.268,0.383,0.401,0.787,0.401
|
||||||
|
c0.402,0,0.664-0.134,0.784-0.401c0.077-0.15,0.116-0.39,0.116-0.718V5.398h1.014v2.935c0,0.508-0.079,0.902-0.236,1.186
|
||||||
|
c-0.293,0.519-0.853,0.777-1.678,0.777c-0.826,0-1.387-0.259-1.682-0.777c-0.157-0.283-0.236-0.678-0.236-1.186V5.398z"/>
|
||||||
|
<path fill="#FFFFFF" d="M40.085,5.907c0.146,0.203,0.219,0.446,0.219,0.729c0,0.292-0.074,0.526-0.221,0.703
|
||||||
|
c-0.083,0.1-0.204,0.19-0.364,0.272c0.243,0.088,0.427,0.229,0.551,0.421s0.187,0.425,0.187,0.699
|
||||||
|
c0,0.283-0.071,0.537-0.213,0.761c-0.09,0.149-0.203,0.274-0.338,0.376c-0.152,0.117-0.332,0.196-0.539,0.24
|
||||||
|
c-0.208,0.043-0.433,0.064-0.675,0.064H36.54V5.398h2.308C39.43,5.407,39.842,5.577,40.085,5.907z M37.492,6.228V7.28h1.16
|
||||||
|
c0.208,0,0.376-0.039,0.505-0.118c0.13-0.079,0.194-0.219,0.194-0.419c0-0.223-0.086-0.369-0.257-0.44
|
||||||
|
c-0.147-0.05-0.335-0.075-0.563-0.075H37.492z M37.492,8.07v1.273h1.159c0.207,0,0.368-0.028,0.483-0.084
|
||||||
|
c0.209-0.104,0.313-0.303,0.313-0.597c0-0.248-0.101-0.419-0.304-0.512C39.031,8.1,38.872,8.073,38.667,8.07H37.492z"/>
|
||||||
|
<path fill="#FFFFFF" d="M41.313,5.398h0.998v3.916h2.384v0.858h-3.382V5.398z"/>
|
||||||
|
<path fill="#FFFFFF" d="M46.275,10.173h-0.991V5.398h0.991V10.173z"/>
|
||||||
|
<path fill="#FFFFFF" d="M47.665,5.897c0.385-0.393,0.874-0.59,1.468-0.59c0.795,0,1.376,0.264,1.743,0.791
|
||||||
|
c0.203,0.296,0.312,0.593,0.327,0.891h-0.998c-0.063-0.229-0.145-0.402-0.244-0.519c-0.178-0.207-0.441-0.311-0.79-0.311
|
||||||
|
c-0.355,0-0.636,0.146-0.841,0.438s-0.308,0.707-0.308,1.242s0.108,0.937,0.324,1.203c0.217,0.267,0.492,0.4,0.826,0.4
|
||||||
|
c0.342,0,0.603-0.114,0.782-0.344c0.1-0.123,0.182-0.308,0.247-0.554h0.991c-0.086,0.521-0.304,0.943-0.655,1.27
|
||||||
|
s-0.802,0.489-1.351,0.489c-0.68,0-1.214-0.221-1.603-0.661c-0.389-0.442-0.583-1.049-0.583-1.82
|
||||||
|
C47.002,6.991,47.224,6.349,47.665,5.897z"/>
|
||||||
|
<path fill="#FFFFFF" d="M54.797,5.502c0.335,0.11,0.606,0.312,0.813,0.606c0.167,0.237,0.28,0.494,0.341,0.771
|
||||||
|
s0.091,0.54,0.091,0.79c0,0.635-0.128,1.173-0.383,1.613c-0.346,0.594-0.88,0.891-1.602,0.891h-2.059V5.398h2.059
|
||||||
|
C54.354,5.403,54.601,5.438,54.797,5.502z M52.968,6.228v3.116h0.922c0.471,0,0.8-0.232,0.985-0.696
|
||||||
|
c0.102-0.255,0.152-0.559,0.152-0.91c0-0.486-0.076-0.859-0.229-1.119s-0.455-0.391-0.909-0.391H52.968z"/>
|
||||||
|
<path fill="#FFFFFF" d="M60.466,9.749c-0.36,0.371-0.882,0.557-1.564,0.557s-1.204-0.186-1.564-0.557
|
||||||
|
c-0.483-0.456-0.726-1.112-0.726-1.97c0-0.875,0.242-1.531,0.726-1.97c0.36-0.371,0.882-0.557,1.564-0.557
|
||||||
|
s1.204,0.186,1.564,0.557c0.481,0.438,0.722,1.095,0.722,1.97C61.188,8.637,60.947,9.293,60.466,9.749z M59.842,9.023
|
||||||
|
c0.232-0.292,0.349-0.706,0.349-1.244c0-0.535-0.116-0.949-0.349-1.242c-0.231-0.293-0.545-0.438-0.94-0.438
|
||||||
|
s-0.711,0.146-0.946,0.437c-0.235,0.292-0.353,0.706-0.353,1.244s0.117,0.952,0.353,1.244c0.235,0.291,0.551,0.437,0.946,0.437
|
||||||
|
S59.61,9.314,59.842,9.023z"/>
|
||||||
|
<path fill="#FFFFFF" d="M65.116,5.398h1.436v4.774h-0.929V6.943c0-0.093,0.001-0.223,0.003-0.39
|
||||||
|
c0.002-0.168,0.003-0.297,0.003-0.388l-0.904,4.007h-0.97l-0.898-4.007c0,0.091,0.001,0.22,0.003,0.388
|
||||||
|
c0.003,0.167,0.004,0.297,0.004,0.39v3.229h-0.93V5.398h1.451l0.869,3.754L65.116,5.398z"/>
|
||||||
|
<path fill="#FFFFFF" d="M68.84,5.398h1.129l1.689,4.774h-1.082l-0.314-0.981h-1.759l-0.323,0.981h-1.044L68.84,5.398z
|
||||||
|
M68.774,8.369h1.223L69.395,6.49L68.774,8.369z"/>
|
||||||
|
<path fill="#FFFFFF" d="M73.175,10.173h-0.991V5.398h0.991V10.173z"/>
|
||||||
|
<path fill="#FFFFFF" d="M74.093,5.398h1.046l1.895,3.329V5.398h0.93v4.774h-0.997l-1.943-3.388v3.388h-0.93V5.398z"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 6.1 KiB |
BIN
images/favicon-16x16-next.png
Normal file
After Width: | Height: | Size: 435 B |
BIN
images/favicon-32x32-next.png
Normal file
After Width: | Height: | Size: 640 B |
23
images/logo.svg
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xml:space="preserve"
|
||||||
|
enable-background="new 0 0 512 512"
|
||||||
|
viewBox="0 0 512 512"
|
||||||
|
height="512px"
|
||||||
|
width="512px"
|
||||||
|
y="0px"
|
||||||
|
x="0px"
|
||||||
|
id="NexT"
|
||||||
|
version="1.1"><metadata
|
||||||
|
id="metadata3390"><rdf:RDF><cc:Work
|
||||||
|
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
|
||||||
|
id="defs3388" /><path
|
||||||
|
style="fill:#222222;fill-opacity:1"
|
||||||
|
id="path3384"
|
||||||
|
d="M 256.4,25.8 56.4,141.3 56,371.5 255.6,486.2 455.6,370.7 456,140.5 Z m 92.6,328.8 -18.4,10.7 -18.6,-11 0,0 -112,-142.3 0,142.6 -18.4,10.7 -18.6,-11 0,-197 18.5,-10.6 18.5,10.8 0,0 112,144.5 0,-144.6 18.5,-10.6 18.5,10.8 z" /></svg>
|
After Width: | Height: | Size: 1.0 KiB |
13
images/quote-l.svg
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
|
||||||
|
<!-- License Agreement at http://iconmonstr.com/license/ -->
|
||||||
|
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
|
width="512px" height="512px" viewBox="0 0 512 512" enable-background="new 0 0 512 512" xml:space="preserve">
|
||||||
|
<path id="quote-5-icon" d="M55.178,332.895c-22.22-79.435,26.876-198.974,151.004-223.472l16.886,36.498
|
||||||
|
c-38.022,14.331-63.218,47.064-66.943,81.466c42.757,6.73,75.459,43.737,75.459,88.385
|
||||||
|
C231.583,415.014,85.181,440.162,55.178,332.895z M285.595,332.895c-22.22-79.435,26.876-198.974,151.004-223.472l16.886,36.498
|
||||||
|
c-38.022,14.331-63.218,47.064-66.943,81.466c42.757,6.73,75.459,43.737,75.459,88.385C462,415.014,315.598,440.162,285.595,332.895
|
||||||
|
z"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 879 B |
12
images/quote-r.svg
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
|
||||||
|
<!-- License Agreement at http://iconmonstr.com/license/ -->
|
||||||
|
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
|
width="512px" height="512px" viewBox="0 0 512 512" enable-background="new 0 0 512 512" xml:space="preserve">
|
||||||
|
<path id="quote-6-icon" d="M456.822,179.107c22.219,79.434-26.877,198.973-151.004,223.471l-16.887-36.498
|
||||||
|
c38.023-14.33,63.219-47.064,66.943-81.465c-42.756-6.73-75.459-43.739-75.459-88.385
|
||||||
|
C280.416,96.986,426.818,71.837,456.822,179.107z M226.405,179.107c22.22,79.434-26.876,198.973-151.004,223.471L58.515,366.08
|
||||||
|
c38.022-14.33,63.218-47.064,66.943-81.465C82.702,277.885,50,240.876,50,196.23C50,96.986,196.402,71.837,226.405,179.107z"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 868 B |
979
index.html
Normal file
@ -0,0 +1,979 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=2">
|
||||||
|
<meta name="theme-color" content="#222">
|
||||||
|
<meta name="generator" content="Hexo 3.9.0">
|
||||||
|
<link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon-next.png?v=7.4.1">
|
||||||
|
<link rel="icon" type="image/png" sizes="32x32" href="/images/favicon-32x32-next.png?v=7.4.1">
|
||||||
|
<link rel="icon" type="image/png" sizes="16x16" href="/images/favicon-16x16-next.png?v=7.4.1">
|
||||||
|
<link rel="mask-icon" href="/images/logo.svg?v=7.4.1" color="#222">
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="/css/main.css?v=7.4.1">
|
||||||
|
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="/lib/font-awesome/css/font-awesome.min.css?v=4.7.0">
|
||||||
|
|
||||||
|
|
||||||
|
<script id="hexo-configurations">
|
||||||
|
var NexT = window.NexT || {};
|
||||||
|
var CONFIG = {
|
||||||
|
root: '/',
|
||||||
|
scheme: 'Pisces',
|
||||||
|
version: '7.4.1',
|
||||||
|
exturl: false,
|
||||||
|
sidebar: {"position":"right","display":"post","offset":12,"onmobile":false},
|
||||||
|
copycode: {"enable":false,"show_result":false,"style":null},
|
||||||
|
back2top: {"enable":true,"sidebar":false,"scrollpercent":false},
|
||||||
|
bookmark: {"enable":false,"color":"#222","save":"auto"},
|
||||||
|
fancybox: false,
|
||||||
|
mediumzoom: false,
|
||||||
|
lazyload: false,
|
||||||
|
pangu: false,
|
||||||
|
algolia: {
|
||||||
|
appID: '',
|
||||||
|
apiKey: '',
|
||||||
|
indexName: '',
|
||||||
|
hits: {"per_page":10},
|
||||||
|
labels: {"input_placeholder":"Search for Posts","hits_empty":"We didn't find any results for the search: ${query}","hits_stats":"${hits} results found in ${time} ms"}
|
||||||
|
},
|
||||||
|
localsearch: {"enable":false,"trigger":"auto","top_n_per_article":1,"unescape":false,"preload":false},
|
||||||
|
path: '',
|
||||||
|
motion: {"enable":true,"async":false,"transition":{"post_block":"fadeIn","post_header":"slideDownIn","post_body":"slideDownIn","coll_header":"slideLeftIn","sidebar":"slideUpIn"}},
|
||||||
|
translation: {
|
||||||
|
copy_button: 'Copy',
|
||||||
|
copy_success: 'Copied',
|
||||||
|
copy_failure: 'Copy failed'
|
||||||
|
},
|
||||||
|
sidebarPadding: 40
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<meta name="keywords" content="Software, Computing">
|
||||||
|
<meta property="og:type" content="website">
|
||||||
|
<meta property="og:title" content="Hu Yu's Personal Blog">
|
||||||
|
<meta property="og:url" content="http://saturneric.cn/index.html">
|
||||||
|
<meta property="og:site_name" content="Hu Yu's Personal Blog">
|
||||||
|
<meta property="og:locale" content="en">
|
||||||
|
<meta name="twitter:card" content="summary">
|
||||||
|
<meta name="twitter:title" content="Hu Yu's Personal Blog">
|
||||||
|
<link rel="canonical" href="http://saturneric.cn/">
|
||||||
|
|
||||||
|
|
||||||
|
<script id="page-configurations">
|
||||||
|
// https://hexo.io/docs/variables.html
|
||||||
|
CONFIG.page = {
|
||||||
|
sidebar: "",
|
||||||
|
isHome: true,
|
||||||
|
isPost: false,
|
||||||
|
isPage: false,
|
||||||
|
isArchive: false
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<title>Hu Yu's Personal Blog</title>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<noscript>
|
||||||
|
<style>
|
||||||
|
.use-motion .brand,
|
||||||
|
.use-motion .menu-item,
|
||||||
|
.sidebar-inner,
|
||||||
|
.use-motion .post-block,
|
||||||
|
.use-motion .pagination,
|
||||||
|
.use-motion .comments,
|
||||||
|
.use-motion .post-header,
|
||||||
|
.use-motion .post-body,
|
||||||
|
.use-motion .collection-header { opacity: initial; }
|
||||||
|
|
||||||
|
.use-motion .logo,
|
||||||
|
.use-motion .site-title,
|
||||||
|
.use-motion .site-subtitle {
|
||||||
|
opacity: initial;
|
||||||
|
top: initial;
|
||||||
|
}
|
||||||
|
|
||||||
|
.use-motion .logo-line-before i { left: initial; }
|
||||||
|
.use-motion .logo-line-after i { right: initial; }
|
||||||
|
</style>
|
||||||
|
</noscript>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body itemscope itemtype="http://schema.org/WebPage">
|
||||||
|
<div class="container use-motion">
|
||||||
|
<div class="headband"></div>
|
||||||
|
|
||||||
|
<header id="header" class="header" itemscope itemtype="http://schema.org/WPHeader">
|
||||||
|
<div class="header-inner"><div class="site-brand-container">
|
||||||
|
<div class="site-meta">
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<a href="/" class="brand" rel="start">
|
||||||
|
<span class="logo-line-before"><i></i></span>
|
||||||
|
<span class="site-title">Hu Yu's Personal Blog</span>
|
||||||
|
<span class="logo-line-after"><i></i></span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<p class="site-subtitle">Technical Articles about Computing and Software.</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="site-nav-toggle">
|
||||||
|
<div class="toggle" aria-label="Toggle navigation bar">
|
||||||
|
<span class="toggle-line toggle-line-first"></span>
|
||||||
|
<span class="toggle-line toggle-line-middle"></span>
|
||||||
|
<span class="toggle-line toggle-line-last"></span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<nav class="site-nav">
|
||||||
|
|
||||||
|
<ul id="menu" class="menu">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<li class="menu-item menu-item-home">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="/" rel="section"><i class="fa fa-fw fa-home"></i>Home</a>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<li class="menu-item menu-item-archives">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="/archives/" rel="section"><i class="fa fa-fw fa-archive"></i>Archives</a>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="back-to-top">
|
||||||
|
<i class="fa fa-arrow-up"></i>
|
||||||
|
<span>0%</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<main id="main" class="main">
|
||||||
|
<div class="main-inner">
|
||||||
|
<div class="content-wrap">
|
||||||
|
|
||||||
|
|
||||||
|
<div id="content" class="content">
|
||||||
|
|
||||||
|
|
||||||
|
<div class="posts-expand">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<article itemscope itemtype="http://schema.org/Article" class="post-block home" lang="en">
|
||||||
|
<link itemprop="mainEntityOfPage" href="http://saturneric.cn/2019/10/09/NaoVision-General-Introduction/">
|
||||||
|
|
||||||
|
<span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
|
||||||
|
<meta itemprop="name" content="Hu Yu">
|
||||||
|
<meta itemprop="description" content="">
|
||||||
|
<meta itemprop="image" content="/images/avatar.gif">
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
|
||||||
|
<meta itemprop="name" content="Hu Yu's Personal Blog">
|
||||||
|
</span>
|
||||||
|
<header class="post-header">
|
||||||
|
<h1 class="post-title" itemprop="name headline">
|
||||||
|
|
||||||
|
<a href="/2019/10/09/NaoVision-General-Introduction/" class="post-title-link" itemprop="url">NaoVision</a>
|
||||||
|
|
||||||
|
</h1>
|
||||||
|
|
||||||
|
<div class="post-meta">
|
||||||
|
<span class="post-meta-item">
|
||||||
|
<span class="post-meta-item-icon">
|
||||||
|
<i class="fa fa-calendar-o"></i>
|
||||||
|
</span>
|
||||||
|
<span class="post-meta-item-text">Posted on</span>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<time title="Created: 2019-10-09 23:22:44" itemprop="dateCreated datePublished" datetime="2019-10-09T23:22:44+08:00">2019-10-09</time>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<span class="post-meta-item">
|
||||||
|
<span class="post-meta-item-icon">
|
||||||
|
<i class="fa fa-calendar-check-o"></i>
|
||||||
|
</span>
|
||||||
|
<span class="post-meta-item-text">Edited on</span>
|
||||||
|
<time title="Modified: 2019-10-25 14:35:45" itemprop="dateModified" datetime="2019-10-25T14:35:45+08:00">2019-10-25</time>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="post-body" itemprop="articleBody">
|
||||||
|
|
||||||
|
|
||||||
|
<h1 id="NaoVision-Concise-Document"><a href="#NaoVision-Concise-Document" class="headerlink" title="NaoVision Concise Document"></a>NaoVision Concise Document</h1><h2 id="Project-Summary"><a href="#Project-Summary" class="headerlink" title="Project Summary"></a>Project Summary</h2><h3 id="Introduction"><a href="#Introduction" class="headerlink" title="Introduction"></a>Introduction</h3><p>NaoVision is a dedicated NAO group of dedicated vision method solutions for NAO robots in the RoboCup competition. NaoVision was written in C++ and is designed to solve the problem that NAO robots in the Bhuman system under the original fixed threshold scheme for the color discrimination of the field is easily interfered by light and other factors, resulting in the actual game NAO robot for the objects in the field (especially football) The identification is not fast enough and accurate.</p>
|
||||||
|
<p>Correspondingly, for the judgment of the football field, NaoVision adopts the OTSU algorithm to realize the automatic adjustment of the image processing threshold, and is able to correctly identify and mark the field pixels in most cases without being affected by the light shadow.</p>
|
||||||
|
<p>Based on the color discrimination of the site, NaoVision creates a scan line in the picture. The boundary between the site and the non-site is determined by sampling and scanning the pixels where the scan line is located. The picture is then divided into part and non-site parts by connecting between the demarcation points.</p>
|
||||||
|
<p>In general, in order to reduce the computational overhead, NaoVision only calculates the picture pixels belonging to the site part. After determining the calculation range, NaoVison will create smaller scan lines within the calculation range for more detailed scanning and detection of objects within the calculation range.</p>
|
||||||
|
<p>Then, NaoVision limited the detection of circular objects in the field. The program will perform a uniform skip scan on the scan line. After detecting pixels that do not belong to the field within the calculation range, three non-collinear points are randomly selected around the pixel. Based on these three points, the scanning is performed in eight directions, and it is known that the pixels of the field are detected and returned. Then judge whether the 24 effective points are on a circle, and simultaneously calculate the center coordinates of the circle and its radius. After the circle is added to the candidate queue, the program will continue to scan the rest of the calculation area.</p>
|
||||||
|
<p>(To be continued)</p>
|
||||||
|
<h3 id="Main-Component"><a href="#Main-Component" class="headerlink" title="Main Component"></a>Main Component</h3><p>Under NaoVision’s solution (developed with Visual Studio 2019), there is</p>
|
||||||
|
<ul>
|
||||||
|
<li><strong>NAOFastTools</strong> Core Toolset</li>
|
||||||
|
<li><strong>NFTCommandLineTools</strong> Common Command Line Tools</li>
|
||||||
|
<li><strong>NFTDeamon</strong> Daemon</li>
|
||||||
|
<li><strong>NFTGUI</strong> Debugging Interface</li>
|
||||||
|
<li><strong>NFTTest</strong> OpenCV Docking Toolset</li>
|
||||||
|
<li><strong>UnitTest</strong> Unit Test Project</li>
|
||||||
|
</ul>
|
||||||
|
<h3 id="Brief-Process-Introduction"><a href="#Brief-Process-Introduction" class="headerlink" title="Brief Process Introduction"></a>Brief Process Introduction</h3><p>Problem Description: Due to various problems with the direct embedding scheme of NFT and BHuman, this project intends to adopt the independent process with BHuman.</p>
|
||||||
|
<p>In the actual game process, the <strong>NAOFastTools Framework</strong> is driven by the <strong>NFTDeamon</strong>, running in parallel with Nao qi and BHuman in the NAO robot system. <strong>NFTDeamon</strong> communicates with BHuman by sharing memory. Camera data is obtained from BHuman. After calculation, visual correction information is transmitted to BHuman. In the usual debugging process, you can use the <strong>NFTCommandLineTools ** or **NFTGUI Debug Interface</strong> to establish a connection with the <strong>NFTDeamon</strong> to monitor and adjust the <strong>NAOFastTools Framework</strong> or *<em>BHuman *</em> Operating status and related parameters.</p>
|
||||||
|
<p>(To be continued)</p>
|
||||||
|
<h4 id="Introduction-To-Each-Component"><a href="#Introduction-To-Each-Component" class="headerlink" title="Introduction To Each Component"></a>Introduction To Each Component</h4><h5 id="1-NAOFastTools-Core-Toolset"><a href="#1-NAOFastTools-Core-Toolset" class="headerlink" title="1. NAOFastTools Core Toolset"></a>1. NAOFastTools Core Toolset</h5><p>The core framework for image processing and storage of the solution and the corresponding graphics processing module stored in the NAOFastTools Core Tools Group (hereinafter referred to as NFT) is the core project of the solution. The project follows the C++14 standard, and a small portion of the code contains C++14 features (the system with BHuman2018 has libstdc++.so that supports C++14). NFT eventually generates a static link library (NAOFastTools.lib and NAOFastTools.a) that corresponds to Windows and Linux. NFT works by linking with other programs. In addition to compiling in the VS environment, the NFT framework can also be compiled in a Linux environment, provided that the clang, make, and cmake tools are properly installed. The following is an extremely simple introduction to several of the most important common classes and functions in the NFT (including not limited to the following) (the actual use requires code understanding).</p>
|
||||||
|
<p>OperaMatrix is a proxy class that is a layer of proxy access to the Matrix class of the Eigen linear algebra library. In addition to providing proxy access services, it also provides a smart pointer service that automatically creates and releases Matrix objects based on reference counts. One or more OperaMatrix corresponds to a Matrix object. OperaMatrix objects provide a variety of constructors to meet the needs of users in most situations. The elements in OperaMatrix are stored in memory in a column-first manner, and the user can directly get a pointer to the first element of the matrix via the getData() interface. The number of rows and columns of the matrix corresponding to OperaMatrix can be obtained using getRows() and getCols().</p>
|
||||||
|
<p>The Image class is a storage vector for images that contains one or more OpreaMatrix objects, corresponding to multiple channels of the image. An OperaMatrix stores pixel data for a corresponding channel. Normally, the type of pixel data (PIXEL_TYPE) is defined in NFT.h. The number of channels in an image can be obtained using the getColumns() method, and a reference to a channel can be obtained directly using the [] operator. The height and width of the image are obtained using the getHeight() and getWidth() methods.</p>
|
||||||
|
<p>The ImageYUV422 class inherits from the Image class, which provides storage for the compressed color space YUV422. Need to note that it has one and only one channel. In a specific memory implementation, it compresses the pixel data of three channels into one channel for storage. If you need to get the Y, Cr, and Cb values of a pixel, you can call getY(int, int), getCr(int, int), getCb(int, int) to access it. Further, if it is necessary to modify the Y, Cr, and Cb values of a certain pixel in the picture, the corresponding setter is called and the coordinate parameters of the pixel are provided.</p>
|
||||||
|
<p>The ImageColored class inherits from the ImageYUV422 class and has one and only one channel. It mainly provides a single-channel image storage function and is a storage carrier for the output of the site color discrimination module. It is also a storage carrier for input data for many other vision modules. It disables all of the features of the ImageYUV422 parent class that have operations on the YUV color space.</p>
|
||||||
|
<p>The ImageSaver class is a storage service class for the Image class. It can store the data in the Image object correctly in a file on a Windows or Linux system (.nftd suffix). It can also build the corresponding Image object by reading the file in .nftd format.</p>
|
||||||
|
<p>(To be continued)</p>
|
||||||
|
<h5 id="2-NFTGUI-Debugging-Interface"><a href="#2-NFTGUI-Debugging-Interface" class="headerlink" title="2. NFTGUI Debugging Interface"></a>2. NFTGUI Debugging Interface</h5><p>The NFTGUI debugging interface is based on Qt5. It is a visual debugging interface for NAOFastTools. It can output intermediate results and internal related parameters for processing each graphics processing module.</p>
|
||||||
|
<p>(To be continued)</p>
|
||||||
|
<h5 id="3-NFTTest-Opencv-Docking-Toolset"><a href="#3-NFTTest-Opencv-Docking-Toolset" class="headerlink" title="3.NFTTest Opencv Docking Toolset"></a>3.NFTTest Opencv Docking Toolset</h5><p>The NFTTest Opencv Docking Toolset is a bridge between the NaoVision framework and the OpenCV framework. It provides a conversion function between the main data structures between the two frameworks. In addition, the project is also used for the most basic debugging information output during the development process. .</p>
|
||||||
|
<p>(To be continued)</p>
|
||||||
|
<h5 id="4-UnitTest"><a href="#4-UnitTest" class="headerlink" title="4.UnitTest"></a>4.UnitTest</h5><p>Based on the Google Test test framework, the unit test code of the core framework in NAOFastTools is stored. This code will ensure that the core framework can run efficiently and accurately, and it is convenient to discover the loopholes in the framework in time.</p>
|
||||||
|
<p>(To be continued)</p>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<footer class="post-footer">
|
||||||
|
<div class="post-eof"></div>
|
||||||
|
|
||||||
|
</footer>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<article itemscope itemtype="http://schema.org/Article" class="post-block home" lang="en">
|
||||||
|
<link itemprop="mainEntityOfPage" href="http://saturneric.cn/2017/05/20/Next-Plan/">
|
||||||
|
|
||||||
|
<span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
|
||||||
|
<meta itemprop="name" content="Hu Yu">
|
||||||
|
<meta itemprop="description" content="">
|
||||||
|
<meta itemprop="image" content="/images/avatar.gif">
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
|
||||||
|
<meta itemprop="name" content="Hu Yu's Personal Blog">
|
||||||
|
</span>
|
||||||
|
<header class="post-header">
|
||||||
|
<h1 class="post-title" itemprop="name headline">
|
||||||
|
|
||||||
|
<a href="/2017/05/20/Next-Plan/" class="post-title-link" itemprop="url">Next Plan</a>
|
||||||
|
|
||||||
|
</h1>
|
||||||
|
|
||||||
|
<div class="post-meta">
|
||||||
|
<span class="post-meta-item">
|
||||||
|
<span class="post-meta-item-icon">
|
||||||
|
<i class="fa fa-calendar-o"></i>
|
||||||
|
</span>
|
||||||
|
<span class="post-meta-item-text">Posted on</span>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<time title="Created: 2017-05-20 21:22:00" itemprop="dateCreated datePublished" datetime="2017-05-20T21:22:00+08:00">2017-05-20</time>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<span class="post-meta-item">
|
||||||
|
<span class="post-meta-item-icon">
|
||||||
|
<i class="fa fa-calendar-check-o"></i>
|
||||||
|
</span>
|
||||||
|
<span class="post-meta-item-text">Edited on</span>
|
||||||
|
<time title="Modified: 2019-10-25 15:46:46" itemprop="dateModified" datetime="2019-10-25T15:46:46+08:00">2019-10-25</time>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="post-body" itemprop="articleBody">
|
||||||
|
|
||||||
|
|
||||||
|
<h1 id="Next-Plan"><a href="#Next-Plan" class="headerlink" title="Next Plan"></a>Next Plan</h1><p>I have to admit that last year(2016-2017) was a year of depression, whether it was in life, in learning, or in spirit. Seeing and moving away from my goal, I am unable to change this situation.</p>
|
||||||
|
<p>However, it is different now. After experiencing all kinds of difficult situations, I finally found a new way of thinking about problems in the difficult ones, and found myself for the first time. After solving a series of problems, internal worries tend to collapse. I feel that I can finally concentrate all my abilities without being subject to myself.</p>
|
||||||
|
<p>I have found the answer that I need to find. At this time, I feel quiet inside. It’s time to start running. Learning to run, I will never be a person who is tortured by my own heart and then crawls and competes with others. After I learned to run, those who were surpassed by me could no longer catch up with me.</p>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<footer class="post-footer">
|
||||||
|
<div class="post-eof"></div>
|
||||||
|
|
||||||
|
</footer>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<article itemscope itemtype="http://schema.org/Article" class="post-block home" lang="en">
|
||||||
|
<link itemprop="mainEntityOfPage" href="http://saturneric.cn/2017/05/14/Talk-about-something-about-anti-metamorphism/">
|
||||||
|
|
||||||
|
<span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
|
||||||
|
<meta itemprop="name" content="Hu Yu">
|
||||||
|
<meta itemprop="description" content="">
|
||||||
|
<meta itemprop="image" content="/images/avatar.gif">
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
|
||||||
|
<meta itemprop="name" content="Hu Yu's Personal Blog">
|
||||||
|
</span>
|
||||||
|
<header class="post-header">
|
||||||
|
<h1 class="post-title" itemprop="name headline">
|
||||||
|
|
||||||
|
<a href="/2017/05/14/Talk-about-something-about-anti-metamorphism/" class="post-title-link" itemprop="url">Talk about something about anti-metamorphism</a>
|
||||||
|
|
||||||
|
</h1>
|
||||||
|
|
||||||
|
<div class="post-meta">
|
||||||
|
<span class="post-meta-item">
|
||||||
|
<span class="post-meta-item-icon">
|
||||||
|
<i class="fa fa-calendar-o"></i>
|
||||||
|
</span>
|
||||||
|
<span class="post-meta-item-text">Posted on</span>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<time title="Created: 2017-05-14 12:09:00" itemprop="dateCreated datePublished" datetime="2017-05-14T12:09:00+08:00">2017-05-14</time>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<span class="post-meta-item">
|
||||||
|
<span class="post-meta-item-icon">
|
||||||
|
<i class="fa fa-calendar-check-o"></i>
|
||||||
|
</span>
|
||||||
|
<span class="post-meta-item-text">Edited on</span>
|
||||||
|
<time title="Modified: 2019-10-25 15:14:02" itemprop="dateModified" datetime="2019-10-25T15:14:02+08:00">2019-10-25</time>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="post-body" itemprop="articleBody">
|
||||||
|
|
||||||
|
|
||||||
|
<h1 id="Talk-about-something-about-Anti-Metamorphism"><a href="#Talk-about-something-about-Anti-Metamorphism" class="headerlink" title="Talk about something about Anti-Metamorphism"></a>Talk about something about Anti-Metamorphism</h1><p>Although quantitative change is a necessary preparation for qualitative change. However, in some specific cases, the accumulation of quantitative changes will result in anti-metamorphism due to the occurrence of emergencies. This anti-metamorphism is powerful, very fast, and almost irreversible. The deeper the amount of accumulation, the more fierce the anti-quality changes. The anti-metamorphic condition is not only the superficial cause of an emergency. Suddenly triggering this event, the suspicion caused by the large amount of quantitative accumulation and the lack of specific information on the internal changes of the quantitative change eventually led to the occurrence of anti-metamorphism. After the anti-metamorphism occurs, on the surface, in the eyes of others, the external manifestation of the self may not change, but the self’s perception of things has rapidly changed radically. The impact of this anti-quality change on the thoughts of the self is very large, and it will have a huge impact on the physiological psychology of the self in the time. In the future, although the quantitative change is still likely to continue to accumulate, the anti-quality change is irreversible for the change of the self.</p>
|
||||||
|
<p>For example, I think a person can believe it, so I don’t think I need to know more about this person’s specific thinking. The reality of the performance has gradually confirmed my intuition, I continue to believe this person, the trust is gradually deepening. In this way, my trust in this person is like operating a black box. I don’t know the internal operation and I know that this person is trustworthy. Such trust is to a great extent, but it is also extremely sensitive. Therefore, once there has been a breach of trust, no matter whether the person is really untrustworthy or not, the incident is small, as long as I observe the performance of the incident from my point of view, and then I unilaterally judge that this is likely to be a breach of confidence. After that, anti-quality changes have taken place. The behavior of this person first impacted my body and mind, directly causing me to feel cheated. Then, my opinion on this person has also changed radically, although on the surface I still smile at this person. Whether the performance of this person in the future is still trustworthy is of little effect on this anti-metamorphism. When I still want to think that I can believe this person, this anti-quality effect will inevitably form a strong resistance.</p>
|
||||||
|
<p>Therefore, we should cherish when we receive trust from others without guessing, because this trust is very deep and extremely sensitive. Although I think that the behavior is theoretically understandable, it is not the case for the other party. In the event of an emergency, this trust will undergo an irreversible change.</p>
|
||||||
|
<p>This process is still true for other identical or similar conditions.</p>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<footer class="post-footer">
|
||||||
|
<div class="post-eof"></div>
|
||||||
|
|
||||||
|
</footer>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<article itemscope itemtype="http://schema.org/Article" class="post-block home" lang="en">
|
||||||
|
<link itemprop="mainEntityOfPage" href="http://saturneric.cn/2017/05/14/God-Engine-Conception/">
|
||||||
|
|
||||||
|
<span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
|
||||||
|
<meta itemprop="name" content="Hu Yu">
|
||||||
|
<meta itemprop="description" content="">
|
||||||
|
<meta itemprop="image" content="/images/avatar.gif">
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
|
||||||
|
<meta itemprop="name" content="Hu Yu's Personal Blog">
|
||||||
|
</span>
|
||||||
|
<header class="post-header">
|
||||||
|
<h1 class="post-title" itemprop="name headline">
|
||||||
|
|
||||||
|
<a href="/2017/05/14/God-Engine-Conception/" class="post-title-link" itemprop="url">God Engine Conception</a>
|
||||||
|
|
||||||
|
</h1>
|
||||||
|
|
||||||
|
<div class="post-meta">
|
||||||
|
<span class="post-meta-item">
|
||||||
|
<span class="post-meta-item-icon">
|
||||||
|
<i class="fa fa-calendar-o"></i>
|
||||||
|
</span>
|
||||||
|
<span class="post-meta-item-text">Posted on</span>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<time title="Created: 2017-05-14 12:07:00" itemprop="dateCreated datePublished" datetime="2017-05-14T12:07:00+08:00">2017-05-14</time>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<span class="post-meta-item">
|
||||||
|
<span class="post-meta-item-icon">
|
||||||
|
<i class="fa fa-calendar-check-o"></i>
|
||||||
|
</span>
|
||||||
|
<span class="post-meta-item-text">Edited on</span>
|
||||||
|
<time title="Modified: 2019-10-25 14:59:33" itemprop="dateModified" datetime="2019-10-25T14:59:33+08:00">2019-10-25</time>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="post-body" itemprop="articleBody">
|
||||||
|
|
||||||
|
|
||||||
|
<h1 id="God-Engine-Brief-Conception"><a href="#God-Engine-Brief-Conception" class="headerlink" title="God Engine Brief Conception"></a>God Engine Brief Conception</h1><h2 id="Overview"><a href="#Overview" class="headerlink" title="Overview"></a>Overview</h2><p><strong>God Engine</strong> is a simulation engine with atomic microscopic model macro-intelligence multi-space temporal asynchronous computing. The underlying layer communicates directly with the hardware, which communicates with other applications over the network. Through the definition of the standard mathematical physics of the basic universe model, coupled with the cosmological model plug-in, according to the timeline, detailed analysis of the relationship between the objects is provided, thus providing reliable relationship between objects and reliable macroscopic properties of the object group. . By establishing a connection between the object groups and providing a basic model, the engine will gradually build a large and complex object group based on this information, and the engine will perform atomic and microscopic relationship analysis between the object groups to obtain a larger The stable macroscopic nature of the object group. These preliminary and reliable models will be stored in the database to provide a basis for the analysis of other models. In the end, the engine draws the final stable model that the user wants, and then it will perform the final analysis and screening of the historical information to obtain a detailed definition and logical description of the model to provide a reliable finished model for human society.</p>
|
||||||
|
<h3 id="Logical-component"><a href="#Logical-component" class="headerlink" title="Logical component"></a>Logical component</h3><ol>
|
||||||
|
<li>*<em>Mathematical operation module: *</em> Provide mathematical operation support for the engine and handle various mathematical atomic operations.</li>
|
||||||
|
<li><strong>Logic operation module:</strong> Provides logical operation support for the engine and handles various logical atomic operations.</li>
|
||||||
|
<li><strong>Mathematical controller:</strong> transforms complex mathematical and logical problems into atomic operations, and coordinates the work of mathematical operations modules and logic computing modules.</li>
|
||||||
|
<li><strong>Space controller:</strong> manages the space of a specific association used in the engine instance, defines the space attribute, coordinates the operation resource occupancy in the space, collects the information generated in the model controller, and aggregates it into primary information.</li>
|
||||||
|
<li><strong>Model controller:</strong> A model that defines a specific association in space, handles the interactions between the models, collects the original information generated by the model, and performs initial collation.</li>
|
||||||
|
<li><strong>Timeline controller:</strong> Each space corresponds to a unique timeline controller that coordinates the order within the space, controls and records the space simulation process.<br>Information processing module: with information screening, analysis, generalization, and finishing capabilities. Process the primary information submitted by each space controller, generate valid information, and archive it into the instance database.</li>
|
||||||
|
<li><strong>Instance database:</strong> The basic information of the stored instance, and the original information generated, valid information, and final information.</li>
|
||||||
|
<li><strong>Information induction module:</strong> According to various valid information stored in the database, analyze and summarize, summarize the final information, and store it in the instance database.</li>
|
||||||
|
<li><strong>The example guidance module:</strong> based on the final information in the database, performs the final analysis, and adjusts the example simulation process according to the analysis, so that the simulation process develops toward the final result.</li>
|
||||||
|
</ol>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<footer class="post-footer">
|
||||||
|
<div class="post-eof"></div>
|
||||||
|
|
||||||
|
</footer>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<article itemscope itemtype="http://schema.org/Article" class="post-block home" lang="en">
|
||||||
|
<link itemprop="mainEntityOfPage" href="http://saturneric.cn/2017/05/14/Methods-to-solve-problem/">
|
||||||
|
|
||||||
|
<span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
|
||||||
|
<meta itemprop="name" content="Hu Yu">
|
||||||
|
<meta itemprop="description" content="">
|
||||||
|
<meta itemprop="image" content="/images/avatar.gif">
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
|
||||||
|
<meta itemprop="name" content="Hu Yu's Personal Blog">
|
||||||
|
</span>
|
||||||
|
<header class="post-header">
|
||||||
|
<h1 class="post-title" itemprop="name headline">
|
||||||
|
|
||||||
|
<a href="/2017/05/14/Methods-to-solve-problem/" class="post-title-link" itemprop="url">Methods to solve problem</a>
|
||||||
|
|
||||||
|
</h1>
|
||||||
|
|
||||||
|
<div class="post-meta">
|
||||||
|
<span class="post-meta-item">
|
||||||
|
<span class="post-meta-item-icon">
|
||||||
|
<i class="fa fa-calendar-o"></i>
|
||||||
|
</span>
|
||||||
|
<span class="post-meta-item-text">Posted on</span>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<time title="Created: 2017-05-14 11:08:30" itemprop="dateCreated datePublished" datetime="2017-05-14T11:08:30+08:00">2017-05-14</time>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<span class="post-meta-item">
|
||||||
|
<span class="post-meta-item-icon">
|
||||||
|
<i class="fa fa-calendar-check-o"></i>
|
||||||
|
</span>
|
||||||
|
<span class="post-meta-item-text">Edited on</span>
|
||||||
|
<time title="Modified: 2019-10-25 15:25:21" itemprop="dateModified" datetime="2019-10-25T15:25:21+08:00">2019-10-25</time>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="post-body" itemprop="articleBody">
|
||||||
|
|
||||||
|
|
||||||
|
<h1 id="Methods-to-Solve-Problem"><a href="#Methods-to-Solve-Problem" class="headerlink" title="Methods to Solve Problem"></a>Methods to Solve Problem</h1><p>In real life, I have encountered many challenges. When the problem first appeared, I was often surprised and confused. But in calming down the initial analysis of the problem, I tried to analyze the problem from the original system. For general problems, it can be alleviated within the original system. However, sometimes the problem is precisely at the root of the system. When I tried many times to solve the problem in the system, the previous one I thought was to strengthen the original system and let the original system overclock to get the relief of the problem. But in practice, the problem caused by the system itself is that such an approach is inefficient and impossible to solve such a problem. Often, such a solution will lead to deeper and deeper within the original system and eventually die within the original system.</p>
|
||||||
|
<p>For learning, I have never worried about my original study habits. However, in the face of a big slip, I think this is a personal problem, simply ignore it. However, the slip is getting bigger and bigger and deeper. At this time, I feel that I encountered such a big challenge for the first time. At first, I felt dizzy and felt that it was ridiculous. In the initial attempt, I tried to strengthen the original learning system and overclock the original learning system. However, I found that this did not have a big effect. After the next downturn, I have almost no way to deal with it.</p>
|
||||||
|
<p>However, the problems that arise will not disappear in the future and it must be resolved. The ultimate way to overcome the fear of solving this problem is to stand up straight and then face the fear and the problem.</p>
|
||||||
|
<p>After the recent blow to my fate, I finally challenged my learning system. Just as quantum theory is to be reborn, the old causal theory must die. Also according to Marxist philosophy, the future of things is bright and the road is tortuous. I carefully analyzed the reason for this slip, and I used to blame my own carelessness, which is the reason for luck. However, several slips clearly told me that this is by no means simple and careless.</p>
|
||||||
|
<p>There is a bigger reason for this, which is the basic problem that I did not dare to face before. My intelligence is by no means a problem. This is what I am convinced. However, the basic problems have been revealed more than once since the beginning of the small period. It’s just not too obvious, I can’t get my attention. It can also be said that my intelligence masks the lack of my foundation.</p>
|
||||||
|
<p>Once, I told my junior high school information teacher about my carelessness in mathematics. He said that behind many carelessness may be my basic problem. This reminded me for the first time, but I didn’t pay much attention. There is no current ability to analyze problems.</p>
|
||||||
|
<p>But in high school, at least for now, this problem has been exposed, and it has fully shown its face. In high school, the comprehensiveness of the test questions has not been the same as that of junior high school. This is a serious test for my foundation. In high school, intelligence has been unable to cover up the serious lack of foundation.</p>
|
||||||
|
<p>What is the foundation is the rigor of the solution to the problem, the rigor of the problem-solving operation, and the mastery of simple basic knowledge. Now, I can say without a word that my foundation does have a big problem. This is something I never dared to face before.</p>
|
||||||
|
<p>For example, my scientific notation, unit conversion, the concept of basic physical units, mathematical division, etc. have relatively large problems. In the past, I did not consider some subtleties in solving problems. For example, can this take zero, which has no meaning. Especially the basic knowledge, concepts and the like, I have never bothered. I scorned these questions because they were covered up by me at the time. To think of the idea is king, and it will be king. It seems that this is wrong now.</p>
|
||||||
|
<p>The lack of learning system has really reminded me that to solve the problem fundamentally, I can only return to the basics and return to what I despise. Despising these things, I paid a heavy price. This also reflects the problem of the method of analyzing my problem. In the face of the problem, there is no careful analysis. I dare not analyze from the fundamentals of the system.</p>
|
||||||
|
<p>I now know that the analysis of the problem is not just a matter of encounter. Be sure to find the reason behind it, and always maintain a critical state for your own state. This also shows that setbacks are the best chance to expose problems. In the setbacks, my psychological endurance has been greatly improved.</p>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<footer class="post-footer">
|
||||||
|
<div class="post-eof"></div>
|
||||||
|
|
||||||
|
</footer>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<article itemscope itemtype="http://schema.org/Article" class="post-block home" lang="en">
|
||||||
|
<link itemprop="mainEntityOfPage" href="http://saturneric.cn/2016/10/20/My-thoughts-on-the-Internet-of-Things2/">
|
||||||
|
|
||||||
|
<span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
|
||||||
|
<meta itemprop="name" content="Hu Yu">
|
||||||
|
<meta itemprop="description" content="">
|
||||||
|
<meta itemprop="image" content="/images/avatar.gif">
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
|
||||||
|
<meta itemprop="name" content="Hu Yu's Personal Blog">
|
||||||
|
</span>
|
||||||
|
<header class="post-header">
|
||||||
|
<h1 class="post-title" itemprop="name headline">
|
||||||
|
|
||||||
|
<a href="/2016/10/20/My-thoughts-on-the-Internet-of-Things2/" class="post-title-link" itemprop="url">My thoughts on the Internet of Things2</a>
|
||||||
|
|
||||||
|
</h1>
|
||||||
|
|
||||||
|
<div class="post-meta">
|
||||||
|
<span class="post-meta-item">
|
||||||
|
<span class="post-meta-item-icon">
|
||||||
|
<i class="fa fa-calendar-o"></i>
|
||||||
|
</span>
|
||||||
|
<span class="post-meta-item-text">Posted on</span>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<time title="Created: 2016-10-20 21:59:00" itemprop="dateCreated datePublished" datetime="2016-10-20T21:59:00+08:00">2016-10-20</time>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<span class="post-meta-item">
|
||||||
|
<span class="post-meta-item-icon">
|
||||||
|
<i class="fa fa-calendar-check-o"></i>
|
||||||
|
</span>
|
||||||
|
<span class="post-meta-item-text">Edited on</span>
|
||||||
|
<time title="Modified: 2019-10-25 15:00:23" itemprop="dateModified" datetime="2019-10-25T15:00:23+08:00">2019-10-25</time>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="post-body" itemprop="articleBody">
|
||||||
|
|
||||||
|
|
||||||
|
<h1 id="My-thoughts-on-the-IoT-2"><a href="#My-thoughts-on-the-IoT-2" class="headerlink" title="My thoughts on the IoT 2"></a>My thoughts on the IoT 2</h1><p>The previous article roughly talked about the germination of the idea of decentralization of the Internet of Things in my mind. This week I further thought about the germination of my heart. Now, I mainly want to elaborate on the conceptual framework in my mind. There may be some omissions and hopes.</p>
|
||||||
|
<h2 id="Overview"><a href="#Overview" class="headerlink" title="Overview"></a>Overview</h2><p>This article mainly summarizes my decentralized view of the Internet of Things and the main organizational form of the public network of the Internet of Things after decentralization. For everyone’s easy acceptance, don’t be bothered by the boring logical thinking in my mind. I gave some examples to illustrate. This has lost some professionalism and hopes for understanding.</p>
|
||||||
|
<h2 id="Thoughts"><a href="#Thoughts" class="headerlink" title="Thoughts"></a>Thoughts</h2><p>In my vision, the objects connected to the Internet of Things are equal. They all have their own functions, such as boiling water, cooking rice, making yogurt (maybe I am a little hungry now), of course, this object may also be a robot. If engineers want to connect them to the Internet of Things, they don’t have to develop them from scratch. They just need to add off-the-shelf IoT terminal modules to their appliances (objects) and then operate the module according to a standardized protocol. It can be said that as long as the IoT module is added, this lonely object can use it to talk to other objects that own this module. Because of the unified protocol, they can understand each other’s words, and can easily communicate with other objects to obtain the necessary information, thus saving a lot of trouble. And the Internet of Things module will also provide Internet access to facilitate the acquisition of information by objects. For detailed instructions on how to get information, how to know what information other objects provide, will be discussed in a future article.</p>
|
||||||
|
<p>Now that this talking object wants to talk to many objects, like humans, they also form a network of relationships to facilitate the exchange of information. The relational network is divided into a public relationship network and a private relationship network. In public relations networks, objects that access this network should follow a common password (the password, see in later articles), and objects can exchange information widely. Because public network access does not require strict security checks like private networks and does not use packets encrypted with private passwords, it can be seen that access to public networks is very convenient, so public networks will become very large. Objects with public service functions are generally connected to the network, such as traffic lights, automatic weather stations, public service robots, buses, etc., so there are many types of information that objects can obtain. For example, my bus stop can be connected to the public network, and it is convenient to obtain weather information from the nearest automatic weather station through the public network, adjust itself within the scope of its existing functions, and provide passengers with more comfortable and environmentally friendly. Car plan. If there are too many passengers in this bus stop and it is raining, the passengers will be sheltered from the rain. The platform can also communicate with the mobile phone that is connected to the public network nearby, telling the person who is using the mobile phone. There are too many people at this station. Come again. When people, people who use mobile phones can also use the contact station to get the information they need. All communication is mainly done by wireless. It is very convenient. The platform has doubts: the coverage of the wireless network is so large. How can I contact people who are several kilometers away? Could it be that I am not equipped with a high-power transmitter? In fact, this is ok, but I have a better solution. In my vision, an object connected to the Internet of Things has to be obligated to have benefits. When the station sends out its information, the object that is connected to the Internet of Things close to him will receive the message. They need to be responsible for forwarding this message and propagating it to other objects in their vicinity. If there are enough objects in the net, the message can be communicated to a farther place. However, this method can not solve all problems. In order to transmit information in time, the platform can directly connect the Internet of Things module to the Internet and tell other objects through the Internet. In fact, in the absence of a way, for example, at the edge of the object, the object can also be wired communication, satellite communication and other means. It’s just that the price will be even greater. It can be said that the communication method of the Internet of Things is very flexible and has the ability to timely convey the information obtained. What’s more, every object in the public network has its own unique code, which is specified at birth, so that objects in the public network can be located to find a certain object. In addition to its own unique code, the object has an identifier called a function identifier. Why do you have this logo? Because other objects are communicating with this object, you need to know what the object is doing.</p>
|
||||||
|
<p>Let’s take a comprehensive example. For example, a newly bought rice cooker that can talk (connected to the Internet of Things) is unfamiliar and wants to know what can be done by objects next to me. I can let them show their own feature logo, then the rice cooker knows that the benevolent man next to him is a socket and the other is a refrigerator. Obviously, the rice cooker is very interested in the refrigerator. Since he knows that he is a refrigerator, the rice cooker can talk to the refrigerator with his own words. He got the food stored in the refrigerator from the refrigerator, as well as their freshness, price and so on. It looked for ways the engineer told him to go online, and then told the IoT module to use the Internet to find out what to do with the things in those refrigerators. The Internet told him that pork ribs, red rice porridge, mung bean porridge (now I am so hungry) are good. Then he asks himself again, the owner generally likes to eat 啥, from the owner’s mobile phone, the owner is a Jiangxi person, ask the Internet, what Jiangxi people like to eat. Big data, as well as his own intuition (artificial intelligence), told him that ribs and lean meat porridge are good. Then he told the owner’s mobile phone (known with the function logo), recommend the pork porridge to the owner as the breakfast for tomorrow. Ten minutes later, the owner approved its recommendation via mobile phone. At the appropriate time, he told the robots at home to take out the raw materials in the refrigerator, wash the vegetables through the washing machine, wash the rice in the rice machine, cook the meat, and cook the meat in person. The joint efforts of ribs and lean porridge will be done. Waiting for the table, the owner finished eating. The task of the first day of the rice cooker is over. This time he met many partners, thanks to the Internet of Things.</p>
|
||||||
|
<p>Of course, if the information exchanged by these objects is through the public relations network, it is equivalent to revealing the information of their own home. This is of course not allowed, so we have a private network to protect the privacy and security of our users. I wrote it here first. The next article will detail how the private relationship network works.</p>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<footer class="post-footer">
|
||||||
|
<div class="post-eof"></div>
|
||||||
|
|
||||||
|
</footer>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<article itemscope itemtype="http://schema.org/Article" class="post-block home" lang="en">
|
||||||
|
<link itemprop="mainEntityOfPage" href="http://saturneric.cn/2016/10/16/My-thoughts-on-the-Internet-of-Things/">
|
||||||
|
|
||||||
|
<span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
|
||||||
|
<meta itemprop="name" content="Hu Yu">
|
||||||
|
<meta itemprop="description" content="">
|
||||||
|
<meta itemprop="image" content="/images/avatar.gif">
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
|
||||||
|
<meta itemprop="name" content="Hu Yu's Personal Blog">
|
||||||
|
</span>
|
||||||
|
<header class="post-header">
|
||||||
|
<h1 class="post-title" itemprop="name headline">
|
||||||
|
|
||||||
|
<a href="/2016/10/16/My-thoughts-on-the-Internet-of-Things/" class="post-title-link" itemprop="url">My thoughts on the Internet of Things</a>
|
||||||
|
|
||||||
|
</h1>
|
||||||
|
|
||||||
|
<div class="post-meta">
|
||||||
|
<span class="post-meta-item">
|
||||||
|
<span class="post-meta-item-icon">
|
||||||
|
<i class="fa fa-calendar-o"></i>
|
||||||
|
</span>
|
||||||
|
<span class="post-meta-item-text">Posted on</span>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<time title="Created: 2016-10-16 12:42:00" itemprop="dateCreated datePublished" datetime="2016-10-16T12:42:00+08:00">2016-10-16</time>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<span class="post-meta-item">
|
||||||
|
<span class="post-meta-item-icon">
|
||||||
|
<i class="fa fa-calendar-check-o"></i>
|
||||||
|
</span>
|
||||||
|
<span class="post-meta-item-text">Edited on</span>
|
||||||
|
<time title="Modified: 2019-10-25 15:02:23" itemprop="dateModified" datetime="2019-10-25T15:02:23+08:00">2019-10-25</time>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="post-body" itemprop="articleBody">
|
||||||
|
|
||||||
|
|
||||||
|
<h1 id="My-thoughts-on-the-IoT"><a href="#My-thoughts-on-the-IoT" class="headerlink" title="My thoughts on the IoT"></a>My thoughts on the IoT</h1><p>Recently, I have been studying in the school with heavy tasks. I feel that I have no time to think about it. This is different from the time when I was in junior high school. I have some time to think about things that have nothing to do with learning. After all, I have to think about it.</p>
|
||||||
|
<p>However, even in such a tight time, I can’t help but spend some time thinking. The content of thinking is what I discussed in this article today.</p>
|
||||||
|
<h2 id="Overview"><a href="#Overview" class="headerlink" title="Overview"></a>Overview</h2><p>The Internet of Things, this evolving thing, will continue to increase the level of informationization in human society in the future. But now, I believe that the domestic Internet of Things is still immature. First, there is no unified agreement. Second, the concept of the Internet of Things is not profound in China. What is the Internet of Things? Let’s take a look at the definition of Wikipedia:</p>
|
||||||
|
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">The Internet of Things (IoT) is an information carrier such as the Internet and traditional telecommunication networks, enabling all ordinary objects that can perform independent functions to realize interconnection and interoperability.</span><br></pre></td></tr></table></figure>
|
||||||
|
|
||||||
|
<h2 id="Thoughts"><a href="#Thoughts" class="headerlink" title="Thoughts"></a>Thoughts</h2><p>The key is that all objects that can perform independent functions are interconnected. This shows that on the Internet of Things, all objects connected to the network can be interconnected, exchange information, and then use their own functions and information obtained through the Internet of Things to make the operation more convenient and fast. . Before that, my first thought was smart home. In the smart home, these homes can be controlled by adding communication devices and necessary functional devices to the switches and door locks, and then connecting the wireless host through the mobile phone. In this mode, for security, all communications must be handled by a device like a wireless host. I looked at Taobao, this system and many sellers are selling. Including Xiaomi, etc., have already explored in this regard. But I think that this kind of thinking is actually centering the Internet of Things.</p>
|
||||||
|
<p>Centralization naturally has the benefits of centralization and its drawbacks. The advantage is that the principle of manipulation through the wireless host is relatively simple, as long as the mobile phone connected to the WIFI is moved over. And relatively safe. However, think about it. If a hacker breaks a wireless host at home, is he equal to manipulating all the smart homes in your home? All your personal information hackers will have an unobstructed view. And in doing so, the size of the Internet of Things network will be limited. If the Internet has a center, will the Internet still reach today’s level of development? Obviously, the Internet of Things should develop rapidly, and decentralization should be a trend. After decentralization, information can be exchanged between two objects that follow a unified protocol. And each object can be extended to expand this network. As with the TCP/IP protocol, each object can send information, accept information, and transmit information. All we have to do is connect this network to the Internet and integrate it with the Internet to become the new terminal of the Internet. If this can be done, then humans’ ability to acquire information and spread will be greatly enhanced. In this way, all human beings can share information about the world. In this case, each object with a specific function is like getting wisdom. They can get enough information before they can get better. They can share information with each other and then serve humanity better. Engineers can use this web to improve and update their intelligence and reduce the rate of item replacement. In this way, the application of the Internet of Things is not limited to smart homes. As the intelligence of the items expands, the Internet of Things will reach out to all corners. Under this network, each item can not only help humans to complete their intended functions, they are also contributors to Internet information, and they contribute information they know to the Internet and contribute to human society. Such an Internet of Things format will greatly enhance the information level of human society, and information exchange will be greatly accelerated, and life will be more convenient. This is the trend of the development of the Internet of Things. </p>
|
||||||
|
<p>But it is unavoidable that it brings privacy issues, protocol issues, and security issues, but it can be prevented, and I will discuss them in the next few articles.</p>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<footer class="post-footer">
|
||||||
|
<div class="post-eof"></div>
|
||||||
|
|
||||||
|
</footer>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="toggle sidebar-toggle">
|
||||||
|
<span class="toggle-line toggle-line-first"></span>
|
||||||
|
<span class="toggle-line toggle-line-middle"></span>
|
||||||
|
<span class="toggle-line toggle-line-last"></span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<aside class="sidebar">
|
||||||
|
<div class="sidebar-inner">
|
||||||
|
|
||||||
|
<ul class="sidebar-nav motion-element">
|
||||||
|
<li class="sidebar-nav-toc">
|
||||||
|
Table of Contents
|
||||||
|
</li>
|
||||||
|
<li class="sidebar-nav-overview">
|
||||||
|
Overview
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<!--noindex-->
|
||||||
|
<div class="post-toc-wrap sidebar-panel">
|
||||||
|
</div>
|
||||||
|
<!--/noindex-->
|
||||||
|
|
||||||
|
<div class="site-overview-wrap sidebar-panel">
|
||||||
|
<div class="site-author motion-element" itemprop="author" itemscope itemtype="http://schema.org/Person">
|
||||||
|
<p class="site-author-name" itemprop="name">Hu Yu</p>
|
||||||
|
<div class="site-description" itemprop="description"></div>
|
||||||
|
</div>
|
||||||
|
<div class="site-state-wrap motion-element">
|
||||||
|
<nav class="site-state">
|
||||||
|
<div class="site-state-item site-state-posts">
|
||||||
|
|
||||||
|
<a href="/archives/">
|
||||||
|
|
||||||
|
<span class="site-state-item-count">7</span>
|
||||||
|
<span class="site-state-item-name">posts</span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
<div class="links-of-author motion-element">
|
||||||
|
<span class="links-of-author-item">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="mailto:saturneric@ieee.org" title="E-Mail &rarr; mailto:saturneric@ieee.org" rel="noopener" target="_blank"><i class="fa fa-fw fa-envelope"></i>E-Mail</a>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</aside>
|
||||||
|
<div id="sidebar-dimmer"></div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<footer id="footer" class="footer">
|
||||||
|
<div class="footer-inner">
|
||||||
|
<div class="copyright">© <span itemprop="copyrightYear">2019</span>
|
||||||
|
<span class="with-love" id="animate">
|
||||||
|
<i class="fa fa-user"></i>
|
||||||
|
</span>
|
||||||
|
<span class="author" itemprop="copyrightHolder">Hu Yu</span>
|
||||||
|
</div>
|
||||||
|
<div class="powered-by">Powered by <a href="https://hexo.io/" class="theme-link" rel="noopener" target="_blank">Hexo</a> v3.9.0</div>
|
||||||
|
<span class="post-meta-divider">|</span>
|
||||||
|
<div class="theme-info">Theme – <a href="https://theme-next.org/" class="theme-link" rel="noopener" target="_blank">NexT.Pisces</a> v7.4.1</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="/lib/anime.min.js?v=3.1.0"></script>
|
||||||
|
<script src="/lib/velocity/velocity.min.js?v=1.2.1"></script>
|
||||||
|
<script src="/lib/velocity/velocity.ui.min.js?v=1.2.1"></script>
|
||||||
|
<script src="/js/utils.js?v=7.4.1"></script><script src="/js/motion.js?v=7.4.1"></script>
|
||||||
|
<script src="/js/schemes/pisces.js?v=7.4.1"></script>
|
||||||
|
<script src="/js/next-boot.js?v=7.4.1"></script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
109
js/algolia-search.js
Normal file
@ -0,0 +1,109 @@
|
|||||||
|
/* global instantsearch, CONFIG */
|
||||||
|
|
||||||
|
window.addEventListener('DOMContentLoaded', () => {
|
||||||
|
const algoliaSettings = CONFIG.algolia;
|
||||||
|
|
||||||
|
let search = instantsearch({
|
||||||
|
appId : algoliaSettings.appID,
|
||||||
|
apiKey : algoliaSettings.apiKey,
|
||||||
|
indexName : algoliaSettings.indexName,
|
||||||
|
searchFunction: helper => {
|
||||||
|
let searchInput = document.querySelector('#search-input input');
|
||||||
|
if (searchInput.value) {
|
||||||
|
helper.search();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
window.pjax && search.on('render', () => {
|
||||||
|
window.pjax.refresh(document.getElementById('algolia-hits'));
|
||||||
|
});
|
||||||
|
|
||||||
|
// Registering Widgets
|
||||||
|
[
|
||||||
|
instantsearch.widgets.searchBox({
|
||||||
|
container : '#search-input',
|
||||||
|
placeholder: algoliaSettings.labels.input_placeholder
|
||||||
|
}),
|
||||||
|
|
||||||
|
instantsearch.widgets.stats({
|
||||||
|
container: '#algolia-stats',
|
||||||
|
templates: {
|
||||||
|
body: data => {
|
||||||
|
let stats = algoliaSettings.labels.hits_stats
|
||||||
|
.replace(/\$\{hits}/, data.nbHits)
|
||||||
|
.replace(/\$\{time}/, data.processingTimeMS);
|
||||||
|
return `${stats}
|
||||||
|
<span class="algolia-powered">
|
||||||
|
<img src="${CONFIG.root}images/algolia_logo.svg" alt="Algolia">
|
||||||
|
</span>
|
||||||
|
<hr>`;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
|
||||||
|
instantsearch.widgets.hits({
|
||||||
|
container : '#algolia-hits',
|
||||||
|
hitsPerPage: algoliaSettings.hits.per_page || 10,
|
||||||
|
templates : {
|
||||||
|
item: data => {
|
||||||
|
let link = data.permalink ? data.permalink : CONFIG.root + data.path;
|
||||||
|
return `<a href="${link}" class="algolia-hit-item-link">${data._highlightResult.title.value}</a>`;
|
||||||
|
},
|
||||||
|
empty: data => {
|
||||||
|
return `<div id="algolia-hits-empty">
|
||||||
|
${algoliaSettings.labels.hits_empty.replace(/\$\{query}/, data.query)}
|
||||||
|
</div>`;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
cssClasses: {
|
||||||
|
item: 'algolia-hit-item'
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
|
||||||
|
instantsearch.widgets.pagination({
|
||||||
|
container : '#algolia-pagination',
|
||||||
|
scrollTo : false,
|
||||||
|
showFirstLast: false,
|
||||||
|
labels : {
|
||||||
|
first : '<i class="fa fa-angle-double-left"></i>',
|
||||||
|
last : '<i class="fa fa-angle-double-right"></i>',
|
||||||
|
previous: '<i class="fa fa-angle-left"></i>',
|
||||||
|
next : '<i class="fa fa-angle-right"></i>'
|
||||||
|
},
|
||||||
|
cssClasses: {
|
||||||
|
root : 'pagination',
|
||||||
|
item : 'pagination-item',
|
||||||
|
link : 'page-number',
|
||||||
|
active : 'current',
|
||||||
|
disabled: 'disabled-item'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
].forEach(search.addWidget, search);
|
||||||
|
|
||||||
|
search.start();
|
||||||
|
|
||||||
|
// Handle and trigger popup window
|
||||||
|
document.querySelector('.popup-trigger').addEventListener('click', () => {
|
||||||
|
document.body.style.overflow = 'hidden';
|
||||||
|
document.querySelector('.search-pop-overlay').style.display = 'block';
|
||||||
|
document.querySelector('.popup').style.display = 'block';
|
||||||
|
document.querySelector('#search-input input').focus();
|
||||||
|
});
|
||||||
|
|
||||||
|
// Monitor main search box
|
||||||
|
const onPopupClose = () => {
|
||||||
|
document.body.style.overflow = '';
|
||||||
|
document.querySelector('.search-pop-overlay').style.display = 'none';
|
||||||
|
document.querySelector('.popup').style.display = 'none';
|
||||||
|
};
|
||||||
|
|
||||||
|
document.querySelector('.search-pop-overlay').addEventListener('click', onPopupClose);
|
||||||
|
document.querySelector('.popup-btn-close').addEventListener('click', onPopupClose);
|
||||||
|
window.addEventListener('pjax:success', onPopupClose);
|
||||||
|
window.addEventListener('keyup', event => {
|
||||||
|
if (event.which === 27) {
|
||||||
|
onPopupClose();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
58
js/bookmark.js
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
/* global CONFIG */
|
||||||
|
|
||||||
|
window.addEventListener('DOMContentLoaded', () => {
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
var doSaveScroll = () => {
|
||||||
|
localStorage.setItem('bookmark' + location.pathname, window.scrollY);
|
||||||
|
};
|
||||||
|
|
||||||
|
var scrollToMark = () => {
|
||||||
|
var top = localStorage.getItem('bookmark' + location.pathname);
|
||||||
|
top = parseInt(top, 10);
|
||||||
|
// If the page opens with a specific hash, just jump out
|
||||||
|
if (!isNaN(top) && location.hash === '') {
|
||||||
|
// Auto scroll to the position
|
||||||
|
window.anime({
|
||||||
|
targets : [document.documentElement, document.body],
|
||||||
|
duration : 200,
|
||||||
|
easing : 'linear',
|
||||||
|
scrollTop: top
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
// Register everything
|
||||||
|
var init = function(trigger) {
|
||||||
|
// Create a link element
|
||||||
|
var link = document.querySelector('.book-mark-link');
|
||||||
|
// Scroll event
|
||||||
|
window.addEventListener('scroll', () => {
|
||||||
|
window.scrollY === 0 ? link.classList.add('book-mark-link-fixed') : link.classList.remove('book-mark-link-fixed');
|
||||||
|
});
|
||||||
|
// Register beforeunload event when the trigger is auto
|
||||||
|
if (trigger === 'auto') {
|
||||||
|
// Register beforeunload event
|
||||||
|
window.addEventListener('beforeunload', doSaveScroll);
|
||||||
|
window.addEventListener('pjax:send', doSaveScroll);
|
||||||
|
}
|
||||||
|
// Save the position by clicking the icon
|
||||||
|
link.addEventListener('click', () => {
|
||||||
|
doSaveScroll();
|
||||||
|
window.anime({
|
||||||
|
targets : link,
|
||||||
|
duration: 200,
|
||||||
|
easing : 'linear',
|
||||||
|
top : -30,
|
||||||
|
complete: () => {
|
||||||
|
setTimeout(() => {
|
||||||
|
link.style.top = '';
|
||||||
|
}, 400);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
scrollToMark();
|
||||||
|
window.addEventListener('pjax:success', scrollToMark);
|
||||||
|
};
|
||||||
|
|
||||||
|
init(CONFIG.bookmark.save);
|
||||||
|
});
|
318
js/local-search.js
Normal file
@ -0,0 +1,318 @@
|
|||||||
|
/* global CONFIG */
|
||||||
|
|
||||||
|
window.addEventListener('DOMContentLoaded', () => {
|
||||||
|
// Popup Window
|
||||||
|
let isfetched = false;
|
||||||
|
let datas;
|
||||||
|
let isXml = true;
|
||||||
|
// Search DB path
|
||||||
|
let searchPath = CONFIG.path;
|
||||||
|
if (searchPath.length === 0) {
|
||||||
|
searchPath = 'search.xml';
|
||||||
|
} else if (/json$/i.test(searchPath)) {
|
||||||
|
isXml = false;
|
||||||
|
}
|
||||||
|
const path = CONFIG.root + searchPath;
|
||||||
|
const input = document.getElementById('search-input');
|
||||||
|
const resultContent = document.getElementById('search-result');
|
||||||
|
|
||||||
|
// Ref: https://github.com/ForbesLindesay/unescape-html
|
||||||
|
const unescapeHtml = html => {
|
||||||
|
return String(html)
|
||||||
|
.replace(/"/g, '"')
|
||||||
|
.replace(/'/g, '\'')
|
||||||
|
.replace(/:/g, ':')
|
||||||
|
// Replace all the other &#x; chars
|
||||||
|
.replace(/&#(\d+);/g, (m, p) => {
|
||||||
|
return String.fromCharCode(p);
|
||||||
|
})
|
||||||
|
.replace(/</g, '<')
|
||||||
|
.replace(/>/g, '>')
|
||||||
|
.replace(/&/g, '&');
|
||||||
|
};
|
||||||
|
|
||||||
|
const getIndexByWord = (word, text, caseSensitive) => {
|
||||||
|
let wordLen = word.length;
|
||||||
|
if (wordLen === 0) {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
let startPosition = 0;
|
||||||
|
let position = [];
|
||||||
|
let index = [];
|
||||||
|
if (!caseSensitive) {
|
||||||
|
text = text.toLowerCase();
|
||||||
|
word = word.toLowerCase();
|
||||||
|
}
|
||||||
|
while ((position = text.indexOf(word, startPosition)) > -1) {
|
||||||
|
index.push({
|
||||||
|
position: position,
|
||||||
|
word : word
|
||||||
|
});
|
||||||
|
startPosition = position + wordLen;
|
||||||
|
}
|
||||||
|
return index;
|
||||||
|
};
|
||||||
|
|
||||||
|
// Merge hits into slices
|
||||||
|
const mergeIntoSlice = (start, end, index, searchText) => {
|
||||||
|
let item = index[index.length - 1];
|
||||||
|
let position = item.position;
|
||||||
|
let word = item.word;
|
||||||
|
let hits = [];
|
||||||
|
let searchTextCountInSlice = 0;
|
||||||
|
while (position + word.length <= end && index.length !== 0) {
|
||||||
|
if (word === searchText) {
|
||||||
|
searchTextCountInSlice++;
|
||||||
|
}
|
||||||
|
hits.push({
|
||||||
|
position: position,
|
||||||
|
length : word.length
|
||||||
|
});
|
||||||
|
let wordEnd = position + word.length;
|
||||||
|
|
||||||
|
// Move to next position of hit
|
||||||
|
index.pop();
|
||||||
|
while (index.length !== 0) {
|
||||||
|
item = index[index.length - 1];
|
||||||
|
position = item.position;
|
||||||
|
word = item.word;
|
||||||
|
if (wordEnd > position) {
|
||||||
|
index.pop();
|
||||||
|
} else {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
hits : hits,
|
||||||
|
start : start,
|
||||||
|
end : end,
|
||||||
|
searchTextCount: searchTextCountInSlice
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
// Highlight title and content
|
||||||
|
const highlightKeyword = (text, slice) => {
|
||||||
|
let result = '';
|
||||||
|
let prevEnd = slice.start;
|
||||||
|
slice.hits.forEach(hit => {
|
||||||
|
result += text.substring(prevEnd, hit.position);
|
||||||
|
let end = hit.position + hit.length;
|
||||||
|
result += `<b class="search-keyword">${text.substring(hit.position, end)}</b>`;
|
||||||
|
prevEnd = end;
|
||||||
|
});
|
||||||
|
result += text.substring(prevEnd, slice.end);
|
||||||
|
return result;
|
||||||
|
};
|
||||||
|
|
||||||
|
const inputEventFunction = () => {
|
||||||
|
let searchText = input.value.trim().toLowerCase();
|
||||||
|
let keywords = searchText.split(/[-\s]+/);
|
||||||
|
if (keywords.length > 1) {
|
||||||
|
keywords.push(searchText);
|
||||||
|
}
|
||||||
|
let resultItems = [];
|
||||||
|
if (searchText.length > 0) {
|
||||||
|
// Perform local searching
|
||||||
|
datas.forEach(data => {
|
||||||
|
// Only match articles with not empty titles
|
||||||
|
if (!data.title) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
let searchTextCount = 0;
|
||||||
|
let title = data.title.trim();
|
||||||
|
let titleInLowerCase = title.toLowerCase();
|
||||||
|
let content = data.content ? data.content.trim().replace(/<[^>]+>/g, '') : '';
|
||||||
|
if (CONFIG.localsearch.unescape) {
|
||||||
|
content = unescapeHtml(content);
|
||||||
|
}
|
||||||
|
let contentInLowerCase = content.toLowerCase();
|
||||||
|
let articleUrl = decodeURIComponent(data.url).replace(/\/{2,}/g, '/');
|
||||||
|
let indexOfTitle = [];
|
||||||
|
let indexOfContent = [];
|
||||||
|
keywords.forEach(keyword => {
|
||||||
|
indexOfTitle = indexOfTitle.concat(getIndexByWord(keyword, titleInLowerCase, false));
|
||||||
|
indexOfContent = indexOfContent.concat(getIndexByWord(keyword, contentInLowerCase, false));
|
||||||
|
});
|
||||||
|
|
||||||
|
// Show search results
|
||||||
|
if (indexOfTitle.length > 0 || indexOfContent.length > 0) {
|
||||||
|
let hitCount = indexOfTitle.length + indexOfContent.length;
|
||||||
|
// Sort index by position of keyword
|
||||||
|
[indexOfTitle, indexOfContent].forEach(index => {
|
||||||
|
index.sort((itemLeft, itemRight) => {
|
||||||
|
if (itemRight.position !== itemLeft.position) {
|
||||||
|
return itemRight.position - itemLeft.position;
|
||||||
|
}
|
||||||
|
return itemLeft.word.length - itemRight.word.length;
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
let slicesOfTitle = [];
|
||||||
|
if (indexOfTitle.length !== 0) {
|
||||||
|
let tmp = mergeIntoSlice(0, title.length, indexOfTitle, searchText);
|
||||||
|
searchTextCount += tmp.searchTextCountInSlice;
|
||||||
|
slicesOfTitle.push(tmp);
|
||||||
|
}
|
||||||
|
|
||||||
|
let slicesOfContent = [];
|
||||||
|
while (indexOfContent.length !== 0) {
|
||||||
|
let item = indexOfContent[indexOfContent.length - 1];
|
||||||
|
let position = item.position;
|
||||||
|
let word = item.word;
|
||||||
|
// Cut out 100 characters
|
||||||
|
let start = position - 20;
|
||||||
|
let end = position + 80;
|
||||||
|
if (start < 0) {
|
||||||
|
start = 0;
|
||||||
|
}
|
||||||
|
if (end < position + word.length) {
|
||||||
|
end = position + word.length;
|
||||||
|
}
|
||||||
|
if (end > content.length) {
|
||||||
|
end = content.length;
|
||||||
|
}
|
||||||
|
let tmp = mergeIntoSlice(start, end, indexOfContent, searchText);
|
||||||
|
searchTextCount += tmp.searchTextCountInSlice;
|
||||||
|
slicesOfContent.push(tmp);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Sort slices in content by search text's count and hits' count
|
||||||
|
slicesOfContent.sort((sliceLeft, sliceRight) => {
|
||||||
|
if (sliceLeft.searchTextCount !== sliceRight.searchTextCount) {
|
||||||
|
return sliceRight.searchTextCount - sliceLeft.searchTextCount;
|
||||||
|
} else if (sliceLeft.hits.length !== sliceRight.hits.length) {
|
||||||
|
return sliceRight.hits.length - sliceLeft.hits.length;
|
||||||
|
}
|
||||||
|
return sliceLeft.start - sliceRight.start;
|
||||||
|
});
|
||||||
|
|
||||||
|
// Select top N slices in content
|
||||||
|
let upperBound = parseInt(CONFIG.localsearch.top_n_per_article, 10);
|
||||||
|
if (upperBound >= 0) {
|
||||||
|
slicesOfContent = slicesOfContent.slice(0, upperBound);
|
||||||
|
}
|
||||||
|
|
||||||
|
let resultItem = '';
|
||||||
|
|
||||||
|
if (slicesOfTitle.length !== 0) {
|
||||||
|
resultItem += `<li><a href="${articleUrl}" class="search-result-title">${highlightKeyword(title, slicesOfTitle[0])}</a>`;
|
||||||
|
} else {
|
||||||
|
resultItem += `<li><a href="${articleUrl}" class="search-result-title">${title}</a>`;
|
||||||
|
}
|
||||||
|
|
||||||
|
slicesOfContent.forEach(slice => {
|
||||||
|
resultItem += `<a href="${articleUrl}"><p class="search-result">${highlightKeyword(content, slice)}...</p></a>`;
|
||||||
|
});
|
||||||
|
|
||||||
|
resultItem += '</li>';
|
||||||
|
resultItems.push({
|
||||||
|
item : resultItem,
|
||||||
|
searchTextCount: searchTextCount,
|
||||||
|
hitCount : hitCount,
|
||||||
|
id : resultItems.length
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
if (keywords.length === 1 && keywords[0] === '') {
|
||||||
|
resultContent.innerHTML = '<div id="no-result"><i class="fa fa-search fa-5x"></i></div>';
|
||||||
|
} else if (resultItems.length === 0) {
|
||||||
|
resultContent.innerHTML = '<div id="no-result"><i class="fa fa-frown-o fa-5x"></i></div>';
|
||||||
|
} else {
|
||||||
|
resultItems.sort((resultLeft, resultRight) => {
|
||||||
|
if (resultLeft.searchTextCount !== resultRight.searchTextCount) {
|
||||||
|
return resultRight.searchTextCount - resultLeft.searchTextCount;
|
||||||
|
} else if (resultLeft.hitCount !== resultRight.hitCount) {
|
||||||
|
return resultRight.hitCount - resultLeft.hitCount;
|
||||||
|
}
|
||||||
|
return resultRight.id - resultLeft.id;
|
||||||
|
});
|
||||||
|
let searchResultList = '<ul class="search-result-list">';
|
||||||
|
resultItems.forEach(result => {
|
||||||
|
searchResultList += result.item;
|
||||||
|
});
|
||||||
|
searchResultList += '</ul>';
|
||||||
|
resultContent.innerHTML = searchResultList;
|
||||||
|
window.pjax && window.pjax.refresh(resultContent);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
const fetchData = callback => {
|
||||||
|
fetch(path)
|
||||||
|
.then(response => response.text())
|
||||||
|
.then(res => {
|
||||||
|
// Get the contents from search data
|
||||||
|
isfetched = true;
|
||||||
|
datas = isXml ? [...new DOMParser().parseFromString(res, 'text/xml').querySelectorAll('entry')].map(item => {
|
||||||
|
return {
|
||||||
|
title : item.querySelector('title').innerHTML,
|
||||||
|
content: item.querySelector('content').innerHTML,
|
||||||
|
url : item.querySelector('url').innerHTML
|
||||||
|
};
|
||||||
|
}) : JSON.parse(res);
|
||||||
|
|
||||||
|
// Remove loading animation
|
||||||
|
document.querySelector('.search-pop-overlay').innerHTML = '';
|
||||||
|
document.body.style.overflow = '';
|
||||||
|
|
||||||
|
if (callback) {
|
||||||
|
callback();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
if (CONFIG.localsearch.preload) {
|
||||||
|
fetchData();
|
||||||
|
}
|
||||||
|
|
||||||
|
const proceedSearch = () => {
|
||||||
|
document.body.style.overflow = 'hidden';
|
||||||
|
document.querySelector('.search-pop-overlay').style.display = 'block';
|
||||||
|
document.querySelector('.popup').style.display = 'block';
|
||||||
|
document.getElementById('search-input').focus();
|
||||||
|
};
|
||||||
|
|
||||||
|
// Search function
|
||||||
|
const searchFunc = () => {
|
||||||
|
document.querySelector('.search-pop-overlay').style.display = '';
|
||||||
|
document.querySelector('.search-pop-overlay').innerHTML = '<div class="search-loading-icon"><i class="fa fa-spinner fa-pulse fa-5x fa-fw"></i></div>';
|
||||||
|
fetchData(proceedSearch);
|
||||||
|
};
|
||||||
|
|
||||||
|
if (CONFIG.localsearch.trigger === 'auto') {
|
||||||
|
input.addEventListener('input', inputEventFunction);
|
||||||
|
} else {
|
||||||
|
document.querySelector('.search-icon').addEventListener('click', inputEventFunction);
|
||||||
|
input.addEventListener('keypress', event => {
|
||||||
|
if (event.keyCode === 13) {
|
||||||
|
inputEventFunction();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// Handle and trigger popup window
|
||||||
|
document.querySelector('.popup-trigger').addEventListener('click', () => {
|
||||||
|
if (isfetched === false) {
|
||||||
|
searchFunc();
|
||||||
|
} else {
|
||||||
|
proceedSearch();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// Monitor main search box
|
||||||
|
const onPopupClose = () => {
|
||||||
|
document.body.style.overflow = '';
|
||||||
|
document.querySelector('.search-pop-overlay').style.display = 'none';
|
||||||
|
document.querySelector('.popup').style.display = 'none';
|
||||||
|
};
|
||||||
|
|
||||||
|
document.querySelector('.search-pop-overlay').addEventListener('click', onPopupClose);
|
||||||
|
document.querySelector('.popup-btn-close').addEventListener('click', onPopupClose);
|
||||||
|
window.addEventListener('pjax:success', onPopupClose);
|
||||||
|
window.addEventListener('keyup', event => {
|
||||||
|
if (event.which === 27) {
|
||||||
|
onPopupClose();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
171
js/motion.js
Normal file
@ -0,0 +1,171 @@
|
|||||||
|
/* global NexT, CONFIG, Velocity */
|
||||||
|
|
||||||
|
if (window.$ && window.$.Velocity) window.Velocity = window.$.Velocity;
|
||||||
|
|
||||||
|
NexT.motion = {};
|
||||||
|
|
||||||
|
NexT.motion.integrator = {
|
||||||
|
queue : [],
|
||||||
|
cursor: -1,
|
||||||
|
init : function() {
|
||||||
|
this.queue = [];
|
||||||
|
this.cursor = -1;
|
||||||
|
return this;
|
||||||
|
},
|
||||||
|
add: function(fn) {
|
||||||
|
this.queue.push(fn);
|
||||||
|
return this;
|
||||||
|
},
|
||||||
|
next: function() {
|
||||||
|
this.cursor++;
|
||||||
|
var fn = this.queue[this.cursor];
|
||||||
|
typeof fn === 'function' && fn(NexT.motion.integrator);
|
||||||
|
},
|
||||||
|
bootstrap: function() {
|
||||||
|
this.next();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
NexT.motion.middleWares = {
|
||||||
|
logo: function(integrator) {
|
||||||
|
var sequence = [];
|
||||||
|
var brand = document.querySelector('.brand');
|
||||||
|
var image = document.querySelector('.custom-logo-image');
|
||||||
|
var title = document.querySelector('.site-title');
|
||||||
|
var subtitle = document.querySelector('.site-subtitle');
|
||||||
|
var logoLineTop = document.querySelector('.logo-line-before i');
|
||||||
|
var logoLineBottom = document.querySelector('.logo-line-after i');
|
||||||
|
|
||||||
|
brand && sequence.push({
|
||||||
|
e: brand,
|
||||||
|
p: {opacity: 1},
|
||||||
|
o: {duration: 200}
|
||||||
|
});
|
||||||
|
|
||||||
|
function getMistLineSettings(element, translateX) {
|
||||||
|
return {
|
||||||
|
e: element,
|
||||||
|
p: {translateX: translateX},
|
||||||
|
o: {
|
||||||
|
duration : 500,
|
||||||
|
sequenceQueue: false
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
function pushImageToSequence() {
|
||||||
|
sequence.push({
|
||||||
|
e: image,
|
||||||
|
p: {opacity: 1, top: 0},
|
||||||
|
o: {duration: 200}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
NexT.utils.isMist() && logoLineTop && logoLineBottom
|
||||||
|
&& sequence.push(
|
||||||
|
getMistLineSettings(logoLineTop, '100%'),
|
||||||
|
getMistLineSettings(logoLineBottom, '-100%')
|
||||||
|
);
|
||||||
|
|
||||||
|
NexT.utils.isMuse() && image && pushImageToSequence();
|
||||||
|
|
||||||
|
title && sequence.push({
|
||||||
|
e: title,
|
||||||
|
p: {opacity: 1, top: 0},
|
||||||
|
o: {duration: 200}
|
||||||
|
});
|
||||||
|
|
||||||
|
subtitle && sequence.push({
|
||||||
|
e: subtitle,
|
||||||
|
p: {opacity: 1, top: 0},
|
||||||
|
o: {duration: 200}
|
||||||
|
});
|
||||||
|
|
||||||
|
(NexT.utils.isPisces() || NexT.utils.isGemini()) && image && pushImageToSequence();
|
||||||
|
|
||||||
|
if (sequence.length > 0) {
|
||||||
|
sequence[sequence.length - 1].o.complete = function() {
|
||||||
|
integrator.next();
|
||||||
|
};
|
||||||
|
Velocity.RunSequence(sequence);
|
||||||
|
} else {
|
||||||
|
integrator.next();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (CONFIG.motion.async) {
|
||||||
|
integrator.next();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
menu: function(integrator) {
|
||||||
|
|
||||||
|
Velocity(document.querySelectorAll('.menu-item'), 'transition.slideDownIn', {
|
||||||
|
display : null,
|
||||||
|
duration: 200,
|
||||||
|
complete: function() {
|
||||||
|
integrator.next();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
if (CONFIG.motion.async) {
|
||||||
|
integrator.next();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
postList: function(integrator) {
|
||||||
|
|
||||||
|
var postBlock = document.querySelectorAll('.post-block, .pagination, .comments');
|
||||||
|
var postBlockTransition = CONFIG.motion.transition.post_block;
|
||||||
|
var postHeader = document.querySelectorAll('.post-header');
|
||||||
|
var postHeaderTransition = CONFIG.motion.transition.post_header;
|
||||||
|
var postBody = document.querySelectorAll('.post-body');
|
||||||
|
var postBodyTransition = CONFIG.motion.transition.post_body;
|
||||||
|
var collHeader = document.querySelectorAll('.collection-header');
|
||||||
|
var collHeaderTransition = CONFIG.motion.transition.coll_header;
|
||||||
|
var hasPost = postBlock.length > 0;
|
||||||
|
|
||||||
|
if (hasPost) {
|
||||||
|
var postMotionOptions = window.postMotionOptions || {
|
||||||
|
stagger : 100,
|
||||||
|
drag : true,
|
||||||
|
complete: function() {
|
||||||
|
integrator.next();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
if (CONFIG.motion.transition.post_block) {
|
||||||
|
Velocity(postBlock, 'transition.' + postBlockTransition, postMotionOptions);
|
||||||
|
}
|
||||||
|
if (CONFIG.motion.transition.post_header) {
|
||||||
|
Velocity(postHeader, 'transition.' + postHeaderTransition, postMotionOptions);
|
||||||
|
}
|
||||||
|
if (CONFIG.motion.transition.post_body) {
|
||||||
|
Velocity(postBody, 'transition.' + postBodyTransition, postMotionOptions);
|
||||||
|
}
|
||||||
|
if (CONFIG.motion.transition.coll_header) {
|
||||||
|
Velocity(collHeader, 'transition.' + collHeaderTransition, postMotionOptions);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (NexT.utils.isPisces() || NexT.utils.isGemini()) {
|
||||||
|
integrator.next();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
sidebar: function(integrator) {
|
||||||
|
NexT.utils.updateSidebarPosition();
|
||||||
|
var sidebarAffix = document.querySelector('.sidebar-inner');
|
||||||
|
var sidebarAffixTransition = CONFIG.motion.transition.sidebar;
|
||||||
|
// Only for Pisces | Gemini.
|
||||||
|
if (CONFIG.motion.transition.sidebar && (NexT.utils.isPisces() || NexT.utils.isGemini())) {
|
||||||
|
Velocity(sidebarAffix, 'transition.' + sidebarAffixTransition, {
|
||||||
|
display : null,
|
||||||
|
duration: 200,
|
||||||
|
complete: function() {
|
||||||
|
// After motion complete need to remove transform from sidebar to let affix work on Pisces | Gemini.
|
||||||
|
sidebarAffix.style.transform = 'initial';
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
integrator.next();
|
||||||
|
}
|
||||||
|
};
|
114
js/next-boot.js
Normal file
@ -0,0 +1,114 @@
|
|||||||
|
/* global NexT, CONFIG, Velocity */
|
||||||
|
|
||||||
|
NexT.boot = {};
|
||||||
|
|
||||||
|
NexT.boot.registerEvents = function() {
|
||||||
|
|
||||||
|
NexT.utils.registerScrollPercent();
|
||||||
|
NexT.utils.registerCanIUseTag();
|
||||||
|
|
||||||
|
// Mobile top menu bar.
|
||||||
|
document.querySelector('.site-nav-toggle .toggle').addEventListener('click', () => {
|
||||||
|
event.currentTarget.classList.toggle('toggle-close');
|
||||||
|
var siteNav = document.querySelector('.site-nav');
|
||||||
|
var animateAction = siteNav.classList.contains('site-nav-on') ? 'slideUp' : 'slideDown';
|
||||||
|
|
||||||
|
if (typeof Velocity === 'function') {
|
||||||
|
Velocity(siteNav, animateAction, {
|
||||||
|
duration: 200,
|
||||||
|
complete: function() {
|
||||||
|
siteNav.classList.toggle('site-nav-on');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
siteNav.classList.toggle('site-nav-on');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
var TAB_ANIMATE_DURATION = 200;
|
||||||
|
document.querySelectorAll('.sidebar-nav li').forEach((element, index) => {
|
||||||
|
element.addEventListener('click', event => {
|
||||||
|
var item = event.currentTarget;
|
||||||
|
var activeTabClassName = 'sidebar-nav-active';
|
||||||
|
var activePanelClassName = 'sidebar-panel-active';
|
||||||
|
if (item.classList.contains(activeTabClassName)) return;
|
||||||
|
|
||||||
|
var targets = document.querySelectorAll('.sidebar-panel');
|
||||||
|
var target = targets[index];
|
||||||
|
var currentTarget = targets[1 - index];
|
||||||
|
window.anime({
|
||||||
|
targets : currentTarget,
|
||||||
|
duration: TAB_ANIMATE_DURATION,
|
||||||
|
easing : 'linear',
|
||||||
|
opacity : 0,
|
||||||
|
complete: () => {
|
||||||
|
// Prevent adding TOC to Overview if Overview was selected when close & open sidebar.
|
||||||
|
currentTarget.classList.remove(activePanelClassName);
|
||||||
|
target.style.opacity = 0;
|
||||||
|
target.classList.add(activePanelClassName);
|
||||||
|
window.anime({
|
||||||
|
targets : target,
|
||||||
|
duration: TAB_ANIMATE_DURATION,
|
||||||
|
easing : 'linear',
|
||||||
|
opacity : 1
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
[...item.parentNode.children].forEach(element => {
|
||||||
|
element.classList.remove(activeTabClassName);
|
||||||
|
});
|
||||||
|
item.classList.add(activeTabClassName);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
window.addEventListener('resize', NexT.utils.initSidebarDimension);
|
||||||
|
|
||||||
|
window.addEventListener('hashchange', () => {
|
||||||
|
var tHash = location.hash;
|
||||||
|
if (tHash !== '' && !tHash.match(/%\S{2}/)) {
|
||||||
|
var target = document.querySelector(`.tabs ul.nav-tabs li a[href="${tHash}"]`);
|
||||||
|
target && target.click();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
NexT.boot.refresh = function() {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Register JS handlers by condition option.
|
||||||
|
* Need to add config option in Front-End at 'layout/_partials/head.swig' file.
|
||||||
|
*/
|
||||||
|
CONFIG.fancybox && NexT.utils.wrapImageWithFancyBox();
|
||||||
|
CONFIG.mediumzoom && window.mediumZoom('.post-body :not(a) > img, .post-body > img');
|
||||||
|
CONFIG.lazyload && window.lozad('.post-body img').observe();
|
||||||
|
CONFIG.pangu && window.pangu.spacingPage();
|
||||||
|
|
||||||
|
CONFIG.exturl && NexT.utils.registerExtURL();
|
||||||
|
CONFIG.copycode.enable && NexT.utils.registerCopyCode();
|
||||||
|
NexT.utils.registerTabsTag();
|
||||||
|
NexT.utils.registerActiveMenuItem();
|
||||||
|
NexT.utils.registerSidebarTOC();
|
||||||
|
NexT.utils.wrapTableWithBox();
|
||||||
|
NexT.utils.registerVideoIframe();
|
||||||
|
};
|
||||||
|
|
||||||
|
NexT.boot.motion = function() {
|
||||||
|
// Define Motion Sequence & Bootstrap Motion.
|
||||||
|
if (CONFIG.motion.enable) {
|
||||||
|
NexT.motion.integrator
|
||||||
|
.add(NexT.motion.middleWares.logo)
|
||||||
|
.add(NexT.motion.middleWares.menu)
|
||||||
|
.add(NexT.motion.middleWares.postList)
|
||||||
|
.add(NexT.motion.middleWares.sidebar)
|
||||||
|
.bootstrap();
|
||||||
|
} else {
|
||||||
|
NexT.utils.updateSidebarPosition();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
window.addEventListener('DOMContentLoaded', () => {
|
||||||
|
NexT.boot.registerEvents();
|
||||||
|
NexT.boot.refresh();
|
||||||
|
NexT.boot.motion();
|
||||||
|
});
|
133
js/schemes/muse.js
Normal file
@ -0,0 +1,133 @@
|
|||||||
|
/* global NexT, CONFIG, Velocity */
|
||||||
|
|
||||||
|
window.addEventListener('DOMContentLoaded', () => {
|
||||||
|
|
||||||
|
var isRight = CONFIG.sidebar.position === 'right';
|
||||||
|
var SIDEBAR_WIDTH = CONFIG.sidebar.width || 320;
|
||||||
|
var SIDEBAR_DISPLAY_DURATION = 400;
|
||||||
|
var mousePos = {}; var touchPos = {};
|
||||||
|
|
||||||
|
var sidebarToggleLines = {
|
||||||
|
lines: document.querySelector('.sidebar-toggle'),
|
||||||
|
init : function() {
|
||||||
|
this.lines.classList.remove('toggle-arrow', 'toggle-close');
|
||||||
|
},
|
||||||
|
arrow: function() {
|
||||||
|
this.lines.classList.remove('toggle-close');
|
||||||
|
this.lines.classList.add('toggle-arrow');
|
||||||
|
},
|
||||||
|
close: function() {
|
||||||
|
this.lines.classList.remove('toggle-arrow');
|
||||||
|
this.lines.classList.add('toggle-close');
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
var sidebarToggleMotion = {
|
||||||
|
sidebarEl : document.querySelector('.sidebar'),
|
||||||
|
isSidebarVisible: false,
|
||||||
|
init : function() {
|
||||||
|
sidebarToggleLines.init();
|
||||||
|
|
||||||
|
window.addEventListener('mousedown', this.mousedownHandler.bind(this));
|
||||||
|
window.addEventListener('mouseup', this.mouseupHandler.bind(this));
|
||||||
|
document.querySelector('#sidebar-dimmer').addEventListener('click', this.clickHandler.bind(this));
|
||||||
|
document.querySelector('.sidebar-toggle').addEventListener('click', this.clickHandler.bind(this));
|
||||||
|
document.querySelector('.sidebar-toggle').addEventListener('mouseenter', this.mouseEnterHandler.bind(this));
|
||||||
|
document.querySelector('.sidebar-toggle').addEventListener('mouseleave', this.mouseLeaveHandler.bind(this));
|
||||||
|
this.sidebarEl.addEventListener('touchstart', this.touchstartHandler.bind(this));
|
||||||
|
this.sidebarEl.addEventListener('touchend', this.touchendHandler.bind(this));
|
||||||
|
this.sidebarEl.addEventListener('touchmove', event => event.preventDefault());
|
||||||
|
window.addEventListener('sidebar:show', this.showSidebar.bind(this));
|
||||||
|
window.addEventListener('sidebar:hide', this.hideSidebar.bind(this));
|
||||||
|
},
|
||||||
|
mousedownHandler: function(event) {
|
||||||
|
mousePos.X = event.pageX;
|
||||||
|
mousePos.Y = event.pageY;
|
||||||
|
},
|
||||||
|
mouseupHandler: function(event) {
|
||||||
|
var deltaX = event.pageX - mousePos.X;
|
||||||
|
var deltaY = event.pageY - mousePos.Y;
|
||||||
|
var clickingBlankPart = Math.sqrt((deltaX * deltaX) + (deltaY * deltaY)) < 20 && event.target.matches('.main');
|
||||||
|
if (this.isSidebarVisible && (clickingBlankPart || event.target.matches('img.medium-zoom-image, .fancybox img'))) {
|
||||||
|
this.hideSidebar();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
clickHandler: function() {
|
||||||
|
this.isSidebarVisible ? this.hideSidebar() : this.showSidebar();
|
||||||
|
},
|
||||||
|
mouseEnterHandler: function() {
|
||||||
|
if (!this.isSidebarVisible) {
|
||||||
|
sidebarToggleLines.arrow();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mouseLeaveHandler: function() {
|
||||||
|
if (!this.isSidebarVisible) {
|
||||||
|
sidebarToggleLines.init();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
touchstartHandler: function(event) {
|
||||||
|
touchPos.X = event.touches[0].clientX;
|
||||||
|
touchPos.Y = event.touches[0].clientY;
|
||||||
|
},
|
||||||
|
touchendHandler: function(event) {
|
||||||
|
var deltaX = event.changedTouches[0].clientX - touchPos.X;
|
||||||
|
var deltaY = event.changedTouches[0].clientY - touchPos.Y;
|
||||||
|
var effectiveSliding = Math.abs(deltaY) < 20 && ((deltaX > 30 && isRight) || (deltaX < -30 && !isRight));
|
||||||
|
if (this.isSidebarVisible && effectiveSliding) {
|
||||||
|
this.hideSidebar();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
showSidebar: function() {
|
||||||
|
this.isSidebarVisible = true;
|
||||||
|
this.sidebarEl.classList.add('sidebar-active');
|
||||||
|
if (typeof Velocity === 'function') {
|
||||||
|
Velocity(document.querySelectorAll('.sidebar .motion-element'), isRight ? 'transition.slideRightIn' : 'transition.slideLeftIn', {
|
||||||
|
stagger: 50,
|
||||||
|
drag : true
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
sidebarToggleLines.close();
|
||||||
|
NexT.utils.isDesktop() && window.anime(Object.assign({
|
||||||
|
targets : document.body,
|
||||||
|
duration: SIDEBAR_DISPLAY_DURATION,
|
||||||
|
easing : 'linear'
|
||||||
|
}, isRight ? {
|
||||||
|
'padding-right': SIDEBAR_WIDTH
|
||||||
|
} : {
|
||||||
|
'padding-left': SIDEBAR_WIDTH
|
||||||
|
}));
|
||||||
|
},
|
||||||
|
hideSidebar: function() {
|
||||||
|
this.isSidebarVisible = false;
|
||||||
|
this.sidebarEl.classList.remove('sidebar-active');
|
||||||
|
|
||||||
|
sidebarToggleLines.init();
|
||||||
|
NexT.utils.isDesktop() && window.anime(Object.assign({
|
||||||
|
targets : document.body,
|
||||||
|
duration: SIDEBAR_DISPLAY_DURATION,
|
||||||
|
easing : 'linear'
|
||||||
|
}, isRight ? {
|
||||||
|
'padding-right': 0
|
||||||
|
} : {
|
||||||
|
'padding-left': 0
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
};
|
||||||
|
sidebarToggleMotion.init();
|
||||||
|
|
||||||
|
function updateFooterPosition() {
|
||||||
|
var containerHeight = document.querySelector('.container').offsetHeight;
|
||||||
|
var footer = document.getElementById('footer');
|
||||||
|
if (footer.classList.contains('footer-fixed')) containerHeight += footer.outerHeight(true);
|
||||||
|
if (containerHeight > window.innerHeight) {
|
||||||
|
footer.classList.remove('footer-fixed');
|
||||||
|
} else {
|
||||||
|
footer.classList.add('footer-fixed');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
updateFooterPosition();
|
||||||
|
window.addEventListener('resize', updateFooterPosition);
|
||||||
|
window.addEventListener('scroll', updateFooterPosition);
|
||||||
|
});
|
86
js/schemes/pisces.js
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
/* global NexT, CONFIG */
|
||||||
|
|
||||||
|
var Affix = {
|
||||||
|
init: function(element, options) {
|
||||||
|
this.element = element;
|
||||||
|
this.offset = options || 0;
|
||||||
|
this.affixed = null;
|
||||||
|
this.unpin = null;
|
||||||
|
this.pinnedOffset = null;
|
||||||
|
this.checkPosition();
|
||||||
|
window.addEventListener('scroll', this.checkPosition.bind(this));
|
||||||
|
window.addEventListener('click', this.checkPositionWithEventLoop.bind(this));
|
||||||
|
window.matchMedia('(min-width: 992px)').addListener(event => {
|
||||||
|
if (event.matches) {
|
||||||
|
this.offset = NexT.utils.getAffixParam();
|
||||||
|
this.checkPosition();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
getState: function(scrollHeight, height, offsetTop, offsetBottom) {
|
||||||
|
let scrollTop = window.scrollY;
|
||||||
|
let targetHeight = window.innerHeight;
|
||||||
|
if (offsetTop != null && this.affixed === 'top') return scrollTop < offsetTop ? 'top' : false;
|
||||||
|
if (this.affixed === 'bottom') {
|
||||||
|
if (offsetTop != null) return this.unpin <= this.element.getBoundingClientRect().top ? false : 'bottom';
|
||||||
|
return scrollTop + targetHeight <= scrollHeight - offsetBottom ? false : 'bottom';
|
||||||
|
}
|
||||||
|
let initializing = this.affixed === null;
|
||||||
|
let colliderTop = initializing ? scrollTop : this.element.getBoundingClientRect().top + scrollTop;
|
||||||
|
let colliderHeight = initializing ? targetHeight : height;
|
||||||
|
if (offsetTop != null && scrollTop <= offsetTop) return 'top';
|
||||||
|
if (offsetBottom != null && (colliderTop + colliderHeight >= scrollHeight - offsetBottom)) return 'bottom';
|
||||||
|
return false;
|
||||||
|
},
|
||||||
|
getPinnedOffset: function() {
|
||||||
|
if (this.pinnedOffset) return this.pinnedOffset;
|
||||||
|
this.element.classList.remove('affix-top', 'affix-bottom');
|
||||||
|
this.element.classList.add('affix');
|
||||||
|
return (this.pinnedOffset = this.element.getBoundingClientRect().top);
|
||||||
|
},
|
||||||
|
checkPositionWithEventLoop() {
|
||||||
|
setTimeout(this.checkPosition.bind(this), 1);
|
||||||
|
},
|
||||||
|
checkPosition: function() {
|
||||||
|
if (window.getComputedStyle(this.element).display === 'none') return;
|
||||||
|
let height = this.element.offsetHeight - CONFIG.sidebarPadding;
|
||||||
|
let offset = this.offset;
|
||||||
|
let offsetTop = offset.top;
|
||||||
|
let offsetBottom = offset.bottom;
|
||||||
|
let scrollHeight = document.body.scrollHeight;
|
||||||
|
let affix = this.getState(scrollHeight, height, offsetTop, offsetBottom);
|
||||||
|
if (this.affixed !== affix) {
|
||||||
|
if (this.unpin != null) this.element.style.top = '';
|
||||||
|
let affixType = 'affix' + (affix ? '-' + affix : '');
|
||||||
|
this.affixed = affix;
|
||||||
|
this.unpin = affix === 'bottom' ? this.getPinnedOffset() : null;
|
||||||
|
this.element.classList.remove('affix', 'affix-top', 'affix-bottom');
|
||||||
|
this.element.classList.add(affixType);
|
||||||
|
}
|
||||||
|
if (affix === 'bottom') {
|
||||||
|
this.element.style.top = scrollHeight - height - offsetBottom + 'px';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
NexT.utils.getAffixParam = function() {
|
||||||
|
const sidebarOffset = CONFIG.sidebar.offset || 12;
|
||||||
|
|
||||||
|
let headerOffset = document.querySelector('.header-inner').offsetHeight + sidebarOffset;
|
||||||
|
let footer = document.querySelector('#footer');
|
||||||
|
let footerInner = document.querySelector('.footer-inner');
|
||||||
|
let footerMargin = footer.offsetHeight - footerInner.offsetHeight;
|
||||||
|
let footerOffset = footer.offsetHeight + footerMargin;
|
||||||
|
|
||||||
|
document.querySelector('.sidebar').style.marginTop = headerOffset + 'px';
|
||||||
|
|
||||||
|
return {
|
||||||
|
top : headerOffset - sidebarOffset,
|
||||||
|
bottom: footerOffset
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
window.addEventListener('DOMContentLoaded', () => {
|
||||||
|
|
||||||
|
Affix.init(document.querySelector('.sidebar-inner'), NexT.utils.getAffixParam());
|
||||||
|
});
|
415
js/utils.js
Normal file
@ -0,0 +1,415 @@
|
|||||||
|
/* global NexT, CONFIG */
|
||||||
|
|
||||||
|
HTMLElement.prototype.outerHeight = function(flag) {
|
||||||
|
var height = this.offsetHeight;
|
||||||
|
if (!flag) return height;
|
||||||
|
var style = window.getComputedStyle(this);
|
||||||
|
height += parseInt(style.marginTop, 10) + parseInt(style.marginBottom, 10);
|
||||||
|
return height;
|
||||||
|
};
|
||||||
|
|
||||||
|
HTMLElement.prototype.wrap = function(wrapper) {
|
||||||
|
this.parentNode.insertBefore(wrapper, this);
|
||||||
|
this.parentNode.removeChild(this);
|
||||||
|
wrapper.appendChild(this);
|
||||||
|
};
|
||||||
|
|
||||||
|
NexT.utils = {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Wrap images with fancybox.
|
||||||
|
*/
|
||||||
|
wrapImageWithFancyBox: function() {
|
||||||
|
document.querySelectorAll('.post-body :not(a) > img, .post-body > img').forEach(element => {
|
||||||
|
var $image = $(element);
|
||||||
|
var imageLink = $image.attr('data-src') || $image.attr('src');
|
||||||
|
var $imageWrapLink = $image.wrap(`<a class="fancybox fancybox.image" href="${imageLink}" itemscope itemtype="http://schema.org/ImageObject" itemprop="url"></a>`).parent('a');
|
||||||
|
if ($image.is('.post-gallery img')) {
|
||||||
|
$imageWrapLink.addClass('post-gallery-img');
|
||||||
|
$imageWrapLink.attr('data-fancybox', 'gallery').attr('rel', 'gallery');
|
||||||
|
} else if ($image.is('.group-picture img')) {
|
||||||
|
$imageWrapLink.attr('data-fancybox', 'group').attr('rel', 'group');
|
||||||
|
} else {
|
||||||
|
$imageWrapLink.attr('data-fancybox', 'default').attr('rel', 'default');
|
||||||
|
}
|
||||||
|
|
||||||
|
var imageTitle = $image.attr('title') || $image.attr('alt');
|
||||||
|
if (imageTitle) {
|
||||||
|
$imageWrapLink.append(`<p class="image-caption">${imageTitle}</p>`);
|
||||||
|
// Make sure img title tag will show correctly in fancybox
|
||||||
|
$imageWrapLink.attr('title', imageTitle).attr('data-caption', imageTitle);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$.fancybox.defaults.hash = false;
|
||||||
|
$('.fancybox').fancybox({
|
||||||
|
loop : true,
|
||||||
|
helpers: {
|
||||||
|
overlay: {
|
||||||
|
locked: false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
registerExtURL: function() {
|
||||||
|
document.querySelectorAll('.exturl').forEach(element => {
|
||||||
|
element.addEventListener('click', event => {
|
||||||
|
var exturl = event.currentTarget.getAttribute('data-url');
|
||||||
|
var decurl = decodeURIComponent(escape(window.atob(exturl)));
|
||||||
|
window.open(decurl, '_blank', 'noopener');
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* One-click copy code support.
|
||||||
|
*/
|
||||||
|
registerCopyCode: function() {
|
||||||
|
document.querySelectorAll('figure.highlight').forEach(e => {
|
||||||
|
const initButton = button => {
|
||||||
|
if (CONFIG.copycode.style === 'mac') {
|
||||||
|
button.innerHTML = '<i class="fa fa-clipboard"></i>';
|
||||||
|
} else {
|
||||||
|
button.innerText = CONFIG.translation.copy_button;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
const box = document.createElement('div');
|
||||||
|
box.classList.add('highlight-wrap');
|
||||||
|
e.wrap(box);
|
||||||
|
e.parentNode.insertAdjacentHTML('beforeend', '<div class="copy-btn"></div>');
|
||||||
|
var button = e.parentNode.querySelector('.copy-btn');
|
||||||
|
button.addEventListener('click', event => {
|
||||||
|
var target = event.currentTarget;
|
||||||
|
var code = [...target.parentNode.querySelectorAll('.code .line')].map(element => {
|
||||||
|
return element.innerText;
|
||||||
|
}).join('\n');
|
||||||
|
var ta = document.createElement('textarea');
|
||||||
|
var yPosition = window.scrollY;
|
||||||
|
ta.style.top = yPosition + 'px'; // Prevent page scrolling
|
||||||
|
ta.style.position = 'absolute';
|
||||||
|
ta.style.opacity = '0';
|
||||||
|
ta.readOnly = true;
|
||||||
|
ta.value = code;
|
||||||
|
document.body.append(ta);
|
||||||
|
const selection = document.getSelection();
|
||||||
|
const selected = selection.rangeCount > 0 ? selection.getRangeAt(0) : false;
|
||||||
|
ta.select();
|
||||||
|
ta.setSelectionRange(0, code.length);
|
||||||
|
ta.readOnly = false;
|
||||||
|
var result = document.execCommand('copy');
|
||||||
|
if (CONFIG.copycode.show_result) {
|
||||||
|
target.innerText = result ? CONFIG.translation.copy_success : CONFIG.translation.copy_failure;
|
||||||
|
}
|
||||||
|
ta.blur(); // For iOS
|
||||||
|
target.blur();
|
||||||
|
if (selected) {
|
||||||
|
selection.removeAllRanges();
|
||||||
|
selection.addRange(selected);
|
||||||
|
}
|
||||||
|
document.body.removeChild(ta);
|
||||||
|
});
|
||||||
|
button.addEventListener('mouseleave', event => {
|
||||||
|
setTimeout(() => {
|
||||||
|
initButton(event.target);
|
||||||
|
}, 300);
|
||||||
|
});
|
||||||
|
initButton(button);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
wrapTableWithBox: function() {
|
||||||
|
document.querySelectorAll('table').forEach(table => {
|
||||||
|
const box = document.createElement('div');
|
||||||
|
box.className = 'table-container';
|
||||||
|
table.wrap(box);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
registerVideoIframe: function() {
|
||||||
|
document.querySelectorAll('iframe').forEach(element => {
|
||||||
|
const SUPPORTED_PLAYERS = [
|
||||||
|
'www.youtube.com',
|
||||||
|
'player.vimeo.com',
|
||||||
|
'player.youku.com',
|
||||||
|
'player.bilibili.com',
|
||||||
|
'www.tudou.com'
|
||||||
|
];
|
||||||
|
const pattern = new RegExp(SUPPORTED_PLAYERS.join('|'));
|
||||||
|
if (!element.parentNode.matches('.video-container') && element.src.search(pattern) > 0) {
|
||||||
|
const box = document.createElement('div');
|
||||||
|
box.className = 'video-container';
|
||||||
|
element.wrap(box);
|
||||||
|
let width = Number(element.width); let height = Number(element.height);
|
||||||
|
if (width && height) {
|
||||||
|
element.parentNode.style.paddingTop = (height / width * 100) + '%';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
registerScrollPercent: function() {
|
||||||
|
var THRESHOLD = 50;
|
||||||
|
var backToTop = document.querySelector('.back-to-top');
|
||||||
|
var readingProgressBar = document.querySelector('.reading-progress-bar');
|
||||||
|
// For init back to top in sidebar if page was scrolled after page refresh.
|
||||||
|
window.addEventListener('scroll', () => {
|
||||||
|
var scrollPercent;
|
||||||
|
if (backToTop || readingProgressBar) {
|
||||||
|
var docHeight = document.querySelector('.container').offsetHeight;
|
||||||
|
var winHeight = window.innerHeight;
|
||||||
|
var contentVisibilityHeight = docHeight > winHeight ? docHeight - winHeight : document.body.scrollHeight - winHeight;
|
||||||
|
var scrollPercentRounded = Math.round(100 * window.scrollY / contentVisibilityHeight);
|
||||||
|
scrollPercent = Math.min(scrollPercentRounded, 100) + '%';
|
||||||
|
}
|
||||||
|
if (backToTop) {
|
||||||
|
window.scrollY > THRESHOLD ? backToTop.classList.add('back-to-top-on') : backToTop.classList.remove('back-to-top-on');
|
||||||
|
backToTop.querySelector('span').innerText = scrollPercent;
|
||||||
|
}
|
||||||
|
if (readingProgressBar) {
|
||||||
|
readingProgressBar.style.width = scrollPercent;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
backToTop && backToTop.addEventListener('click', () => {
|
||||||
|
window.anime({
|
||||||
|
targets : [document.documentElement, document.body],
|
||||||
|
duration : 500,
|
||||||
|
easing : 'linear',
|
||||||
|
scrollTop: 0
|
||||||
|
});
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tabs tag listener (without twitter bootstrap).
|
||||||
|
*/
|
||||||
|
registerTabsTag: function() {
|
||||||
|
// Binding `nav-tabs` & `tab-content` by real time permalink changing.
|
||||||
|
document.querySelectorAll('.tabs ul.nav-tabs .tab').forEach(tab => {
|
||||||
|
tab.addEventListener('click', event => {
|
||||||
|
event.preventDefault();
|
||||||
|
var target = event.currentTarget;
|
||||||
|
// Prevent selected tab to select again.
|
||||||
|
if (!target.classList.contains('active')) {
|
||||||
|
// Add & Remove active class on `nav-tabs` & `tab-content`.
|
||||||
|
[...target.parentNode.children].forEach(item => {
|
||||||
|
item.classList.remove('active');
|
||||||
|
});
|
||||||
|
target.classList.add('active');
|
||||||
|
var tActive = document.getElementById(target.querySelector('a').getAttribute('href').replace('#', ''));
|
||||||
|
[...tActive.parentNode.children].forEach(item => {
|
||||||
|
item.classList.remove('active');
|
||||||
|
});
|
||||||
|
tActive.classList.add('active');
|
||||||
|
// Trigger event
|
||||||
|
tActive.dispatchEvent(new Event('tabs:click', {
|
||||||
|
bubbles: true
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
window.dispatchEvent(new Event('tabs:register'));
|
||||||
|
},
|
||||||
|
|
||||||
|
registerCanIUseTag: function() {
|
||||||
|
// Get responsive height passed from iframe.
|
||||||
|
window.addEventListener('message', e => {
|
||||||
|
var data = e.data;
|
||||||
|
if ((typeof data === 'string') && (data.indexOf('ciu_embed') > -1)) {
|
||||||
|
var featureID = data.split(':')[1];
|
||||||
|
var height = data.split(':')[2];
|
||||||
|
document.querySelector(`iframe[data-feature=${featureID}]`).style.height = parseInt(height, 10) + 'px';
|
||||||
|
}
|
||||||
|
}, false);
|
||||||
|
},
|
||||||
|
|
||||||
|
registerActiveMenuItem: function() {
|
||||||
|
document.querySelectorAll('.menu-item').forEach(element => {
|
||||||
|
var target = element.querySelector('a[href]');
|
||||||
|
if (!target) return;
|
||||||
|
var isSamePath = target.pathname === location.pathname || target.pathname === location.pathname.replace('index.html', '');
|
||||||
|
var isSubPath = target.pathname !== CONFIG.root && location.pathname.indexOf(target.pathname) === 0;
|
||||||
|
if (target.hostname === location.hostname && (isSamePath || isSubPath)) {
|
||||||
|
element.classList.add('menu-item-active');
|
||||||
|
} else {
|
||||||
|
element.classList.remove('menu-item-active');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
registerSidebarTOC: function() {
|
||||||
|
const navItems = document.querySelectorAll('.post-toc li');
|
||||||
|
const sections = [...navItems].map(element => {
|
||||||
|
var link = element.querySelector('a.nav-link');
|
||||||
|
// TOC item animation navigate.
|
||||||
|
link.addEventListener('click', event => {
|
||||||
|
event.preventDefault();
|
||||||
|
var target = document.getElementById(event.currentTarget.getAttribute('href').replace('#', ''));
|
||||||
|
var offset = target.getBoundingClientRect().top + window.scrollY;
|
||||||
|
window.anime({
|
||||||
|
targets : [document.documentElement, document.body],
|
||||||
|
duration : 500,
|
||||||
|
easing : 'linear',
|
||||||
|
scrollTop: offset + 10
|
||||||
|
});
|
||||||
|
});
|
||||||
|
return document.getElementById(link.getAttribute('href').replace('#', ''));
|
||||||
|
});
|
||||||
|
|
||||||
|
var tocElement = document.querySelector('.post-toc-wrap');
|
||||||
|
function activateNavByIndex(target) {
|
||||||
|
if (target.classList.contains('active-current')) return;
|
||||||
|
|
||||||
|
document.querySelectorAll('.post-toc .active').forEach(element => {
|
||||||
|
element.classList.remove('active', 'active-current');
|
||||||
|
});
|
||||||
|
target.classList.add('active', 'active-current');
|
||||||
|
var parent = target.parentNode;
|
||||||
|
while (!parent.matches('.post-toc')) {
|
||||||
|
if (parent.matches('li')) parent.classList.add('active');
|
||||||
|
parent = parent.parentNode;
|
||||||
|
}
|
||||||
|
// Scrolling to center active TOC element if TOC content is taller then viewport.
|
||||||
|
window.anime({
|
||||||
|
targets : tocElement,
|
||||||
|
duration : 200,
|
||||||
|
easing : 'linear',
|
||||||
|
scrollTop: tocElement.scrollTop - (tocElement.offsetHeight / 2) + target.getBoundingClientRect().top - tocElement.getBoundingClientRect().top
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function findIndex(entries) {
|
||||||
|
let index = 0;
|
||||||
|
let entry = entries[index];
|
||||||
|
if (entry.boundingClientRect.top > 0) {
|
||||||
|
index = sections.indexOf(entry.target);
|
||||||
|
return index === 0 ? 0 : index - 1;
|
||||||
|
}
|
||||||
|
for (;index < entries.length; index++) {
|
||||||
|
if (entries[index].boundingClientRect.top <= 0) {
|
||||||
|
entry = entries[index];
|
||||||
|
} else {
|
||||||
|
return sections.indexOf(entry.target);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return sections.indexOf(entry.target);
|
||||||
|
}
|
||||||
|
|
||||||
|
function createIntersectionObserver(marginTop) {
|
||||||
|
marginTop = Math.floor(marginTop + 10000);
|
||||||
|
let intersectionObserver = new IntersectionObserver((entries, observe) => {
|
||||||
|
let scrollHeight = document.documentElement.scrollHeight + 100;
|
||||||
|
if (scrollHeight > marginTop) {
|
||||||
|
observe.disconnect();
|
||||||
|
createIntersectionObserver(scrollHeight);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
let index = findIndex(entries);
|
||||||
|
activateNavByIndex(navItems[index]);
|
||||||
|
}, {
|
||||||
|
rootMargin: marginTop + 'px 0px -100% 0px',
|
||||||
|
threshold : 0
|
||||||
|
});
|
||||||
|
sections.forEach(item => intersectionObserver.observe(item));
|
||||||
|
}
|
||||||
|
createIntersectionObserver(document.documentElement.scrollHeight);
|
||||||
|
},
|
||||||
|
|
||||||
|
hasMobileUA: function() {
|
||||||
|
var ua = navigator.userAgent;
|
||||||
|
var pa = /iPad|iPhone|Android|Opera Mini|BlackBerry|webOS|UCWEB|Blazer|PSP|IEMobile|Symbian/g;
|
||||||
|
|
||||||
|
return pa.test(ua);
|
||||||
|
},
|
||||||
|
|
||||||
|
isTablet: function() {
|
||||||
|
return window.screen.width < 992 && window.screen.width > 767 && this.hasMobileUA();
|
||||||
|
},
|
||||||
|
|
||||||
|
isMobile: function() {
|
||||||
|
return window.screen.width < 767 && this.hasMobileUA();
|
||||||
|
},
|
||||||
|
|
||||||
|
isDesktop: function() {
|
||||||
|
return !this.isTablet() && !this.isMobile();
|
||||||
|
},
|
||||||
|
|
||||||
|
isMuse: function() {
|
||||||
|
return CONFIG.scheme === 'Muse';
|
||||||
|
},
|
||||||
|
|
||||||
|
isMist: function() {
|
||||||
|
return CONFIG.scheme === 'Mist';
|
||||||
|
},
|
||||||
|
|
||||||
|
isPisces: function() {
|
||||||
|
return CONFIG.scheme === 'Pisces';
|
||||||
|
},
|
||||||
|
|
||||||
|
isGemini: function() {
|
||||||
|
return CONFIG.scheme === 'Gemini';
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Init Sidebar & TOC inner dimensions on all pages and for all schemes.
|
||||||
|
* Need for Sidebar/TOC inner scrolling if content taller then viewport.
|
||||||
|
*/
|
||||||
|
initSidebarDimension: function() {
|
||||||
|
var sidebarNav = document.querySelector('.sidebar-nav');
|
||||||
|
var sidebarNavHeight = sidebarNav.style.display !== 'none' ? sidebarNav.outerHeight(true) : 0;
|
||||||
|
var sidebarOffset = CONFIG.sidebar.offset || 12;
|
||||||
|
var sidebarb2tHeight = CONFIG.back2top.enable && CONFIG.back2top.sidebar ? document.querySelector('.back-to-top').offsetHeight : 0;
|
||||||
|
var sidebarSchemePadding = CONFIG.sidebarPadding + sidebarNavHeight + sidebarb2tHeight;
|
||||||
|
// Margin of sidebar b2t: 8px -10px -20px, brings a different of 12px.
|
||||||
|
if (NexT.utils.isPisces() || NexT.utils.isGemini()) sidebarSchemePadding += (sidebarOffset * 2) - 12;
|
||||||
|
// Initialize Sidebar & TOC Height.
|
||||||
|
var sidebarWrapperHeight = document.body.offsetHeight - sidebarSchemePadding + 'px';
|
||||||
|
document.querySelector('.site-overview-wrap').style.maxHeight = sidebarWrapperHeight;
|
||||||
|
document.querySelector('.post-toc-wrap').style.maxHeight = sidebarWrapperHeight;
|
||||||
|
},
|
||||||
|
|
||||||
|
updateSidebarPosition: function() {
|
||||||
|
var sidebarNav = document.querySelector('.sidebar-nav');
|
||||||
|
var hasTOC = document.querySelector('.post-toc');
|
||||||
|
if (hasTOC) {
|
||||||
|
sidebarNav.style.display = '';
|
||||||
|
sidebarNav.classList.add('motion-element');
|
||||||
|
document.querySelector('.sidebar-nav-toc').click();
|
||||||
|
} else {
|
||||||
|
sidebarNav.style.display = 'none';
|
||||||
|
sidebarNav.classList.remove('motion-element');
|
||||||
|
document.querySelector('.sidebar-nav-overview').click();
|
||||||
|
}
|
||||||
|
NexT.utils.initSidebarDimension();
|
||||||
|
if (!this.isDesktop() || this.isPisces() || this.isGemini()) return;
|
||||||
|
// Expand sidebar on post detail page by default, when post has a toc.
|
||||||
|
var display = CONFIG.page.sidebar;
|
||||||
|
if (typeof display !== 'boolean') {
|
||||||
|
// There's no definition sidebar in the page front-matter.
|
||||||
|
display = CONFIG.sidebar.display === 'always' || (CONFIG.sidebar.display === 'post' && hasTOC);
|
||||||
|
}
|
||||||
|
if (display) {
|
||||||
|
window.dispatchEvent(new Event('sidebar:show'));
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
getScript: function(url, callback, condition) {
|
||||||
|
if (condition) {
|
||||||
|
callback();
|
||||||
|
} else {
|
||||||
|
var script = document.createElement('script');
|
||||||
|
script.onload = script.onreadystatechange = function(_, isAbort) {
|
||||||
|
if (isAbort || !script.readyState || /loaded|complete/.test(script.readyState)) {
|
||||||
|
script.onload = script.onreadystatechange = null;
|
||||||
|
script = undefined;
|
||||||
|
if (!isAbort && callback) setTimeout(callback, 0);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
script.src = url;
|
||||||
|
document.head.appendChild(script);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
8
lib/anime.min.js
vendored
Normal file
7
lib/font-awesome/HELP-US-OUT.txt
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
I hope you love Font Awesome. If you've found it useful, please do me a favor and check out my latest project,
|
||||||
|
Fort Awesome (https://fortawesome.com). It makes it easy to put the perfect icons on your website. Choose from our awesome,
|
||||||
|
comprehensive icon sets or copy and paste your own.
|
||||||
|
|
||||||
|
Please. Check it out.
|
||||||
|
|
||||||
|
-Dave Gandy
|
1
lib/font-awesome/bower.json
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"name":"font-awesome","description":"Font Awesome","keywords":[],"homepage":"http://fontawesome.io","dependencies":{},"devDependencies":{},"license":["OFL-1.1","MIT","CC-BY-3.0"],"main":["less/font-awesome.less","scss/font-awesome.scss"],"ignore":["*/.*","*.json","src","*.yml","Gemfile","Gemfile.lock","*.md"]}
|
2337
lib/font-awesome/css/font-awesome.css
vendored
Normal file
7
lib/font-awesome/css/font-awesome.css.map
Normal file
4
lib/font-awesome/css/font-awesome.min.css
vendored
Normal file
BIN
lib/font-awesome/fonts/fontawesome-webfont.eot
Normal file
BIN
lib/font-awesome/fonts/fontawesome-webfont.woff
Normal file
BIN
lib/font-awesome/fonts/fontawesome-webfont.woff2
Normal file
4
lib/velocity/velocity.min.js
vendored
Normal file
2
lib/velocity/velocity.ui.min.js
vendored
Normal file
3740
package-lock.json
generated
26
package.json
@ -1,26 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "hexo-site",
|
|
||||||
"version": "0.0.0",
|
|
||||||
"private": true,
|
|
||||||
"scripts": {
|
|
||||||
"build": "hexo generate",
|
|
||||||
"clean": "hexo clean",
|
|
||||||
"deploy": "hexo deploy",
|
|
||||||
"server": "hexo server"
|
|
||||||
},
|
|
||||||
"hexo": {
|
|
||||||
"version": "3.9.0"
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"hexo": "^3.9.0",
|
|
||||||
"hexo-deployer-git": "^2.0.0",
|
|
||||||
"hexo-generator-archive": "^0.1.5",
|
|
||||||
"hexo-generator-category": "^0.1.3",
|
|
||||||
"hexo-generator-index": "^0.2.1",
|
|
||||||
"hexo-generator-tag": "^0.2.0",
|
|
||||||
"hexo-renderer-ejs": "^0.3.1",
|
|
||||||
"hexo-renderer-marked": "^2.0.0",
|
|
||||||
"hexo-renderer-stylus": "^0.3.3",
|
|
||||||
"hexo-server": "^0.3.3"
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,4 +0,0 @@
|
|||||||
---
|
|
||||||
title: {{ title }}
|
|
||||||
tags:
|
|
||||||
---
|
|
@ -1,4 +0,0 @@
|
|||||||
---
|
|
||||||
title: {{ title }}
|
|
||||||
date: {{ date }}
|
|
||||||
---
|
|
@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
title: {{ title }}
|
|
||||||
date: {{ date }}
|
|
||||||
tags:
|
|
||||||
---
|
|
@ -1,78 +0,0 @@
|
|||||||
---
|
|
||||||
title: NaoVision
|
|
||||||
date: 2019-10-09 23:22:44
|
|
||||||
tags:
|
|
||||||
---
|
|
||||||
|
|
||||||
# NaoVision Concise Document
|
|
||||||
|
|
||||||
## Project Summary
|
|
||||||
|
|
||||||
### Introduction
|
|
||||||
|
|
||||||
NaoVision is a dedicated NAO group of dedicated vision method solutions for NAO robots in the RoboCup competition. NaoVision was written in C++ and is designed to solve the problem that NAO robots in the Bhuman system under the original fixed threshold scheme for the color discrimination of the field is easily interfered by light and other factors, resulting in the actual game NAO robot for the objects in the field (especially football) The identification is not fast enough and accurate.
|
|
||||||
|
|
||||||
Correspondingly, for the judgment of the football field, NaoVision adopts the OTSU algorithm to realize the automatic adjustment of the image processing threshold, and is able to correctly identify and mark the field pixels in most cases without being affected by the light shadow.
|
|
||||||
|
|
||||||
Based on the color discrimination of the site, NaoVision creates a scan line in the picture. The boundary between the site and the non-site is determined by sampling and scanning the pixels where the scan line is located. The picture is then divided into part and non-site parts by connecting between the demarcation points.
|
|
||||||
|
|
||||||
In general, in order to reduce the computational overhead, NaoVision only calculates the picture pixels belonging to the site part. After determining the calculation range, NaoVison will create smaller scan lines within the calculation range for more detailed scanning and detection of objects within the calculation range.
|
|
||||||
|
|
||||||
Then, NaoVision limited the detection of circular objects in the field. The program will perform a uniform skip scan on the scan line. After detecting pixels that do not belong to the field within the calculation range, three non-collinear points are randomly selected around the pixel. Based on these three points, the scanning is performed in eight directions, and it is known that the pixels of the field are detected and returned. Then judge whether the 24 effective points are on a circle, and simultaneously calculate the center coordinates of the circle and its radius. After the circle is added to the candidate queue, the program will continue to scan the rest of the calculation area.
|
|
||||||
|
|
||||||
(To be continued)
|
|
||||||
|
|
||||||
### Main Component
|
|
||||||
|
|
||||||
Under NaoVision's solution (developed with Visual Studio 2019), there is
|
|
||||||
|
|
||||||
- **NAOFastTools** Core Toolset
|
|
||||||
- **NFTCommandLineTools** Common Command Line Tools
|
|
||||||
- **NFTDeamon** Daemon
|
|
||||||
- **NFTGUI** Debugging Interface
|
|
||||||
- **NFTTest** OpenCV Docking Toolset
|
|
||||||
- **UnitTest** Unit Test Project
|
|
||||||
|
|
||||||
### Brief Process Introduction
|
|
||||||
|
|
||||||
Problem Description: Due to various problems with the direct embedding scheme of NFT and BHuman, this project intends to adopt the independent process with BHuman.
|
|
||||||
|
|
||||||
In the actual game process, the **NAOFastTools Framework** is driven by the **NFTDeamon**, running in parallel with Nao qi and BHuman in the NAO robot system. **NFTDeamon** communicates with BHuman by sharing memory. Camera data is obtained from BHuman. After calculation, visual correction information is transmitted to BHuman. In the usual debugging process, you can use the **NFTCommandLineTools ** or **NFTGUI Debug Interface** to establish a connection with the **NFTDeamon** to monitor and adjust the **NAOFastTools Framework** or **BHuman ** Operating status and related parameters.
|
|
||||||
|
|
||||||
(To be continued)
|
|
||||||
|
|
||||||
#### Introduction To Each Component
|
|
||||||
|
|
||||||
##### 1. NAOFastTools Core Toolset
|
|
||||||
|
|
||||||
The core framework for image processing and storage of the solution and the corresponding graphics processing module stored in the NAOFastTools Core Tools Group (hereinafter referred to as NFT) is the core project of the solution. The project follows the C++14 standard, and a small portion of the code contains C++14 features (the system with BHuman2018 has libstdc++.so that supports C++14). NFT eventually generates a static link library (NAOFastTools.lib and NAOFastTools.a) that corresponds to Windows and Linux. NFT works by linking with other programs. In addition to compiling in the VS environment, the NFT framework can also be compiled in a Linux environment, provided that the clang, make, and cmake tools are properly installed. The following is an extremely simple introduction to several of the most important common classes and functions in the NFT (including not limited to the following) (the actual use requires code understanding).
|
|
||||||
|
|
||||||
OperaMatrix is a proxy class that is a layer of proxy access to the Matrix class of the Eigen linear algebra library. In addition to providing proxy access services, it also provides a smart pointer service that automatically creates and releases Matrix objects based on reference counts. One or more OperaMatrix corresponds to a Matrix object. OperaMatrix objects provide a variety of constructors to meet the needs of users in most situations. The elements in OperaMatrix are stored in memory in a column-first manner, and the user can directly get a pointer to the first element of the matrix via the getData() interface. The number of rows and columns of the matrix corresponding to OperaMatrix can be obtained using getRows() and getCols().
|
|
||||||
|
|
||||||
The Image class is a storage vector for images that contains one or more OpreaMatrix objects, corresponding to multiple channels of the image. An OperaMatrix stores pixel data for a corresponding channel. Normally, the type of pixel data (PIXEL_TYPE) is defined in NFT.h. The number of channels in an image can be obtained using the getColumns() method, and a reference to a channel can be obtained directly using the [] operator. The height and width of the image are obtained using the getHeight() and getWidth() methods.
|
|
||||||
|
|
||||||
The ImageYUV422 class inherits from the Image class, which provides storage for the compressed color space YUV422. Need to note that it has one and only one channel. In a specific memory implementation, it compresses the pixel data of three channels into one channel for storage. If you need to get the Y, Cr, and Cb values of a pixel, you can call getY(int, int), getCr(int, int), getCb(int, int) to access it. Further, if it is necessary to modify the Y, Cr, and Cb values of a certain pixel in the picture, the corresponding setter is called and the coordinate parameters of the pixel are provided.
|
|
||||||
|
|
||||||
The ImageColored class inherits from the ImageYUV422 class and has one and only one channel. It mainly provides a single-channel image storage function and is a storage carrier for the output of the site color discrimination module. It is also a storage carrier for input data for many other vision modules. It disables all of the features of the ImageYUV422 parent class that have operations on the YUV color space.
|
|
||||||
|
|
||||||
The ImageSaver class is a storage service class for the Image class. It can store the data in the Image object correctly in a file on a Windows or Linux system (.nftd suffix). It can also build the corresponding Image object by reading the file in .nftd format.
|
|
||||||
|
|
||||||
(To be continued)
|
|
||||||
|
|
||||||
##### 2. NFTGUI Debugging Interface
|
|
||||||
|
|
||||||
The NFTGUI debugging interface is based on Qt5. It is a visual debugging interface for NAOFastTools. It can output intermediate results and internal related parameters for processing each graphics processing module.
|
|
||||||
|
|
||||||
(To be continued)
|
|
||||||
|
|
||||||
##### 3.NFTTest Opencv Docking Toolset
|
|
||||||
|
|
||||||
The NFTTest Opencv Docking Toolset is a bridge between the NaoVision framework and the OpenCV framework. It provides a conversion function between the main data structures between the two frameworks. In addition, the project is also used for the most basic debugging information output during the development process. .
|
|
||||||
|
|
||||||
(To be continued)
|
|
||||||
|
|
||||||
##### 4.UnitTest
|
|
||||||
|
|
||||||
Based on the Google Test test framework, the unit test code of the core framework in NAOFastTools is stored. This code will ensure that the core framework can run efficiently and accurately, and it is convenient to discover the loopholes in the framework in time.
|
|
||||||
|
|
||||||
(To be continued)
|
|
3
themes/landscape/.gitignore
vendored
@ -1,3 +0,0 @@
|
|||||||
.DS_Store
|
|
||||||
node_modules
|
|
||||||
tmp
|
|
@ -1,46 +0,0 @@
|
|||||||
module.exports = function(grunt){
|
|
||||||
grunt.initConfig({
|
|
||||||
gitclone: {
|
|
||||||
fontawesome: {
|
|
||||||
options: {
|
|
||||||
repository: 'https://github.com/FortAwesome/Font-Awesome.git',
|
|
||||||
directory: 'tmp/fontawesome'
|
|
||||||
},
|
|
||||||
},
|
|
||||||
fancybox: {
|
|
||||||
options: {
|
|
||||||
repository: 'https://github.com/fancyapps/fancyBox.git',
|
|
||||||
directory: 'tmp/fancybox'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
copy: {
|
|
||||||
fontawesome: {
|
|
||||||
expand: true,
|
|
||||||
cwd: 'tmp/fontawesome/fonts/',
|
|
||||||
src: ['**'],
|
|
||||||
dest: 'source/css/fonts/'
|
|
||||||
},
|
|
||||||
fancybox: {
|
|
||||||
expand: true,
|
|
||||||
cwd: 'tmp/fancybox/source/',
|
|
||||||
src: ['**'],
|
|
||||||
dest: 'source/fancybox/'
|
|
||||||
}
|
|
||||||
},
|
|
||||||
_clean: {
|
|
||||||
tmp: ['tmp'],
|
|
||||||
fontawesome: ['source/css/fonts'],
|
|
||||||
fancybox: ['source/fancybox']
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
require('load-grunt-tasks')(grunt);
|
|
||||||
|
|
||||||
grunt.renameTask('clean', '_clean');
|
|
||||||
|
|
||||||
grunt.registerTask('fontawesome', ['gitclone:fontawesome', 'copy:fontawesome', '_clean:tmp']);
|
|
||||||
grunt.registerTask('fancybox', ['gitclone:fancybox', 'copy:fancybox', '_clean:tmp']);
|
|
||||||
grunt.registerTask('default', ['gitclone', 'copy', '_clean:tmp']);
|
|
||||||
grunt.registerTask('clean', ['_clean']);
|
|
||||||
};
|
|
@ -1,7 +0,0 @@
|
|||||||
Copyright (c) 2013 Tommy Chen
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
@ -1,112 +0,0 @@
|
|||||||
# Landscape
|
|
||||||
|
|
||||||
A brand new default theme for [Hexo].
|
|
||||||
|
|
||||||
- [Preview](http://hexo.io/hexo-theme-landscape/)
|
|
||||||
|
|
||||||
## Installation
|
|
||||||
|
|
||||||
### Install
|
|
||||||
|
|
||||||
``` bash
|
|
||||||
$ git clone https://github.com/hexojs/hexo-theme-landscape.git themes/landscape
|
|
||||||
```
|
|
||||||
|
|
||||||
**Landscape requires Hexo 2.4 and above.** If you would like to enable the RSS, the [hexo-generate-feed] plugin is also required.
|
|
||||||
|
|
||||||
### Enable
|
|
||||||
|
|
||||||
Modify `theme` setting in `_config.yml` to `landscape`.
|
|
||||||
|
|
||||||
### Update
|
|
||||||
|
|
||||||
``` bash
|
|
||||||
cd themes/landscape
|
|
||||||
git pull
|
|
||||||
```
|
|
||||||
|
|
||||||
## Configuration
|
|
||||||
|
|
||||||
``` yml
|
|
||||||
# Header
|
|
||||||
menu:
|
|
||||||
Home: /
|
|
||||||
Archives: /archives
|
|
||||||
rss: /atom.xml
|
|
||||||
|
|
||||||
# Content
|
|
||||||
excerpt_link: Read More
|
|
||||||
fancybox: true
|
|
||||||
|
|
||||||
# Sidebar
|
|
||||||
sidebar: right
|
|
||||||
widgets:
|
|
||||||
- category
|
|
||||||
- tag
|
|
||||||
- tagcloud
|
|
||||||
- archives
|
|
||||||
- recent_posts
|
|
||||||
|
|
||||||
# Miscellaneous
|
|
||||||
google_analytics:
|
|
||||||
favicon: /favicon.png
|
|
||||||
twitter:
|
|
||||||
google_plus:
|
|
||||||
```
|
|
||||||
|
|
||||||
- **menu** - Navigation menu
|
|
||||||
- **rss** - RSS link
|
|
||||||
- **excerpt_link** - "Read More" link at the bottom of excerpted articles. `false` to hide the link.
|
|
||||||
- **fancybox** - Enable [Fancybox]
|
|
||||||
- **sidebar** - Sidebar style. You can choose `left`, `right`, `bottom` or `false`.
|
|
||||||
- **widgets** - Widgets displaying in sidebar
|
|
||||||
- **google_analytics** - Google Analytics ID
|
|
||||||
- **favicon** - Favicon path
|
|
||||||
- **twitter** - Twiiter ID
|
|
||||||
- **google_plus** - Google+ ID
|
|
||||||
|
|
||||||
## Features
|
|
||||||
|
|
||||||
### Fancybox
|
|
||||||
|
|
||||||
Landscape uses [Fancybox] to showcase your photos. You can use Markdown syntax or fancybox tag plugin to add your photos.
|
|
||||||
|
|
||||||
```
|
|
||||||
![img caption](img url)
|
|
||||||
|
|
||||||
{% fancybox img_url [img_thumbnail] [img_caption] %}
|
|
||||||
```
|
|
||||||
|
|
||||||
### Sidebar
|
|
||||||
|
|
||||||
You can put your sidebar in left side, right side or bottom of your site by editing `sidebar` setting.
|
|
||||||
|
|
||||||
Landscape provides 5 built-in widgets:
|
|
||||||
|
|
||||||
- category
|
|
||||||
- tag
|
|
||||||
- tagcloud
|
|
||||||
- archives
|
|
||||||
- recent_posts
|
|
||||||
|
|
||||||
All of them are enabled by default. You can edit them in `widget` setting.
|
|
||||||
|
|
||||||
## Development
|
|
||||||
|
|
||||||
### Requirements
|
|
||||||
|
|
||||||
- [Grunt] 0.4+
|
|
||||||
- Hexo 2.4+
|
|
||||||
|
|
||||||
### Grunt tasks
|
|
||||||
|
|
||||||
- **default** - Download [Fancybox] and [Font Awesome].
|
|
||||||
- **fontawesome** - Only download [Font Awesome].
|
|
||||||
- **fancybox** - Only download [Fancybox].
|
|
||||||
- **clean** - Clean temporarily files and downloaded files.
|
|
||||||
|
|
||||||
[Hexo]: https://hexo.io/
|
|
||||||
[Fancybox]: http://fancyapps.com/fancybox/
|
|
||||||
[Font Awesome]: http://fontawesome.io/
|
|
||||||
[Grunt]: http://gruntjs.com/
|
|
||||||
[hexo-generate-feed]: https://github.com/hexojs/hexo-generator-feed
|
|
@ -1,37 +0,0 @@
|
|||||||
# Header
|
|
||||||
menu:
|
|
||||||
Home: /
|
|
||||||
Archives: /archives
|
|
||||||
rss: /atom.xml
|
|
||||||
|
|
||||||
# Content
|
|
||||||
excerpt_link: Read More
|
|
||||||
fancybox: true
|
|
||||||
|
|
||||||
# Sidebar
|
|
||||||
sidebar: right
|
|
||||||
widgets:
|
|
||||||
- category
|
|
||||||
- tag
|
|
||||||
- tagcloud
|
|
||||||
- archive
|
|
||||||
- recent_posts
|
|
||||||
|
|
||||||
# display widgets at the bottom of index pages (pagination == 2)
|
|
||||||
index_widgets:
|
|
||||||
# - category
|
|
||||||
# - tagcloud
|
|
||||||
# - archive
|
|
||||||
|
|
||||||
# widget behavior
|
|
||||||
archive_type: 'monthly'
|
|
||||||
show_count: false
|
|
||||||
|
|
||||||
# Miscellaneous
|
|
||||||
google_analytics:
|
|
||||||
gauges_analytics:
|
|
||||||
favicon: /favicon.png
|
|
||||||
twitter:
|
|
||||||
google_plus:
|
|
||||||
fb_admins:
|
|
||||||
fb_app_id:
|
|
@ -1,19 +0,0 @@
|
|||||||
categories: Kategorien
|
|
||||||
search: Suche
|
|
||||||
tags: Tags
|
|
||||||
tagcloud: Tag Cloud
|
|
||||||
tweets: Tweets
|
|
||||||
prev: zurück
|
|
||||||
next: weiter
|
|
||||||
comment: Kommentare
|
|
||||||
archive_a: Archiv
|
|
||||||
archive_b: "Archive: %s"
|
|
||||||
page: Seite %d
|
|
||||||
recent_posts: letzter Beitrag
|
|
||||||
newer: Neuer
|
|
||||||
older: Älter
|
|
||||||
share: Teilen
|
|
||||||
powered_by: Powered by
|
|
||||||
rss_feed: RSS Feed
|
|
||||||
category: Kategorie
|
|
||||||
tag: Tag
|
|
@ -1,19 +0,0 @@
|
|||||||
categories: Categories
|
|
||||||
search: Search
|
|
||||||
tags: Tags
|
|
||||||
tagcloud: Tag Cloud
|
|
||||||
tweets: Tweets
|
|
||||||
prev: Prev
|
|
||||||
next: Next
|
|
||||||
comment: Comments
|
|
||||||
archive_a: Archives
|
|
||||||
archive_b: "Archives: %s"
|
|
||||||
page: Page %d
|
|
||||||
recent_posts: Recent Posts
|
|
||||||
newer: Newer
|
|
||||||
older: Older
|
|
||||||
share: Share
|
|
||||||
powered_by: Powered by
|
|
||||||
rss_feed: RSS Feed
|
|
||||||
category: Category
|
|
||||||
tag: Tag
|
|
@ -1,19 +0,0 @@
|
|||||||
categories: Categorías
|
|
||||||
search: Buscar
|
|
||||||
tags: Tags
|
|
||||||
tagcloud: Nube de Tags
|
|
||||||
tweets: Tweets
|
|
||||||
prev: Previo
|
|
||||||
next: Siguiente
|
|
||||||
comment: Comentarios
|
|
||||||
archive_a: Archivos
|
|
||||||
archive_b: "Archivos: %s"
|
|
||||||
page: Página %d
|
|
||||||
recent_posts: Posts recientes
|
|
||||||
newer: Nuevo
|
|
||||||
older: Viejo
|
|
||||||
share: Compartir
|
|
||||||
powered_by: Construido por
|
|
||||||
rss_feed: RSS
|
|
||||||
category: Categoría
|
|
||||||
tag: Tag
|
|
@ -1,19 +0,0 @@
|
|||||||
categories: Catégories
|
|
||||||
search: Rechercher
|
|
||||||
tags: Mot-clés
|
|
||||||
tagcloud: Nuage de mot-clés
|
|
||||||
tweets: Tweets
|
|
||||||
prev: Précédent
|
|
||||||
next: Suivant
|
|
||||||
comment: Commentaires
|
|
||||||
archive_a: Archives
|
|
||||||
archive_b: "Archives: %s"
|
|
||||||
page: Page %d
|
|
||||||
recent_posts: Articles récents
|
|
||||||
newer: Récent
|
|
||||||
older: Ancien
|
|
||||||
share: Partager
|
|
||||||
powered_by: Propulsé par
|
|
||||||
rss_feed: Flux RSS
|
|
||||||
category: Catégorie
|
|
||||||
tag: Mot-clé
|
|
@ -1,19 +0,0 @@
|
|||||||
categories: カテゴリ
|
|
||||||
search: 検索
|
|
||||||
tags: タグ
|
|
||||||
tagcloud: タグクラウド
|
|
||||||
tweets: ツイート
|
|
||||||
prev: 戻る
|
|
||||||
next: 次へ
|
|
||||||
comment: コメント
|
|
||||||
archive_a: アーカイブ
|
|
||||||
archive_b: "アーカイブ: %s"
|
|
||||||
page: ページ %d
|
|
||||||
recent_posts: 最近の投稿
|
|
||||||
newer: 次の記事
|
|
||||||
older: 前の記事
|
|
||||||
share: 共有
|
|
||||||
powered_by: Powered by
|
|
||||||
rss_feed: RSSフィード
|
|
||||||
category: カテゴリ
|
|
||||||
tag: タグ
|
|
@ -1,19 +0,0 @@
|
|||||||
categories: 카테고리
|
|
||||||
search: 검색
|
|
||||||
tags: 태그
|
|
||||||
tagcloud: 태그 클라우드
|
|
||||||
tweets: 트윗
|
|
||||||
prev: 이전
|
|
||||||
next: 다음
|
|
||||||
comment: 댓글
|
|
||||||
archive_a: 아카이브
|
|
||||||
archive_b: "아카이브: %s"
|
|
||||||
page: 페이지 %d
|
|
||||||
recent_posts: 최근 포스트
|
|
||||||
newer: 최신
|
|
||||||
older: 이전
|
|
||||||
share: 공유
|
|
||||||
powered_by: Powered by
|
|
||||||
rss_feed: RSS Feed
|
|
||||||
category: 카테고리
|
|
||||||
tag: 태그
|
|
@ -1,20 +0,0 @@
|
|||||||
|
|
||||||
categories: Categorieën
|
|
||||||
search: Zoeken
|
|
||||||
tags: Labels
|
|
||||||
tagcloud: Tag Cloud
|
|
||||||
tweets: Tweets
|
|
||||||
prev: Vorige
|
|
||||||
next: Volgende
|
|
||||||
comment: Commentaren
|
|
||||||
archive_a: Archieven
|
|
||||||
archive_b: "Archieven: %s"
|
|
||||||
page: Pagina %d
|
|
||||||
recent_posts: Recente berichten
|
|
||||||
newer: Nieuwer
|
|
||||||
older: Ouder
|
|
||||||
share: Delen
|
|
||||||
powered_by: Powered by
|
|
||||||
rss_feed: RSS Feed
|
|
||||||
category: Categorie
|
|
||||||
tag: Label
|
|
@ -1,19 +0,0 @@
|
|||||||
categories: Kategorier
|
|
||||||
search: Søk
|
|
||||||
tags: Tags
|
|
||||||
tagcloud: Tag Cloud
|
|
||||||
tweets: Tweets
|
|
||||||
prev: Forrige
|
|
||||||
next: Neste
|
|
||||||
comment: Kommentarer
|
|
||||||
archive_a: Arkiv
|
|
||||||
archive_b: "Arkiv: %s"
|
|
||||||
page: Side %d
|
|
||||||
recent_posts: Siste innlegg
|
|
||||||
newer: Newer
|
|
||||||
older: Older
|
|
||||||
share: Share
|
|
||||||
powered_by: Powered by
|
|
||||||
rss_feed: RSS Feed
|
|
||||||
category: Category
|
|
||||||
tag: Tag
|
|
@ -1,19 +0,0 @@
|
|||||||
categories: Categorias
|
|
||||||
search: Buscar
|
|
||||||
tags: Tags
|
|
||||||
tagcloud: Nuvem de Tags
|
|
||||||
tweets: Tweets
|
|
||||||
prev: Anterior
|
|
||||||
next: Próximo
|
|
||||||
comment: Comentários
|
|
||||||
archive_a: Arquivos
|
|
||||||
archive_b: "Arquivos: %s"
|
|
||||||
page: Página %d
|
|
||||||
recent_posts: Postagens Recentes
|
|
||||||
newer: Mais Recente
|
|
||||||
older: Mais Antigo
|
|
||||||
share: Compartilhar
|
|
||||||
powered_by: Desenvolvido por
|
|
||||||
rss_feed: Feed RSS
|
|
||||||
category: Categoria
|
|
||||||
tag: Tag
|
|
@ -1,19 +0,0 @@
|
|||||||
categories: Категории
|
|
||||||
search: Поиск
|
|
||||||
tags: Метки
|
|
||||||
tagcloud: Облако меток
|
|
||||||
tweets: Твиты
|
|
||||||
prev: Назад
|
|
||||||
next: Вперед
|
|
||||||
comment: Комментарии
|
|
||||||
archive_a: Архив
|
|
||||||
archive_b: "Архив: %s"
|
|
||||||
page: Страница %d
|
|
||||||
recent_posts: Недавние записи
|
|
||||||
newer: Следующий
|
|
||||||
older: Предыдущий
|
|
||||||
share: Поделиться
|
|
||||||
powered_by: Создано с помощью
|
|
||||||
rss_feed: RSS-каналы
|
|
||||||
category: Категория
|
|
||||||
tag: Метка
|
|
@ -1,19 +0,0 @@
|
|||||||
categories: 分类
|
|
||||||
search: 搜索
|
|
||||||
tags: 标签
|
|
||||||
tagcloud: 标签云
|
|
||||||
tweets: 推文
|
|
||||||
prev: 上一页
|
|
||||||
next: 下一页
|
|
||||||
comment: 留言
|
|
||||||
archive_a: 归档
|
|
||||||
archive_b: 归档:%s
|
|
||||||
page: 第 %d 页
|
|
||||||
recent_posts: 最新文章
|
|
||||||
newer: Newer
|
|
||||||
older: Older
|
|
||||||
share: Share
|
|
||||||
powered_by: Powered by
|
|
||||||
rss_feed: RSS Feed
|
|
||||||
category: Category
|
|
||||||
tag: Tag
|
|
@ -1,19 +0,0 @@
|
|||||||
categories: 分類
|
|
||||||
search: 搜尋
|
|
||||||
tags: 標籤
|
|
||||||
tagcloud: 標籤雲
|
|
||||||
tweets: 推文
|
|
||||||
prev: 上一頁
|
|
||||||
next: 下一頁
|
|
||||||
comment: 留言
|
|
||||||
archive_a: 彙整
|
|
||||||
archive_b: 彙整:%s
|
|
||||||
page: 第 %d 頁
|
|
||||||
recent_posts: 最新文章
|
|
||||||
newer: Newer
|
|
||||||
older: Older
|
|
||||||
share: Share
|
|
||||||
powered_by: Powered by
|
|
||||||
rss_feed: RSS Feed
|
|
||||||
category: Category
|
|
||||||
tag: Tag
|
|
@ -1,25 +0,0 @@
|
|||||||
<% if (config.disqus_shortname){ %>
|
|
||||||
<script>
|
|
||||||
var disqus_shortname = '<%= config.disqus_shortname %>';
|
|
||||||
<% if (page.permalink){ %>
|
|
||||||
var disqus_url = '<%= page.permalink %>';
|
|
||||||
<% } %>
|
|
||||||
(function(){
|
|
||||||
var dsq = document.createElement('script');
|
|
||||||
dsq.type = 'text/javascript';
|
|
||||||
dsq.async = true;
|
|
||||||
dsq.src = '//' + disqus_shortname + '.disqus.com/<% if (page.comments) { %>embed.js<% } else { %>count.js<% } %>';
|
|
||||||
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
|
|
||||||
})();
|
|
||||||
</script>
|
|
||||||
<% } %>
|
|
||||||
|
|
||||||
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
|
|
||||||
|
|
||||||
<% if (theme.fancybox){ %>
|
|
||||||
<%- css('fancybox/jquery.fancybox') %>
|
|
||||||
<%- js('fancybox/jquery.fancybox.pack') %>
|
|
||||||
<% } %>
|
|
||||||
|
|
||||||
<%- js('js/script') %>
|
|
||||||
<%- partial('gauges-analytics') %>
|
|
@ -1,8 +0,0 @@
|
|||||||
<article class="archive-article archive-type-<%= post.layout %>">
|
|
||||||
<div class="archive-article-inner">
|
|
||||||
<header class="archive-article-header">
|
|
||||||
<%- partial('post/date', {class_name: 'archive-article-date', date_format: 'MMM D'}) %>
|
|
||||||
<%- partial('post/title', {class_name: 'archive-article-title'}) %>
|
|
||||||
</header>
|
|
||||||
</div>
|
|
||||||
</article>
|
|
@ -1,34 +0,0 @@
|
|||||||
<% if (pagination == 2){ %>
|
|
||||||
<% page.posts.each(function(post){ %>
|
|
||||||
<%- partial('article', {post: post, index: true}) %>
|
|
||||||
<% }) %>
|
|
||||||
<% } else { %>
|
|
||||||
<% var last; %>
|
|
||||||
<% page.posts.each(function(post, i){ %>
|
|
||||||
<% var year = post.date.year(); %>
|
|
||||||
<% if (last != year){ %>
|
|
||||||
<% if (last != null){ %>
|
|
||||||
</div></section>
|
|
||||||
<% } %>
|
|
||||||
<% last = year; %>
|
|
||||||
<section class="archives-wrap">
|
|
||||||
<div class="archive-year-wrap">
|
|
||||||
<a href="<%- url_for(config.archive_dir + '/' + year) %>" class="archive-year"><%= year %></a>
|
|
||||||
</div>
|
|
||||||
<div class="archives">
|
|
||||||
<% } %>
|
|
||||||
<%- partial('archive-post', {post: post, even: i % 2 == 0}) %>
|
|
||||||
<% }) %>
|
|
||||||
<% if (page.posts.length){ %>
|
|
||||||
</div></section>
|
|
||||||
<% } %>
|
|
||||||
<% } %>
|
|
||||||
<% if (page.total > 1){ %>
|
|
||||||
<nav id="page-nav">
|
|
||||||
<% var prev_text = "« " + __('prev');var next_text = __('next') + " »"%>
|
|
||||||
<%- paginator({
|
|
||||||
prev_text: prev_text,
|
|
||||||
next_text: next_text
|
|
||||||
}) %>
|
|
||||||
</nav>
|
|
||||||
<% } %>
|
|
@ -1,44 +0,0 @@
|
|||||||
<article id="<%= post.layout %>-<%= post.slug %>" class="article article-type-<%= post.layout %>" itemscope itemprop="blogPost">
|
|
||||||
<div class="article-meta">
|
|
||||||
<%- partial('post/date', {class_name: 'article-date', date_format: null}) %>
|
|
||||||
<%- partial('post/category') %>
|
|
||||||
</div>
|
|
||||||
<div class="article-inner">
|
|
||||||
<%- partial('post/gallery') %>
|
|
||||||
<% if (post.link || post.title){ %>
|
|
||||||
<header class="article-header">
|
|
||||||
<%- partial('post/title', {class_name: 'article-title'}) %>
|
|
||||||
</header>
|
|
||||||
<% } %>
|
|
||||||
<div class="article-entry" itemprop="articleBody">
|
|
||||||
<% if (post.excerpt && index){ %>
|
|
||||||
<%- post.excerpt %>
|
|
||||||
<% if (theme.excerpt_link){ %>
|
|
||||||
<p class="article-more-link">
|
|
||||||
<a href="<%- url_for(post.path) %>#more"><%= theme.excerpt_link %></a>
|
|
||||||
</p>
|
|
||||||
<% } %>
|
|
||||||
<% } else { %>
|
|
||||||
<%- post.content %>
|
|
||||||
<% } %>
|
|
||||||
</div>
|
|
||||||
<footer class="article-footer">
|
|
||||||
<a data-url="<%- post.permalink %>" data-id="<%= post._id %>" class="article-share-link"><%= __('share') %></a>
|
|
||||||
<% if (post.comments && config.disqus_shortname){ %>
|
|
||||||
<a href="<%- post.permalink %>#disqus_thread" class="article-comment-link"><%= __('comment') %></a>
|
|
||||||
<% } %>
|
|
||||||
<%- partial('post/tag') %>
|
|
||||||
</footer>
|
|
||||||
</div>
|
|
||||||
<% if (!index){ %>
|
|
||||||
<%- partial('post/nav') %>
|
|
||||||
<% } %>
|
|
||||||
</article>
|
|
||||||
|
|
||||||
<% if (!index && post.comments && config.disqus_shortname){ %>
|
|
||||||
<section id="comments">
|
|
||||||
<div id="disqus_thread">
|
|
||||||
<noscript>Please enable JavaScript to view the <a href="//disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
<% } %>
|
|
@ -1,11 +0,0 @@
|
|||||||
<footer id="footer">
|
|
||||||
<% if (theme.sidebar === 'bottom'){ %>
|
|
||||||
<%- partial('_partial/sidebar') %>
|
|
||||||
<% } %>
|
|
||||||
<div class="outer">
|
|
||||||
<div id="footer-info" class="inner">
|
|
||||||
© <%= date(new Date(), 'YYYY') %> <%= config.author || config.title %><br>
|
|
||||||
<%= __('powered_by') %> <a href="http://hexo.io/" target="_blank">Hexo</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</footer>
|
|
@ -1,18 +0,0 @@
|
|||||||
<% if (theme.gauges_analytics){ %>
|
|
||||||
<!-- Gaug.es Analytics -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
var _gauges = _gauges || [];
|
|
||||||
(function() {
|
|
||||||
var t = document.createElement('script');
|
|
||||||
t.type = 'text/javascript';
|
|
||||||
t.async = true;
|
|
||||||
t.id = 'gauges-tracker';
|
|
||||||
t.setAttribute('data-site-id', '<%= theme.gauges_analytics %>');
|
|
||||||
t.setAttribute('data-track-path', 'https://track.gaug.es/track.gif');
|
|
||||||
t.src = 'https://d36ee2fcip1434.cloudfront.net/track.js';
|
|
||||||
var s = document.getElementsByTagName('script')[0];
|
|
||||||
s.parentNode.insertBefore(t, s);
|
|
||||||
})();
|
|
||||||
</script>
|
|
||||||
<!-- End Gaug.es Analytics -->
|
|
||||||
<% } %>
|
|
@ -1,14 +0,0 @@
|
|||||||
<% if (theme.google_analytics){ %>
|
|
||||||
<!-- Google Analytics -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
|
||||||
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
|
||||||
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
|
||||||
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
|
|
||||||
|
|
||||||
ga('create', '<%= theme.google_analytics %>', 'auto');
|
|
||||||
ga('send', 'pageview');
|
|
||||||
|
|
||||||
</script>
|
|
||||||
<!-- End Google Analytics -->
|
|
||||||
<% } %>
|
|
@ -1,36 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<%- partial('google-analytics') %>
|
|
||||||
<%
|
|
||||||
var title = page.title;
|
|
||||||
|
|
||||||
if (is_archive()){
|
|
||||||
title = __('archive_a');
|
|
||||||
|
|
||||||
if (is_month()){
|
|
||||||
title += ': ' + page.year + '/' + page.month;
|
|
||||||
} else if (is_year()){
|
|
||||||
title += ': ' + page.year;
|
|
||||||
}
|
|
||||||
} else if (is_category()){
|
|
||||||
title = __('category') + ': ' + page.category;
|
|
||||||
} else if (is_tag()){
|
|
||||||
title = __('tag') + ': ' + page.tag;
|
|
||||||
}
|
|
||||||
%>
|
|
||||||
<title><% if (title){ %><%= title %> | <% } %><%= config.title %></title>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
|
||||||
<%- open_graph({twitter_id: theme.twitter, google_plus: theme.google_plus, fb_admins: theme.fb_admins, fb_app_id: theme.fb_app_id}) %>
|
|
||||||
<% if (theme.rss){ %>
|
|
||||||
<link rel="alternate" href="<%= url_for(theme.rss) %>" title="<%= config.title %>" type="application/atom+xml">
|
|
||||||
<% } %>
|
|
||||||
<% if (theme.favicon){ %>
|
|
||||||
<link rel="icon" href="<%- theme.favicon %>">
|
|
||||||
<% } %>
|
|
||||||
<% if (config.highlight.enable){ %>
|
|
||||||
<link href="//fonts.googleapis.com/css?family=Source+Code+Pro" rel="stylesheet" type="text/css">
|
|
||||||
<% } %>
|
|
||||||
<%- css('css/style') %>
|
|
||||||
</head>
|
|
@ -1,32 +0,0 @@
|
|||||||
<header id="header">
|
|
||||||
<div id="banner"></div>
|
|
||||||
<div id="header-outer" class="outer">
|
|
||||||
<div id="header-title" class="inner">
|
|
||||||
<h1 id="logo-wrap">
|
|
||||||
<a href="<%- url_for() %>" id="logo"><%= config.title %></a>
|
|
||||||
</h1>
|
|
||||||
<% if (theme.subtitle){ %>
|
|
||||||
<h2 id="subtitle-wrap">
|
|
||||||
<a href="<%- url_for() %>" id="subtitle"><%= theme.subtitle %></a>
|
|
||||||
</h2>
|
|
||||||
<% } %>
|
|
||||||
</div>
|
|
||||||
<div id="header-inner" class="inner">
|
|
||||||
<nav id="main-nav">
|
|
||||||
<a id="main-nav-toggle" class="nav-icon"></a>
|
|
||||||
<% for (var i in theme.menu){ %>
|
|
||||||
<a class="main-nav-link" href="<%- url_for(theme.menu[i]) %>"><%= i %></a>
|
|
||||||
<% } %>
|
|
||||||
</nav>
|
|
||||||
<nav id="sub-nav">
|
|
||||||
<% if (theme.rss){ %>
|
|
||||||
<a id="nav-rss-link" class="nav-icon" href="<%- url_for(theme.rss) %>" title="<%= __('rss_feed') %>"></a>
|
|
||||||
<% } %>
|
|
||||||
<a id="nav-search-btn" class="nav-icon" title="<%= __('search') %>"></a>
|
|
||||||
</nav>
|
|
||||||
<div id="search-form-wrap">
|
|
||||||
<%- search_form({button: ''}) %>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
@ -1,5 +0,0 @@
|
|||||||
<nav id="mobile-nav">
|
|
||||||
<% for (var i in theme.menu){ %>
|
|
||||||
<a href="<%- url_for(theme.menu[i]) %>" class="mobile-nav-link"><%= i %></a>
|
|
||||||
<% } %>
|
|
||||||
</nav>
|
|
@ -1,10 +0,0 @@
|
|||||||
<% if (post.categories && post.categories.length){ %>
|
|
||||||
<div class="article-category">
|
|
||||||
<%- list_categories(post.categories, {
|
|
||||||
show_count: false,
|
|
||||||
class: 'article-category',
|
|
||||||
style: 'none',
|
|
||||||
separator: '►'
|
|
||||||
}) %>
|
|
||||||
</div>
|
|
||||||
<% } %>
|
|
@ -1,3 +0,0 @@
|
|||||||
<a href="<%- url_for(post.path) %>" class="<%= class_name %>">
|
|
||||||
<time datetime="<%= date_xml(post.date) %>" itemprop="datePublished"><%= date(post.date, date_format) %></time>
|
|
||||||
</a>
|
|
@ -1,11 +0,0 @@
|
|||||||
<% if (post.photos && post.photos.length){ %>
|
|
||||||
<div class="article-gallery">
|
|
||||||
<div class="article-gallery-photos">
|
|
||||||
<% post.photos.forEach(function(photo, i){ %>
|
|
||||||
<a class="article-gallery-img fancybox" href="<%- url_for(photo) %>" rel="gallery_<%= post._id %>">
|
|
||||||
<img src="<%- url_for(photo) %>" itemprop="image">
|
|
||||||
</a>
|
|
||||||
<% }) %>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<% } %>
|
|
@ -1,22 +0,0 @@
|
|||||||
<% if (post.prev || post.next){ %>
|
|
||||||
<nav id="article-nav">
|
|
||||||
<% if (post.prev){ %>
|
|
||||||
<a href="<%- url_for(post.prev.path) %>" id="article-nav-newer" class="article-nav-link-wrap">
|
|
||||||
<strong class="article-nav-caption"><%= __('newer') %></strong>
|
|
||||||
<div class="article-nav-title">
|
|
||||||
<% if (post.prev.title){ %>
|
|
||||||
<%= post.prev.title %>
|
|
||||||
<% } else { %>
|
|
||||||
(no title)
|
|
||||||
<% } %>
|
|
||||||
</div>
|
|
||||||
</a>
|
|
||||||
<% } %>
|
|
||||||
<% if (post.next){ %>
|
|
||||||
<a href="<%- url_for(post.next.path) %>" id="article-nav-older" class="article-nav-link-wrap">
|
|
||||||
<strong class="article-nav-caption"><%= __('older') %></strong>
|
|
||||||
<div class="article-nav-title"><%= post.next.title %></div>
|
|
||||||
</a>
|
|
||||||
<% } %>
|
|
||||||
</nav>
|
|
||||||
<% } %>
|
|
@ -1,6 +0,0 @@
|
|||||||
<% if (post.tags && post.tags.length){ %>
|
|
||||||
<%- list_tags(post.tags, {
|
|
||||||
show_count: false,
|
|
||||||
class: 'article-tag'
|
|
||||||
}) %>
|
|
||||||
<% } %>
|
|
@ -1,15 +0,0 @@
|
|||||||
<% if (post.link){ %>
|
|
||||||
<h1 itemprop="name">
|
|
||||||
<a class="<%= class_name %>" href="<%- url_for(post.link) %>" target="_blank" itemprop="url"><%= post.title %></a>
|
|
||||||
</h1>
|
|
||||||
<% } else if (post.title){ %>
|
|
||||||
<% if (index){ %>
|
|
||||||
<h1 itemprop="name">
|
|
||||||
<a class="<%= class_name %>" href="<%- url_for(post.path) %>"><%= post.title %></a>
|
|
||||||
</h1>
|
|
||||||
<% } else { %>
|
|
||||||
<h1 class="<%= class_name %>" itemprop="name">
|
|
||||||
<%= post.title %>
|
|
||||||
</h1>
|
|
||||||
<% } %>
|
|
||||||
<% } %>
|
|
@ -1,5 +0,0 @@
|
|||||||
<aside id="sidebar"<% if (theme.sidebar === 'bottom'){ %> class="outer"<% } %>>
|
|
||||||
<% theme.widgets.forEach(function(widget){ %>
|
|
||||||
<%- partial('_widget/' + widget) %>
|
|
||||||
<% }) %>
|
|
||||||
</aside>
|
|
@ -1,8 +0,0 @@
|
|||||||
<% if (site.posts.length){ %>
|
|
||||||
<div class="widget-wrap">
|
|
||||||
<h3 class="widget-title"><%= __('archive_a') %></h3>
|
|
||||||
<div class="widget">
|
|
||||||
<%- list_archives({show_count: theme.show_count, type: theme.archive_type}) %>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<% } %>
|
|
@ -1,8 +0,0 @@
|
|||||||
<% if (site.categories.length){ %>
|
|
||||||
<div class="widget-wrap">
|
|
||||||
<h3 class="widget-title"><%= __('categories') %></h3>
|
|
||||||
<div class="widget">
|
|
||||||
<%- list_categories({show_count: theme.show_count}) %>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<% } %>
|
|
@ -1,14 +0,0 @@
|
|||||||
<% if (site.posts.length){ %>
|
|
||||||
<div class="widget-wrap">
|
|
||||||
<h3 class="widget-title"><%= __('recent_posts') %></h3>
|
|
||||||
<div class="widget">
|
|
||||||
<ul>
|
|
||||||
<% site.posts.sort('date', -1).limit(5).each(function(post){ %>
|
|
||||||
<li>
|
|
||||||
<a href="<%- url_for(post.path) %>"><%= post.title || '(no title)' %></a>
|
|
||||||
</li>
|
|
||||||
<% }) %>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<% } %>
|
|
@ -1,8 +0,0 @@
|
|||||||
<% if (site.tags.length){ %>
|
|
||||||
<div class="widget-wrap">
|
|
||||||
<h3 class="widget-title"><%= __('tags') %></h3>
|
|
||||||
<div class="widget">
|
|
||||||
<%- list_tags({show_count: theme.show_count}) %>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<% } %>
|
|
@ -1,8 +0,0 @@
|
|||||||
<% if (site.tags.length){ %>
|
|
||||||
<div class="widget-wrap">
|
|
||||||
<h3 class="widget-title"><%= __('tagcloud') %></h3>
|
|
||||||
<div class="widget tagcloud">
|
|
||||||
<%- tagcloud() %>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<% } %>
|
|
@ -1 +0,0 @@
|
|||||||
<%- partial('_partial/archive', {pagination: config.archive, index: true}) %>
|
|
@ -1 +0,0 @@
|
|||||||
<%- partial('_partial/archive', {pagination: config.category, index: true}) %>
|
|
@ -1 +0,0 @@
|
|||||||
<%- partial('_partial/archive', {pagination: 2, index: true}) %>
|
|