PageSourceSearch

https://liyanan2004.github.io/archives/

html liyanan2004.github.io collected 2026-10-03 09:31:30 UTC 20,055 bytes, 50 lines download raw bytes

1<!doctype html>
2<html lang="zh"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"><meta name="robots" content="noindex"><meta><title>归档 - LiYanan2004 - 我的博客</title><link rel="manifest" href="/manifest.json"><meta name="application-name" content="LiYanan2004 - 我的博客"><meta name="msapplication-TileImage" content="/icons/touch-icon-iphone.jpeg"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-title" content="LiYanan2004 - 我的博客"><meta name="apple-mobile-web-app-status-bar-style" content="default"><link rel="apple-touch-icon" sizes="144x144" href="/icons/touch-icon-iphone.jpeg"><link rel="apple-touch-icon" sizes="152x152" href="/icons/touch-icon-ipad.jpeg"><link rel="apple-touch-icon" sizes="72x72" href="/icons/favicon.ico"><link rel="apple-touch-icon" sizes="96x96" href="/icons/favicon.ico"><link rel="apple-touch-icon" sizes="128x128" href="/icons/favicon.ico"><link rel="apple-touch-icon" sizes="256x256" href="/icons/favicon.ico"><meta name="description" content="瞎折腾,记录生活"><meta property="og:type" content="blog"><meta property="og:title" content="LiYanan2004 - 我的博客"><meta property="og:url" content="https://liyanan2004.github.io/"><meta property="og:site_name" content="LiYanan2004 - 我的博客"><meta property="og:description" content="瞎折腾,记录生活"><meta property="og:locale" content="zh_CN"><meta property="og:image" content="https://liyanan2004.github.io/img/og_image.png"><meta property="article:author" content="LiYanan"><meta property="article:tag" content="LiYanan"><meta property="twitter:card" content="summary"><meta property="twitter:image:src" content="https://liyanan2004.github.io/img/og_image.png">
2<script type="application/ld+json">{"@context":"https://schema.org","@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"https://liyanan2004.github.io"},"headline":"LiYanan2004 - 我的博客","image":["https://liyanan2004.github.io/img/og_image.png"],"author":{"@type":"Person","name":"LiYanan"},"publisher":{"@type":"Organization","name":"LiYanan2004 - 我的博客","logo":{"@type":"ImageObject","url":"https://liyanan2004.github.io/icons/icon.png"}},"description":"瞎折腾,记录生活"}</script>
2<link rel="alternate" href="/atom.xml" title="LiYanan2004 - 我的博客" type="application/atom+xml"><link rel="icon" href="/icons/icon.png"><link rel="stylesheet" href="https://cdnjs.loli.net/ajax/libs/font-awesome/6.0.0/css/all.min.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/styles/atom-one-light.css"><link rel="stylesheet" href="https://fonts.lug.ustc.edu.cn/css2?family=Ubuntu:wght@400;600&amp;family=Source+Code+Pro"><link rel="stylesheet" href="/css/default.css"><style>body>.footer,body>.navbar,body>.section{opacity:0}</style><!--!--><!--!--><!--!-->
2<script src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js" defer></script>
2<!--!--><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/lightgallery.min.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/justifiedGallery.min.css"><!--!--><!--!--><style>.pace{-webkit-pointer-events:none;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pace-inactive{display:none}.pace .pace-progress{background:#3273dc;position:fixed;z-index:2000;top:0;right:100%;width:100%;height:2px}</style>
2<script src="https://cdn.jsdelivr.net/npm/[email protected]/pace.min.js"></script>
2<!--!--><!--!--><meta name="follow.it-verification-code" content="K7a6qPhqDkfhuFV53Met"><!-- hexo injector head_end start -->
2<script>
3  (function () {
4      function switchTab() {
5          if (!location.hash) {
6            return;
7          }
8
9          const $tabMenu = document.querySelector(`a[href="${location.hash}"]`);
10          if (!$tabMenu) {
11            return;
12          }
13
14          const $tabMenuContainer = $tabMenu.parentElement.parentElement;
15          Array.from($tabMenuContainer.children).forEach($menu => $menu.classList.remove('is-active'));
16          Array.from($tabMenuContainer.querySelectorAll('a'))
17              .map($menu => document.getElementById($menu.getAttribute("href").substring(1)))
18              .forEach($content => $content.classList.add('is-hidden'));
19
20          if ($tabMenu) {
21              $tabMenu.parentElement.classList.add('is-active');
22          }
23          const $activeTab = document.querySelector(location.hash);
24          if ($activeTab) {
25              $activeTab.classList.remove('is-hidden');
26          }
27      }
28      switchTab();
29      window.addEventListener('hashchange', switchTab, false);
30  })();
31  </script>
31<!-- hexo injector head_end end --><meta name="generator" content="Hexo 6.3.0"></head><body class="is-3-column"><nav class="navbar navbar-main"><div class="container navbar-container"><div class="navbar-brand justify-content-center"><a class="navbar-item navbar-logo" href="/"><img src="/icons/icon.png" alt="LiYanan2004 - 我的博客" height="28"></a></div><div class="navbar-menu"><div class="navbar-start"><a class="navbar-item is-active" href="/archives">时间线</a><a class="navbar-item" href="/photos">相册</a><a class="navbar-item" href="/about">关于我</a><a class="navbar-item" href="/messages">留言板</a></div><div class="navbar-end"><a class="navbar-item" target="_blank" rel="noopener" title="Chat_with_ME" href="/talk-with-me"><i class="fa fa-comments"></i></a><a class="navbar-item" target="_blank" rel="noopener" title="GitHub" href="https://github.com/LiYanan2004"><i class="fab fa-github"></i></a><a class="navbar-item search" title="搜索" href="javascript:;"><i class="fas fa-search"></i></a></div></div></div></nav><section class="section"><div class="container"><div class="columns"><div class="column order-2 column-main is-8-tablet is-8-desktop is-6-widescreen"><div class="card"><div class="card-content"><h3 class="tag is-primary">2024</h3><div class="timeline"><article class="media"><div class="media-content"><p class="date"><time dateTime="2024-02-18T08:43:14.131Z">2024-02-18</time></p><p class="title"><a href="/megax/">Say Hello to MegaX</a></p><p class="categories"><a href="/categories/%E6%92%B8%E4%BB%A3%E7%A0%81/">撸代码</a></p></div></article></div></div></div><div class="card"><div class="card-content"><h3 class="tag is-primary">2023</h3><div class="timeline"><article class="media"><div class="media-content"><p class="date"><time dateTime="2023-09-10T05:42:57.124Z">2023-09-10</time></p><p class="title"><a href="/inherit-namespace-in-swiftui/">写更少的 SwiftUI 代码 —— Namespace</a></p><p class="categories"><a href="/categories/%E6%92%B8%E4%BB%A3%E7%A0%81/">撸代码</a></p></div></article><article class="media"><div class="media-content"><p class="date"><time dateTime="2023-09-09T08:09:29.977Z">2023-09-09</time></p><p class="title"><a href="/2023-summer-summary/">2023 暑假总结</a></p></div></article><article class="media"><div class="media-content"><p class="date"><time dateTime="2023-07-30T12:08:47.114Z">2023-07-30</time></p><p class="title"><a href="/make-everything-equatable/">小技巧:让任何类型遵循 Equatable</a></p><p class="categories"><a href="/categories/%E6%92%B8%E4%BB%A3%E7%A0%81/">撸代码</a></p></div></article><article class="media"><div class="media-content"><p class="date"><time dateTime="2023-07-27T04:40:52.272Z">2023-07-27</time></p><p class="title"><a href="/meet-tipkit/">试试新框架 — TipKit</a></p><p class="categories"><a href="/categories/%E6%92%B8%E4%BB%A3%E7%A0%81/">撸代码</a></p></div></article><article class="media"><div class="media-content"><p class="date"><time dateTime="2023-07-23T03:13:03.829Z">2023-07-23</time></p><p class="title"><a href="/terminal-window-swiftui/">用 SwiftUI 做个终端</a></p><p class="categories"><a href="/categories/%E6%92%B8%E4%BB%A3%E7%A0%81/">撸代码</a></p></div></article><article class="media"><div class="media-content"><p class="date"><time dateTime="2023-06-19T03:59:09.888Z">2023-06-19</time></p><p class="title"><a href="/lock-orientation-in-swiftui/">在 SwiftUI 中实现页面的方向锁定</a></p><p class="categories"><a href="/categories/%E6%92%B8%E4%BB%A3%E7%A0%81/">撸代码</a></p></div></article><article class="media"><div class="media-content"><p class="date"><time dateTime="2023-06-17T14:55:16.000Z">2023-06-17</time></p><p class="title"><a href="/meet-swift-data/">Swift Data 的初步探索</a></p><p class="categories"><a href="/categories/%E6%92%B8%E4%BB%A3%E7%A0%81/">撸代码</a></p></div></article><article class="media"><div class="media-content"><p class="date"><time dateTime="2023-06-07T02:44:08.000Z">2023-06-07</time></p><p class="title"><a href="/wwdc-23-whats-new-in-swiftui/">SwiftUI 新功能</a></p><p class="categories"><a href="/categories/%E6%92%B8%E4%BB%A3%E7%A0%81/">撸代码</a></p></div></article><article class="media"><div class="media-content"><p class="date"><time dateTime="2023-05-01T13:50:45.000Z">2023-05-01</time></p><p class="title"><a href="/open-menu-bar-extra-with-apple-script/">用 Apple Script 打开任务栏菜单</a></p><p class="categories">
31<a href="/categories/%E7%9E%8E%E6%8A%98%E8%85%BE/">瞎折腾</a></p></div></article></div></div></div><nav class="pagination" role="navigation" aria-label="pagination"><div class="pagination-previous is-invisible is-hidden-mobile"><a href="/archives/page/0/">上一页</a></div><div class="pagination-next"><a href="/archives/page/2/">下一页</a></div><ul class="pagination-list is-hidden-mobile"><li><a class="pagination-link is-current" href="/archives/">1</a></li><li><a class="pagination-link" href="/archives/page/2/">2</a></li><li><a class="pagination-link" href="/archives/page/3/">3</a></li><li><a class="pagination-link" href="/archives/page/4/">4</a></li></ul></nav></div><div class="column column-left is-4-tablet is-4-desktop is-3-widescreen  order-1 is-sticky"><!--!--><div class="card widget" data-type="profile"><div class="card-content"><nav class="level"><div class="level-item has-text-centered flex-shrink-1"><div><figure class="image is-128x128 mx-auto mb-2"><img class="avatar" src="/icons/icon.png" alt="LiYanan2004"></figure><p class="title is-size-4 is-block" style="line-height:inherit;">LiYanan2004</p><p class="is-size-6 is-block">❤️ A Student of SUEP ❤️</p><p class="is-size-6 is-flex justify-content-center"><i class="fas fa-map-marker-alt mr-1"></i><span>Shanghai, China</span></p></div></div></nav><nav class="level is-mobile"><div class="level-item has-text-centered is-marginless"><div><p class="heading">文章</p><a href="/archives"><p class="title">31</p></a></div></div><div class="level-item has-text-centered is-marginless"><div><p class="heading">分类</p><a href="/categories"><p class="title">5</p></a></div></div><div class="level-item has-text-centered is-marginless"><div><p class="heading">标签</p><a href="/tags"><p class="title">36</p></a></div></div></nav><div class="level"><a class="level-item button is-primary is-rounded" href="https://github.com/LiYanan2004" target="_blank" rel="noopener">关注我</a></div><div class="level is-mobile is-multiline"><a class="level-item button is-transparent is-marginless" target="_blank" rel="noopener" title="Github" href="https://github.com/LiYanan2004"><i class="fab fa-github"></i></a><a class="level-item button is-transparent is-marginless" target="_blank" rel="noopener" title="Mail Me" href="mailto:[email protected]"><i class="fa fa-envelope"></i></a><a class="level-item button is-transparent is-marginless" target="_blank" rel="noopener" title="RSS" href="/atom.xml"><i class="fas fa-rss"></i></a></div></div></div><div class="card widget" data-type="categories"><div class="card-content"><div class="menu"><h3 class="menu-label">分类</h3><ul class="menu-list"><li><a class="level is-mobile" href="/categories/%E5%90%90%E4%B8%AA%E6%A7%BD/"><span class="level-start"><span class="level-item">吐个槽</span></span><span class="level-end"><span class="level-item tag">2</span></span></a></li><li><a class="level is-mobile" href="/categories/%E5%AD%A6%E4%B8%AA%E4%B9%A0/"><span class="level-start"><span class="level-item">学个习</span></span><span class="level-end"><span class="level-item tag">2</span></span></a></li><li><a class="level is-mobile" href="/categories/%E6%92%B8%E4%BB%A3%E7%A0%81/"><span class="level-start"><span class="level-item">撸代码</span></span><span class="level-end"><span class="level-item tag">19</span></span></a></li><li><a class="level is-mobile" href="/categories/%E6%96%B0%E7%8E%A9%E5%85%B7/"><span class="level-start"><span class="level-item">新玩具</span></span><span class="level-end"><span class="level-item tag">1</span></span></a></li><li><a class="level is-mobile" href="/categories/%E7%9E%8E%E6%8A%98%E8%85%BE/"><span class="level-start"><span class="level-item">瞎折腾</span></span><span class="level-end"><span class="level-item tag">6</span></span></a></li></ul></div></div></div><div class="column-right-shadow is-hidden-widescreen"></div></div><div class="column column-right is-4-tablet is-4-desktop is-3-widescreen is-hidden-touch is-hidden-desktop-only order-3"><div class="card widget" data-type="recent-posts"><div class="card-content"><h3 class="menu-label">最新文章</h3><article class="media"><div class="media-content"><p class="date"><time dateTime="2024-02-18T08:43:14.131Z">2024-02-18</time></p><p class="title"><a href="/megax/">Say Hello to MegaX</a></p><p class="categories"><a href="/categories/%E6%92%B8%E4%BB%A3%E7%A0%81/">撸代码</a></p></div></article><article class="media"><div class="media-content"><p class="date"><time dateTime="2023-09-10T05:42:57.124Z">2023-09-10</time></p><p class="title"><a href="/inherit-namespace-in-swiftui/">写更少的 SwiftUI 代码 —— Namespace</a></p><p class="categories"><a href="/categories/%E6%92%B8%E4%BB%A3%E7%A0%81/">撸代码</a></p></div></article><article class="media"><div class="media-content"><p class="date"><time dateTime="2023-09-09T08:09:29.977Z">2023-09-09</time></p><p class="title"><a href="/2023-summer-summary/">2023 暑假总结</a></p></div></article><article class="media"><div class="media-content"><p class="date"><time dateTime="2023-07-30T12:08:47.114Z">2023-07-30</time></p><p class="title"><a href="/make-everything-equatable/">小技巧:让任何类型遵循 Equatable</a></p><p class="categories"><a href="/categories/%E6%92%B8%E4%BB%A3%E7%A0%81/">撸代码</a></p></div></article><article class="media"><div class="media-content"><p class="date"><time dateTime="2023-07-27T04:40:52.272Z">2023-07-27</time></p><p class="title"><a href="/meet-tipkit/">试试新框架 — TipKit</a></p><p class="categories"><a href="/categories/%E6%92%B8%E4%BB%A3%E7%A0%81/">撸代码</a></p></div></article></div></div><div class="card widget" data-type="subscribe-email"><div class="card-content"><div class="menu"><h3 class="menu-label">follow.it</h3><form action="https://api.follow.it/subscription-form/c3M2OW8yVnRqMW5xSkFTTzBiSHovSHNQWmdwSFdnZWZ6RWR3Y0VJMHF
31xRUViRmZxYlhBR0wxam9sMGRSU2ZyaE1RQ2pEeEJJY0RodkFVS05XTnZ3U21XbWZTRUwyemJaQTBtUEdvNUJOS3Z0WCs1T2tQbURvOUlQcDQxaEZoS1J8SWRqMER0VVNFUFdPVnNaMUc1RWI2ZTNkaDdtTEd6NXVaMVkvRVFLWWw2VT0=/8" method="post" target="_blank"><div class="field has-addons"><div class="control has-icons-left is-expanded"><input class="input" name="email" type="email" placeholder="Email"><span class="icon is-small is-left"><i class="fas fa-envelope"></i></span></div><div class="control"><input class="button" type="submit" value="订阅"></div></div><p class="help">留下邮箱,第一时间接收新推文!</p></form></div></div></div><div class="card widget" data-type="links"><div class="card-content"><div class="menu"><h3 class="menu-label">链接</h3><ul class="menu-list"><li><a class="level is-mobile" href="https://hexo.io" target="_blank" rel="noopener"><span class="level-left"><span class="level-item">Hexo</span></span><span class="level-right"><span class="level-item tag">hexo.io</span></span></a></li><li><a class="level is-mobile" href="https://ppoffice.github.io/hexo-theme-icarus/tags/Icarus用户指南/" target="_blank" rel="noopener"><span class="level-left"><span class="level-item">Icarus</span></span><span class="level-right"><span class="level-item tag">ppoffice.github.io</span></span></a></li></ul></div></div></div></div></div></div></section><footer class="footer"><div class="container"><div class="level"><div class="level-start"><a class="footer-logo is-block mb-2" href="/"><img src="/icons/icon.png" alt="LiYanan2004 - 我的博客" height="28"></a><p class="is-size-7"><span>&copy; 2024 LiYanan</span>  Powered by <a href="https://hexo.io/" target="_blank" rel="noopener">Hexo</a> &amp; <a href="https://github.com/ppoffice/hexo-theme-icarus" target="_blank" rel="noopener">Icarus</a><br><span id="busuanzi_container_site_uv">共<span id="busuanzi_value_site_uv">0</span>个访客</span></p></div><div class="level-end"><div class="field has-addons"><p class="control"><a class="button is-transparent is-large" target="_blank" rel="noopener" title="Creative Commons" href="https://creativecommons.org/"><i class="fab fa-creative-commons"></i></a></p><p class="control"><a class="button is-transparent is-large" target="_blank" rel="noopener" title="Attribution 4.0 International" href="https://creativecommons.org/licenses/by/4.0/"><i class="fab fa-creative-commons-by"></i></a></p><p class="control"><a class="button is-transparent is-large" target="_blank" rel="noopener" title="GitHub" href="https://github.com/LiYanan2004"><i class="fab fa-github"></i></a></p></div></div></div></div></footer>
31<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.min.js"></script>
31<script src="https://cdn.jsdelivr.net/npm/[email protected]/min/moment-with-locales.min.js"></script>
31<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/clipboard.min.js" defer></script>
31<script>moment.locale("zh-CN");</script>
31<script>var IcarusThemeSettings = {
32            article: {
33                highlight: {
34                    clipboard: true,
35                    fold: 'unfolded'
36                }
37            }
38        };</script>
38<script src="/js/column.js"></script>
38<script src="/js/animation.js"></script>
38<a id="back-to-top" title="回到顶端" href="javascript:;"><i class="fas fa-chevron-up"></i></a>
38<script src="/js/back_to_top.js" defer></script>
38<!--!--><!--!--><!--!--><!--!-->
38<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/lightgallery.min.js" defer></script>
38<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/jquery.justifiedGallery.min.js" defer></script>
38<script>window.addEventListener("load", () => {
39            if (typeof $.fn.lightGallery === 'function') {
40                $('.article').lightGallery({ selector: '.gallery-item' });
41            }
42            if (typeof $.fn.justifiedGallery === 'function') {
43                if ($('.justified-gallery > p > .gallery-item').length) {
44                    $('.justified-gallery > p > .gallery-item').unwrap();
45                }
46                $('.justified-gallery').justifiedGallery();
47            }
48        });</script>
48<!--!--><!--!--><!--!--><!--!--><!--!-->
48<script src="/js/main.js" defer></script>
48<div class="searchbox"><div class="searchbox-container"><div class="searchbox-header"><div class="searchbox-input-container"><input class="searchbox-input" type="text" placeholder="想要查找什么..."></div><a class="searchbox-close" href="javascript:;">×</a></div><div class="searchbox-body"></div></div></div>
48<script src="/js/insight.js" defer></script>
48<script>document.addEventListener('DOMContentLoaded', function () {
49            loadInsight({"contentUrl":"/content.json"}, {"hint":"想要查找什么...","untitled":"(无标题)","posts":"文章","pages":"页面","categories":"分类","tags":"标签"});
50        });</script>
50</body></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.