PageSourceSearch

https://ftandy.github.io/project/

html ftandy.github.io collected 2026-10-03 09:13:02 UTC 24,562 bytes, 599 lines download raw bytes

1<!DOCTYPE html>
2<html lang=zh>
3<head>
4    <meta charset="utf-8">
5    <link rel='stylesheet' href='/assets/css/andy-style.css'>
6    
7    <title>Projecs | FTAndy</title>
8    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
9    <meta property="og:type" content="website">
10<meta property="og:title" content="Projecs">
11<meta property="og:url" content="http://ftandy.com/project/index.html">
12<meta property="og:site_name" content="FTAndy">
13<meta property="og:locale" content="zh_CN">
14<meta property="article:published_time" content="2023-10-22T14:38:03.764Z">
15<meta property="article:modified_time" content="2023-10-22T14:38:03.764Z">
16<meta property="article:author" content="FTAndy">
17<meta name="twitter:card" content="summary">
18    
19
20    
21
22    
23        <link rel="icon" href="/assets/css/avatar.png" />
24    
25
26    
27<link rel="stylesheet" href="/vendor/font-awesome/css/font-awesome.min.css">
28
29    
30<link rel="stylesheet" href="/vendor/open-sans/styles.css">
31
32    
33<link rel="stylesheet" href="/vendor/source-code-pro/styles.css">
34
35
36    
37<link rel="stylesheet" href="/css/style.css">
38
39
40    
41<script src="/vendor/jquery/2.1.3/jquery.min.js"></script>
41
42
43    
44    
45        
46<link rel="stylesheet" href="/vendor/lightgallery/css/lightgallery.min.css">
47
48    
49    
50    
51    
52    
53
54
55<meta name="generator" content="Hexo 5.4.2"></head>
56
57<body>
58    <div id="container">
59        <header id="header">
60    <div id="header-main" class="header-inner">
61        <div class="outer">
62            <a href="/" id="logo">
63                <i class="logo"></i>
64                <!-- <span class="site-title">FTAndy</span> -->
65            </a>
66            <nav id="main-nav">
67                
68                    <a class="main-nav-link" href="/.">Home</a>
69                
70                    <a class="main-nav-link" href="/archives">Archives</a>
71                
72                    <a class="main-nav-link" href="/categories">Categories</a>
73                
74                    <a class="main-nav-link" href="/project">Projects</a>
75                
76                    <a class="main-nav-link" href="/about">About</a>
77                
78            </nav>
79            
80                
81                <nav id="sub-nav">
82                    <div class="profile" id="profile-nav">
83                        <a id="profile-anchor" href="javascript:;">
84                            <img class="avatar" src="/assets/css/avatar.png" />
85                            <i class="fa fa-caret-down"></i>
86                        </a>
87                    </div>
88                </nav>
89            
90            <div id="search-form-wrap">
91
92    <form class="search-form">
93        <input type="text" class="ins-search-input search-form-input" placeholder="搜索" />
94        <button type="submit" class="search-form-submit"></button>
95    </form>
96    <div class="ins-search">
97    <div class="ins-search-mask"></div>
98    <div class="ins-search-container">
99        <div class="ins-input-wrapper">
100            <input type="text" class="ins-search-input" placeholder="想要查找什么..." />
101            <span class="ins-close ins-selectable"><i class="fa fa-times-circle"></i></span>
102        </div>
103        <div class="ins-section-wrapper">
104            <div class="ins-section-container"></div>
105        </div>
106    </div>
107</div>
108<script>
109(function (window) {
110    var INSIGHT_CONFIG = {
111        TRANSLATION: {
112            POSTS: '文章',
113            PAGES: '页面',
114            CATEGORIES: '分类',
115            TAGS: '标签',
116            UNTITLED: '(未命名)',
117        },
118        ROOT_URL: '/',
119        CONTENT_URL: '/content.json',
120    };
121    window.INSIGHT_CONFIG = INSIGHT_CONFIG;
122})(window);
123</script>
123
124
125<script src="/js/insight.js"></script>
125
126
127
128</div>
129        </div>
130    </div>
131    <div id="main-nav-mobile" class="header-sub header-inner">
132        <table class="menu outer">
133            <tr>
134                
135                    <td><a class="main-nav-link" href="/.">Home</a></td>
136                
137                    <td><a class="main-nav-link" href="/archives">Archives</a></td>
138                
139                    <td><a class="main-nav-link" href="/categories">Categories</a></td>
140                
141                    <td><a class="main-nav-link" href="/project">Projects</a></td>
142                
143                    <td><a class="main-nav-link" href="/about">About</a></td>
144                
145                <td>
146                    
147    <div class="search-form">
148        <input type="text" class="ins-search-input search-form-input" placeholder="搜索" />
149    </div>
150
151                </td>
152            </tr>
153        </table>
154    </div>
155</header>
156
157        <div class="outer">
158            
159                
160
161<aside id="profile">
162    <div class="inner profile-inner">
163        <div class="base-info profile-block">
164            <img id="avatar" src="/assets/css/avatar.png" />
165            <h2 id="name">FTAndy</h2>
166            <h3 id="title">A Web Developer</h3>
167            <span id="location"><i class="fa fa-map-marker"></i>ShangHai, China</span>
168            <a id="follow" target="_blank" href="https://github.com/ftandy/">关注我</a>
169        </div>
170        <div class="article-info profile-block">
171            <div class="article-info-block">
172                30
173                <span>文章</span>
174            </div>
175            <div class="article-info-block">
176                0
177                <span>标签</span>
178            </div>
179        </div>
180        
181        <div class="profile-block social-links">
182            <table>
183                <tr>
184                    
185                    
186                    <td>
187                        <a href="http://github.com/ftandy" target="_blank" title="github" class=tooltip>
188                            <i class="fa fa-github"></i>
189                        </a>
190                    </td>
191                    
192                    <td>
193                        <a href="https://twitter.com/fortheandy" target="_blank" title="twitter" class=tooltip>
194                            <i class="fa fa-twitter"></i>
195                        </a>
196                    </td>
197                    
198                    <td>
199                        <a href="http://www.weibo.com/2150908851" target="_blank" title="weibo" class=tooltip>
200                            <i class="fa fa-weibo"></i>
201                        </a>
202                    </td>
203                    
204                </tr>
205            </table>
206        </div>
207        
208    </div>
209</aside>
210
211            
212            <section id="main"><article id="about-" class="article article-type-about" itemscope itemprop="blogPost">
213    <div class="article-inner">
214        
215        
216            <header class="article-header">
217                
218    
219        <h1 class="article-title" itemprop="name">
220            Projecs
221        </h1>
222    
223
224                
225                    <div class="article-meta">
226                        
227    <div class="article-date">
228        <i class="fa fa-calendar"></i>
229        <a href="/project/index.html">
230            <time datetime="2023-10-22T14:38:03.764Z" itemprop="datePublished">2023-10-22</time>
231        </a>
232    </div>
233
234
235                        
236                        
237                    </div>
238                
239            </header>
240        
241        
242        <div class="article-entry" itemprop="articleBody">
243        
244            
245            
246        
247        </div>
248        <!-- <footer class="article-footer">
249            <div class="share-container">
250
251
252
253</div>
254
255    <a data-url="http://ftandy.com/project/index.html" data-id="clo1o65xd0008xfsn7ti0700f" class="article-share-link"><i class="fa fa-share"></i>分享到</a>
256<script>
257    (function ($) {
258        // Prevent duplicate binding
259        if (typeof(__SHARE_BUTTON_BINDED__) === 'undefined' || !__SHARE_BUTTON_BINDED__) {
260            __SHARE_BUTTON_BINDED__ = true;
261        } else {
262            return;
263        }
264        $('body').on('click', function() {
265            $('.article-share-box.on').removeClass('on');
266        }).on('click', '.article-share-link', function(e) {
267            e.stopPropagation();
268
269            var $this = $(this),
270                url = $this.attr('data-url'),
271                encodedUrl = encodeURIComponent(url),
272                id = 'article-share-box-' + $this.attr('data-id'),
273                offset = $this.offset(),
274                box;
275
276            if ($('#' + id).length) {
277                box = $('#' + id);
278
279                if (box.hasClass('on')){
280                    box.removeClass('on');
281                    return;
282                }
283            } else {
284                var html = [
285                    '<div id="' + id + '" class="article-share-box">',
286                        '<input class="article-share-input" value="' + url + '">',
287                        '<div class="article-share-links">',
288                            '<a href="https://twitter.com/intent/tweet?url=' + encodedUrl + '" class="fa fa-twitter article-share-twitter" target="_blank" title="Twitter"></a>',
289                            '<a href="https://www.facebook.com/sharer.php?u=' + encodedUrl + '" class="fa fa-facebook article-share-facebook" target="_blank" title="Facebook"></a>',
290                            '<a href="http://pinterest.com/pin/create/button/?url=' + encodedUrl + '" class="fa fa-pinterest article-share-pinterest" target="_blank" title="Pinterest"></a>',
291                            '<a href="https://plus.google.com/share?url=' + encodedUrl + '" class="fa fa-google article-share-google" target="_blank" title="Google+"></a>',
292                        '</div>',
293                    '</div>'
294                ].join('');
295
296              box = $(html);
297
298              $('body').append(box);
299            }
300
301            $('.article-share-box.on').hide();
302
303            box.css({
304                top: offset.top + 25,
305                left: offset.left
306            }).addClass('on');
307
308        }).on('click', '.article-share-box', function (e) {
309            e.stopPropagation();
310        }).on('click', '.article-share-box-input', function () {
311            $(this).select();
312        }).on('click', '.article-share-box-link', function (e) {
313            e.preventDefault();
314            e.stopPropagation();
315
316            window.open(this.href, 'article-share-box-window-' + Date.now(), 'width=500,height=450');
317        });
318    })(jQuery);
319</script>
319
320
321            
322    
323        <a href="http://ftandy.com/project/index.html#comments" class="article-comment-link ds-thread-count" data-thread-key="http://ftandy.com/project/index.html">评论</a>
324    
325
326        </footer> -->
327    </div>
328    
329        
330
331    
332</article>
333
334
335    
336    <section id="comments">
337    
338        
339    <div class="ds-thread" data-thread-key="project/index.html" data-title="Projecs" data-url="http://ftandy.com/project/index.html"></div>
340    <style>
341        #ds-thread #ds-reset .ds-textarea-wrapper {
342            background: none;
343        }
344        #ds-reset .ds-avatar img {
345            box-shadow: none;
346        }
347        #ds-reset .ds-gradient-bg {
348            background: #f7f7f7;
349        }
350        #ds-thread #ds-reset li.ds-tab a {
351            border-radius: 3px;
352        }
353        #ds-thread #ds-reset .ds-post-button {
354            color: white;
355            border: none;
356            box-shadow: none;
357            background: #d32;
358            text-shadow: none;
359            font-weight: normal;
360            font-family: 'Microsoft Yahei';
361        }
362        #ds-thread #ds-reset .ds-post-button:hover {
363            color: white;
364            background: #DE594C;
365        }
366        #ds-thread #ds-reset .ds-post-button:active {
367            background: #d32;
368        }
369        #ds-smilies-tooltip ul.ds-smilies-tabs li a.ds-current {
370            color: white;
371            background: #d32;
372            box-shadow: none;
373            text-shadow: none;
374            font-weight: normal;
375        }
376    </style>
377
378    
379    </section>
380
381
382</section>
383            
384                <aside id="sidebar">
385   
386        
387    <div class="widget-wrap">
388        <h3 class="widget-title">最新文章</h3>
389        <div class="widget">
390            <ul id="recent-post" class="">
391                
392                    <li>
393                        
394                        <div class="item-thumbnail">
395                            <a href="/2017/07/07/NAT%20%E7%A9%BF%E9%80%8F/" class="thumbnail">
396    
397    
398        <span class="thumbnail-image thumbnail-none"></span>
399    
400</a>
401
402                        </div>
403                        
404                        <div class="item-inner">
405                            <p class="item-category"><a class="article-category-link" href="/categories/socket/">socket</a><i class="fa fa-angle-right"></i><a class="article-category-link" href="/categories/socket/network/">network</a></p>
406                            <p class="item-title"><a href="/2017/07/07/NAT%20%E7%A9%BF%E9%80%8F/" class="title">如何更方便地访问 NAT 后面的 HTTP Server?</a></p>
407                            <p class="item-date"><time datetime="2017-07-07T06:49:31.000Z" itemprop="datePublished">2017-07-07</time></p>
408                        </div>
409                    </li>
410                
411                    <li>
412                        
413                        <div class="item-thumbnail">
414                            <a href="/2017/05/09/%E6%93%8D%E8%9B%8B%E7%9A%84%E7%BC%93%E5%AD%98/" class="thumbnail">
415    
416    
417        <span class="thumbnail-image thumbnail-none"></span>
418    
419</a>
420
421                        </div>
422                        
423                        <div class="item-inner">
424                            <p class="item-category"><a class="article-category-link" href="/categories/browser/">browser</a></p>
425                            <p class="item-title"><a href="/2017/05/09/%E6%93%8D%E8%9B%8B%E7%9A%84%E7%BC%93%E5%AD%98/" class="title">操蛋的浏览器缓存</a></p>
426                            <p class="item-date"><time datetime="2017-05-09T04:58:21.000Z" itemprop="datePublished">2017-05-09</time></p>
427                        </div>
428                    </li>
429                
430                    <li>
431                        
432                        <div class="item-thumbnail">
433                            <a href="/2017/05/05/%E8%81%8A%E4%B8%80%E8%81%8A-Stand-Up-Comedy/" class="thumbnail">
434    
435    
436        <span style="background-image:url(/assets/images/louis-ck-oh-my-god.jpg)" alt="聊一聊 Stand Up Comedy" class="thumbnail-image"></span>
437    
438</a>
439
440                        </div>
441                        
442                        <div class="item-inner">
443                            <p class="item-category"><a class="article-category-link" href="/categories/comedy/">comedy</a></p>
444                            <p class="item-title"><a href="/2017/05/05/%E8%81%8A%E4%B8%80%E8%81%8A-Stand-Up-Comedy/" class="title">聊一聊 Stand Up Comedy</a></p>
445                            <p class="item-date"><time datetime="2017-05-05T10:00:00.000Z" itemprop="datePublished">2017-05-05</time></p>
446                        </div>
447                    </li>
448                
449                    <li>
450                        
451                        <div class="item-thumbnail">
452                            <a href="/2017/01/17/Node-%E6%A0%B9%E6%9C%AC%E5%B0%B1%E4%B8%8D%E6%98%AF%E4%BB%80%E4%B9%88%E6%96%B0%E4%B8%9C%E8%A5%BF/" class="thumbnail">
453    
454    
455        <span class="thumbnail-image thumbnail-none"></span>
456    
457</a>
458
459                        </div>
460                        
461                        <div class="item-inner">
462                            <p class="item-category"><a class="article-category-link" href="/categories/javascript/">javascript</a></p>
463                            <p class="item-title"><a href="/2017/01/17/Node-%E6%A0%B9%E6%9C%AC%E5%B0%B1%E4%B8%8D%E6%98%AF%E4%BB%80%E4%B9%88%E6%96%B0%E4%B8%9C%E8%A5%BF/" class="title">Node 根本就不是什么新东西</a></p>
464                            <p class="item-date"><time datetime="2017-01-17T14:44:15.000Z" itemprop="datePublished">2017-01-17</time></p>
465                        </div>
466                    </li>
467                
468                    <li>
469                        
470                        <div class="item-thumbnail">
471                            <a href="/2016/10/30/mimi-promise/" class="thumbnail">
472    
473    
474        <span style="background-image:url(/assets/images/promisesa-was-born.jpg)" alt="写一个符合 Promises/A+ 规范并可配合 ES7 async/await 使用的 Promise" class="thumbnail-image"></span>
475    
476</a>
477
478                        </div>
479                        
480                        <div class="item-inner">
481                            <p class="item-category"><a class="article-category-link" href="/categories/javascript/">javascript</a></p>
482                            <p class="item-title"><a href="/2016/10/30/mimi-promise/" class="title">写一个符合 Promises/A+ 规范并可配合 ES7 async/await 使用的 Promise</a></p>
483                            <p class="item-date"><time datetime="2016-10-30T14:11:46.000Z" itemprop="datePublished">2016-10-30</time></p>
484                        </div>
485                    </li>
486                
487            </ul>
488        </div>
489    </div>
490
491    
492        
493    <div class="widget-wrap">
494        <h3 class="widget-title">分类</h3>
495        <div class="widget">
496            <ul class="category-list"><li class="category-list-item"><a class="category-list-link" href="/categories/bitcoin/">bitcoin</a><span class="category-list-count">1</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/browser/">browser</a><span class="category-list-count">1</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/comedy/">comedy</a><span class="category-list-count">1</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/dota/">dota</a><span class="category-list-count">1</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/game/">game</a><span class="category-list-count">1</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/https/">https</a><span class="category-list-count">1</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/javascript/">javascript</a><span class="category-list-count">5</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/leetcode/">leetcode</a><span class="category-list-count">3</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/life/">life</a><span class="category-list-count">5</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/poem/">poem</a><span class="category-list-count">1</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/programming-language/">programming_language</a><span class="category-list-count">3</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/rick-and-morty/">rick and morty</a><span class="category-list-count">1</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/ruby/">ruby</a><span class="category-list-count">3</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/socket/">socket</a><span class="category-list-count">1</span><ul class="category-list-child"><li class="category-list-item"><a class="category-list-link" href="/categories/socket/network/">network</a><span class="category-list-count">1</span></li></ul></li><li class="category-list-item"><a class="category-list-link" href="/categories/vagrant-docker/">vagrant_docker</a><span class="category-list-count">2</span></li></ul>
497        </div>
498    </div>
499
500    
501        
502    <div class="widget-wrap">
503        <h3 class="widget-title">
503归档</h3>
504        <div class="widget">
505            <ul class="archive-list"><li class="archive-list-item"><a class="archive-list-link" href="/archives/2017/07/">七月 2017</a><span class="archive-list-count">1</span></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2017/05/">五月 2017</a><span class="archive-list-count">2</span></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2017/01/">一月 2017</a><span class="archive-list-count">1</span></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2016/10/">十月 2016</a><span class="archive-list-count">1</span></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2016/09/">九月 2016</a><span class="archive-list-count">2</span></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2016/05/">五月 2016</a><span class="archive-list-count">2</span></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2016/03/">三月 2016</a><span class="archive-list-count">2</span></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2016/02/">二月 2016</a><span class="archive-list-count">1</span></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2015/09/">九月 2015</a><span class="archive-list-count">3</span></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2015/08/">八月 2015</a><span class="archive-list-count">1</span></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2015/07/">七月 2015</a><span class="archive-list-count">1</span></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2015/06/">六月 2015</a><span class="archive-list-count">6</span></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2015/05/">五月 2015</a><span class="archive-list-count">4</span></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2015/04/">四月 2015</a><span class="archive-list-count">2</span></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2015/03/">三月 2015</a><span class="archive-list-count">1</span></li></ul>
506        </div>
507    </div>
508
509    
510        
511    
512    <div id="toTop" class="fa fa-angle-up"></div>
513</aside>
514            
515        </div>
516        <footer id="footer">
517    <div class="outer">
518        <div id="footer-info" class="inner">
519            &copy; 2023 FTAndy<br>
520            Powered by <a href="http://hexo.io/" target="_blank">Hexo</a>. Theme by <a target="_blank" rel="noopener" href="http://github.com/ppoffice">PPOffice</a>
521        </div>
522    </div>
523</footer>
524
525        
526    
527    
527<script type="text/javascript">
528    var duoshuoQuery = {short_name:'ftandy'};
529    (function() {
530    var ds = document.createElement('script');
531    ds.type = 'text/javascript';ds.async = true;
532    ds.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') + '//static.duoshuo.com/embed.js';
533    ds.charset = 'UTF-8';
534    (document.getElementsByTagName('head')[0]
535    || document.getElementsByTagName('body')[0]).appendChild(ds);
536    })();
537    </script>
537
538
539
540
541    
542        
543<script src="/vendor/lightgallery/js/lightgallery.min.js"></script>
543
544
545        
546<script src="/vendor/lightgallery/js/lg-thumbnail.min.js"></script>
546
547
548        
549<script src="/vendor/lightgallery/js/lg-pager.min.js"></script>
549
550
551        
552<script src="/vendor/lightgallery/js/lg-autoplay.min.js"></script>
552
553
554        
555<script src="/vendor/lightgallery/js/lg-fullscreen.min.js"></script>
555
556
557        
558<script src="/vendor/lightgallery/js/lg-zoom.min.js"></script>
558
559
560        
561<script src="/vendor/lightgallery/js/lg-hash.min.js"></script>
561
562
563        
564<script src="/vendor/lightgallery/js/lg-share.min.js"></script>
564
565
566        
567<script src="/vendor/lightgallery/js/lg-video.min.js"></script>
567
568
569    
570    
571
572
573
574<!-- Custom Scripts -->
575
576<script src="/js/main.js"></script>
576
577
578
579    </div>
580    <div class="backgroung-image">
581      <img src="/assets/images/rick_and_morty/3.jpg">
582    </div>
583    <div class="comments"></div>
584    <link rel="stylesheet" href="https://imsun.github.io/gitment/style/default.css">
585    
585<script src="https://imsun.github.io/gitment/dist/gitment.browser.js"></script>
585
586    
586<script>
587      var gitment = new Gitment({
588        id: location.href, // 可选。默认为 location.href
589        owner: 'FTAndy',
590        repo: 'gitment',
591        oauth: {
592          client_id: '1a275643c8d99980f66c',
593          client_secret: 'eb4b7ae0bc575a09ec5a259f24b20fba2a15bee9',
594        },
595      })
596      gitment.render('comments')
597    </script>
597
598</body>
599</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.