PageSourceSearch

https://mikexuq.github.io/portfolio/

html mikexuq.github.io collected 2026-10-03 09:36:43 UTC 11,579 bytes, 350 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3
4<head>
5    <meta charset="utf-8">
6    <meta http-equiv="X-UA-Compatible" content="IE=edge">
7    <meta name="google-site-verification" content="xBT4GhYoi5qRD5tr338pgPM5OWHHIDR6mNg1a3euekI" />
8    <meta name="viewport" content="width=device-width, initial-scale=1">
9    <meta name="description" content="拥有梦想的咸鱼">
10    <meta name="keywords"  content="安卓,算法">
11    <meta name="theme-color" content="#000000">
12    
13    <title>Portfolio - 许琦的博客 | Xuq Blog</title>
14
15    <!-- Web App Manifest -->
16    <link rel="manifest" href="/pwa/manifest.json">
17
18    <!-- Favicon -->
19    <link rel="shortcut icon" href="/img/favicon.ico">
20    
21    <!-- Canonical URL -->
22    <link rel="canonical" href="https://mikexuq.github.io/portfolio/">
23
24    <!-- Bootstrap Core CSS -->
25    <link rel="stylesheet" href="/css/bootstrap.min.css">
26
27    <!-- Custom CSS -->
28    <link rel="stylesheet" href="/css/hux-blog.min.css">
29
30    <!-- Pygments Github CSS -->
31    <link rel="stylesheet" href="/css/syntax.css">
32
33    <!-- Custom Fonts -->
34    <!-- <link href="http://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet" type="text/css"> -->
35    <!-- Hux change font-awesome CDN to qiniu -->
36    <link href="//cdnjs.cloudflare.com/ajax/libs/font-awesome/4.6.3/css/font-awesome.min.css" rel="stylesheet" type="text/css">
37
38
39    <!-- Hux Delete, sad but pending in China
40    <link href='http://fonts.googleapis.com/css?family=Lora:400,700,400italic,700italic' rel='stylesheet' type='text/css'>
41    <link href='http://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800' rel='stylesheet' type='text/
42    css'>
43    -->
44
45
46    <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
47    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
48    <!--[if lt IE 9]>
49        
49<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
49
50        
50<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
50
51    <![endif]-->
52
53    <!-- ga & ba script hoook -->
54    
54<script></script>
54
55</head>
56
57
58<!-- hack iOS CSS :active style -->
59<body ontouchstart="">
60
61    <!-- Navigation -->
62<nav class="navbar navbar-default navbar-custom navbar-fixed-top">
63    <div class="container-fluid">
64        <!-- Brand and toggle get grouped for better mobile display -->
65        <div class="navbar-header page-scroll">
66            <button type="button" class="navbar-toggle">
67                <span class="sr-only">Toggle navigation</span>
68                <span class="icon-bar"></span>
69                <span class="icon-bar"></span>
70                <span class="icon-bar"></span>
71            </button>
72            <a class="navbar-brand" href="/">Xuq Blog</a>
73        </div>
74
75        <!-- Collect the nav links, forms, and other content for toggling -->
76        <div id="huxblog_navbar">
77            <div class="navbar-collapse">
78                <ul class="nav navbar-nav navbar-right">
79                    <li>
80                        <a href="/">Home</a>
81                    </li>
82                    
83                    <li>
84                        <a href="/about/">About</a>
85                    </li>
86                    
87                    <li>
88                        <a href="/portfolio/">Portfolio</a>
89                    </li>
90                    
91                    <li>
92                        <a href="/tags/">Tags</a>
93                    </li>
94                    
95                </ul>
96            </div>
97        </div>
98        <!-- /.navbar-collapse -->
99    </div>
100    <!-- /.container -->
101</nav>
102<script>
103    // Drop Bootstarp low-performance Navbar
104    // Use customize navbar with high-quality material design animation
105    // in high-perf jank-free CSS3 implementation
106    var $body   = document.body;
107    var $toggle = document.querySelector('.navbar-toggle');
108    var $navbar = document.querySelector('#huxblog_navbar');
109    var $collapse = document.querySelector('.navbar-collapse');
110
111    var __HuxNav__ = {
112        close: function(){
113            $navbar.className = " ";
114            // wait until animation end.
115            setTimeout(function(){
116                // prevent frequently toggle
117                if($navbar.className.indexOf('in') < 0) {
118                    $collapse.style.height = "0px"
119                }
120            },400)
121        },
122        open: function(){
123            $collapse.style.height = "auto"
124            $navbar.className += " in";
125        }
126    }
127
128    // Bind Event
129    $toggle.addEventListener('click', function(e){
130        if ($navbar.className.indexOf('in') > 0) {
131            __HuxNav__.close()
132        }else{
133            __HuxNav__.open()
134        }
135    })
136
137    /**
138     * Since Fastclick is used to delegate 'touchstart' globally
139     * to hack 300ms delay in iOS by performing a fake 'click',
140     * Using 'e.stopPropagation' to stop 'touchstart' event from 
141     * $toggle/$collapse will break global delegation.
142     * 
143     * Instead, we use a 'e.target' filter to prevent handler
144     * added to document close HuxNav.  
145     *
146     * Also, we use 'click' instead of 'touchstart' as compromise
147     */
148    document.addEventListener('click', function(e){
149        if(e.target == $toggle) return;
150        if(e.target.className == 'icon-bar') return;
151        __HuxNav__.close();
152    })
153</script>
153
154
155
156    <!DOCTYPE html>
157<html class="no-js">
158	<head>
159		<meta charset="UTF-8" />
160		<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
161		<meta name="viewport" content="width=device-width, initial-scale=1.0">
162		<title>Xuq - Timeline</title>
163		<link rel="stylesheet" type="text/css" href="css/timeline.css" />
164		
164<script src="js/modernizr.custom.js"></script>
164
165	</head>
166	<body>
167		
168	</body>
169</html>
170
171
172    <!-- Footer -->
173<footer>
174    <div class="container">
175        <div class="row">
176            <div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
177                <ul class="list-inline text-center">
178                    
179                    
180                    <li>
181                        <a href="https://twitter.com/none">
182                            <span class="fa-stack fa-lg">
183                                <i class="fa fa-circle fa-stack-2x"></i>
184                                <i class="fa fa-twitter fa-stack-1x fa-inverse"></i>
185                            </span>
186                        </a>
187                    </li>
188                    
189
190                    <!-- add Weibo, Zhihu by Hux, add target = "_blank" to <a> by Hux -->
191                    
192                    <li>
193                        <a target="_blank" href="https://www.zhihu.com/people/none">
194                            <span class="fa-stack fa-lg">
195                                <i class="fa fa-circle fa-stack-2x"></i>
196                                <i class="fa  fa-stack-1x fa-inverse">知</i>
197                            </span>
198                        </a>
199                    </li>
200                    
201                    
202                    <li>
203                        <a target="_blank" href="http://weibo.com/none">
204                            <span class="fa-stack fa-lg">
205                                <i class="fa fa-circle fa-stack-2x"></i>
206                                <i class="fa fa-weibo fa-stack-1x fa-inverse"></i>
207                            </span>
208                        </a>
209                    </li>
210                    
211
212
213                    
214                    
215                    <li>
216                        <a target="_blank" href="https://github.com/MikeXuQ">
217                            <span class="fa-stack fa-lg">
218                                <i class="fa fa-circle fa-stack-2x"></i>
219                                <i class="fa fa-github fa-stack-1x fa-inverse"></i>
220                            </span>
221                        </a>
222                    </li>
223                    
224                    
225                </ul>
226                <p class="copyright text-muted">
227                    Copyright &copy; Xuq Blog 2018
228                    <br>
229                    Theme by <a href="http://huangxuan.me">Hux</a> |
230                    <iframe
231                        style="margin-left: 2px; margin-bottom:-5px;"
232                        frameborder="0" scrolling="0" width="100px" height="20px"
233                        src="https://ghbtns.com/github-btn.html?user=huxpro&repo=huxpro.github.io&type=star&count=true" >
234                    </iframe>
235                </p>
236            </div>
237        </div>
238    </div>
239</footer>
240
241<!-- jQuery -->
242<script src="/js/jquery.min.js "></script>
242
243
244<!-- Bootstrap Core JavaScript -->
245<!-- Currently, only navbar scroll-down effect at desktop still depends on this -->
246<script src="/js/bootstrap.min.js "></script>
246
247
248<!-- Custom Theme JavaScript -->
249<script src="/js/hux-blog.min.js "></script>
249
250
251<!-- Service Worker -->
252
253<script src="/js/snackbar.js "></script>
vendor: 1 bytes, line 253
253
254<script src="/js/sw-registration.js "></script>
254
255
256
257<!-- async load function -->
258<script>
259    function async(u, c) {
260      var d = document, t = 'script',
261          o = d.createElement(t),
262          s = d.getElementsByTagName(t)[0];
263      o.src = u;
264      if (c) { o.addEventListener('load', function (e) { c(null, e); }, false); }
265      s.parentNode.insertBefore(o, s);
266    }
267</script>
267
268
269<!--
270     Because of the native support for backtick-style fenced code blocks
271     right within the Markdown is landed in Github Pages,
272     From V1.6, There is no need for Highlight.js,
273     so Huxblog drops it officially.
274
275     - https://github.com/blog/2100-github-pages-now-faster-and-simpler-with-jekyll-3-0
276     - https://help.github.com/articles/creating-and-highlighting-code-blocks/
277     - https://github.com/jneen/rouge/wiki/list-of-supported-languages-and-lexers
278-->
279<!--
280    
280<script>
281        async("http://cdn.bootcss.com/highlight.js/8.6/highlight.min.js", function(){
282            hljs.initHighlightingOnLoad();
283        })
284    </script>
284
285    <link href="http://cdn.bootcss.com/highlight.js/8.6/styles/github.min.css" rel="stylesheet">
286-->
287
288
289<!-- jquery.tagcloud.js -->
290<script>
291    // only load tagcloud.js in tag.html
292    if($('#tag_cloud').length !== 0){
293        async('/js/jquery.tagcloud.js',function(){
294            $.fn.tagcloud.defaults = {
295                //size: {start: 1, end: 1, unit: 'em'},
296                color: {start: '#bbbbee', end: '#0085a1'},
297            };
298            $('#tag_cloud a').tagcloud();
299        })
300    }
301</script>
301
302
303<!--fastClick.js -->
304<script>
305    async("//cdnjs.cloudflare.com/ajax/libs/fastclick/1.0.6/fastclick.min.js", function(){
306        var $nav = document.querySelector("nav");
307        if($nav) FastClick.attach($nav);
308    })
309</script>
309
310
311
312<!-- Google Analytics -->
313
314<script>
315    // dynamic User by Hux
316    var _gaId = 'UA-49627206-1';
317    var _gaDomain = 'huangxuan.me';
318
319    // Originial
320    (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
321    (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
322    m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
323    })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
324
325    ga('create', _gaId, _gaDomain);
326    ga('send', 'pageview');
327</script>
327
328
329
330
331<!-- Baidu Tongji -->
332
333
334
335<!-- Side Catalog -->
336
337
338
339<!-- Multi-Lingual -->
340
341
342
343
344<!-- Image to hack wechat -->
345<img src="/img/icon_wechat.png" width="0" height="0" />
346<!-- Migrate from head to bottom, no longer block render and still work -->
347
348</body>
349
350</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.