1// æ¥å¸¸æèåºç¨ - thoughts.js 2 3// æèæ°æ® 4const thoughtsData = [ 5 { 6 id: 1, 7 title: "AI æ¶ä»£ï¼è¯æçä»·å¼", 8 date: "2025-08-21", 9 content: "ä»å¤©å·æ·å®æ¶å欢ä¸äºä¸åéï¼åå¤ä¸åäºï¼ç¶åå¨è¯¦æ 页çéåçè§é¢ä»ç»ï¼è§é¢é讲äºéåçå¶ä½å·¥èºï¼å·¥åæµç¨ççï¼å½æ¶æè§è¿ä¸ªéåè¿æºæåè´¨çï¼åä»ç»ä¸çï¼åç°åæ¥æ¯ AI åçè§é¢ããã\n\næç第ä¸ååºæ¯ï¼è§é¢é½ç¨ AI å·æåï¼é£åéååå·¥ä¸ä¼ä¹ä¸æ ·å·æï¼æ½æè¯ä¼è§å¾åå®¶å¨ çäºãèµ°æ·å¾ãè¿ç§å°è±¡æä¼æå°å°éåæ¬èº«ââä½ å®£ä¼ é½æ·è¡ï¼é£åå·¥æ¯ä¸æ¯ä¹æ·è¡ï¼\n\nææè¿ä»¶äºæ å享ç»äºæåå¬åï¼ä»è·æè¯´ï¼\"ä½ æ³æ³è¯å¾·åºï¼éº¦å½å³ï¼ä»ä»¬çååå¾ä¸å®ç©å·®è·ä¹å¾å¤§\"ã\n\nè¿åæä»ç»åæäºè¿ä¸ªå¯¹æ¯ï¼å麦å½å³è¿æ ·çå¿«é¤åçï¼ä»ä»¬ç广åå¾è½ç¶åå®é 产åå·®å«å¾å¤§ï¼ä½æä»¬ä»ç¶è§å¾ä»ä»¬ç¨å¿ãå 为é£äºå¹¿åéè¦æå½±å¸ãç¯å å¸ãç¾æ¯å¢éä¸èµ·æå ¥æ¶é´åç²¾åå»å®æã让ææè§ï¼ä»ä»¬å¯¹äº§åå®£ä¼ å¾ç¨å¿å讲究ï¼\n\nå¿çå¦ä¸ç\"åªåç迹\"ä¼å¸¦æ¥ä¿¡ä»»æãæä»¬æ´å®¹æç¸ä¿¡é£äºæ¾ç¶æå ¥äºæ¶é´åææ¬çä¸è¥¿ã ï¼é·åæ»ä¼å¼ºè°å¢éä»åºçè°è¾ï¼æ¥è®²è¿°äº§åçåé å¤ä¹ä¸å®¹æï¼\n\nè¿ç§æè§ï¼åæ³èµ·å¨æ«å¨æ½å®¶åéå¤å¸æ¶ä¹éå°è¿ãç³ç 满ç®çååä¸ï¼è¶æ¯çº¯æå·¥å¶ä½çå·¥èºåï¼ä»·æ ¼å¾å¾æ´é«ã\n\nå°è±¡ææ·±çæ¯ä¸ä¸ªæå·¥ç»çå°åå¡ï¼å®ä»· 58 å ã忥åçå°ä¸ä¸ªæ èç©å ·ï¼èæ¿åè¯æè¿æ¯ä»äº²æå¶ä½çï¼è¿è¯¦ç»è®²è¿°äºå¶ä½è¿ç¨ãç©å ·è¡¨é¢çè³è½çè§ä»çæçº¹ãä»è®©æç¨æç«æ·æ¥éªï¼ç»ææ²¡ææ¾å°å款ãè½ç¶æå¹³æ¶å¹¶ä¸çè¡·æ¶èç©å ·ï¼ä½æç»è¿æ¯è¢«è¿ç§å å¿ç²¾ç¥æå¨ï¼è®©ææè§è¿ä¸ªç©åæ´ææ¸©åº¦ãä¹°äºä¸æ¥ã\n\n卿ºå¨å¯ä»¥æ¹éå¤å¶ä¸åçä»å¤©ï¼æå·¥èºåæ¾å¾æ ¼å¤ç¨ç¼ºï¼ä¹æ´å ·ä»·å¼ã\n\nä¸ç¦èæ³å¨ AI è½è½»æçææç« ãå¾ççæ¶ä»£ï¼é£äºç±äººäº²æååçå客æåãç»ä½æè®¸ä¼åæå·¥èºä¸æ ·ï¼å å ¶ç¬ç¹ä¸çå®èæ´å ·çè´µæ§ã\n\nå·§çæ¯ï¼æè¿å·çè§é¢çå° æ¹å䏿¡£ç»¼èºä¹è¢«ç½ååæ§½ï¼æç½ææ¡æ¯ AI çæçãè§ä¼å¬åºæ¥åï¼åèè§å¾èç®ç»ä¸ç¨å¿ãç³å¼ã综èºéè¦çæ¯æ¸©åº¦åæ 绪ï¼AI æ¿ä»£ä¸äºè¿ç§è¯æï¼ä¸æ¦ç¼ºå¤±ï¼èç®å°±æ¾å¾èç½ã\n\nè¿äºç»å串å¨ä¸èµ·ï¼è®©ææç¹æè§¦ãAI å½ç¶æ²¡æéï¼è½ç¶èçäºæ¶é´ææ¬ï¼ä½ä¹å¯è½åå¼±äºæ¶è´¹è çä¿¡ä»»æãçå®ãç¬ç¹çä¸è¥¿ä¹è½æ´å ·ä»·å¼ï¼æå¨å«äººã" 10 }, 11 { 12 id: 2, 13 title: "æä¸ºä¸ä¸ªèªç±è宿´çå¤é¢äºº", 14 date: "2025-08-09", 15 content: "äººç±»ä¹æä»¥ä¸ºäººï¼æ¯å 为æéæ©ååæ¢èº«ä»½çèªç±ï¼å¯ä»¥è¯æå°æ å± ï¼ä¹å¯ä»¥æ¿çå°è¡å¨ï¼è䏿¯è¢«è¿«å°äºåä¸è§è²ã\n\næå®¢éå¬å°ä¸å¥è¯ï¼å ±åï¼è¡·å¿ç¥æ¿æ¯ä½æåï¼å¨æ»¡è¶³äºåºæ¬æ¸©é¥±çåºç¡ä¸ï¼å¯ä»¥ä¸å被ä¸äºæè°çæåç§©åºè§è®ï¼ææè°çæåå½ä½äººçå¯ä¸çç®æ ï¼å¨åä¸çæ èæ¸¸æä¸ç½ç½æ¶èäºèªå·±çä¸çï¼èæ¯é½è½å¤å»è¿½æ±å±äºèªå·±çèªç±èå ¨é¢çåå±ï¼è½å¤æ¢å°¿å¸ï¼çåæäºï¼æçªï¼å¼è¹ï¼è®¾è®¡æ¿åï¼åååè¡è¯ï¼ç»ç®è´¦æ·ï¼ç å¢ï¼æ¥è±è¼ç骨头ï¼å®æ °æ¿æ»çäººï¼æä»å½ä»¤ï¼åå¸å½ä»¤ï¼æºæåä½ï¼ç¬ç«è¡å¨ï¼è§£æ°å¦æ¹ç¨ï¼åææ°é®é¢ï¼é²ç²ªï¼çµèç¼ç¨ï¼ååºå¯å£çé¥ï¼åäºææ¶åæ¢å°æ»å»ãåªææè«æä¸ä¸åã" 16 }, 17 { 18 id: 3, 19 title: "ä¿æå¿æºçæ´»å", 20 date: "2025-08-09", 21 content: "äººä¸æ¦å¤å¨å´åéå¿å°±ä¼åçªãæ¯å¦è¯´å®¿èï¼ç级ï¼å·¥ä½åä½ï¼å°±å被å°å¨æ·±å®«é䏿 ·ï¼ç¼ååªæé£ä¸ç¹äººåäºï¼ä»»ä½ä¸ç¹å°äºæå¼åçæ ç»ªé½ä¼è¢«æ 鿾大ãè±ç¦»åºæ¥åå»çï¼çç¶ä¸æï¼å¤©å¤§å°å¤§ï¼æå± ç¶è¢«è¿æ ·ä¸ç¹äºæ éä½ï¼æä»¥è¿æ¯éè¦æ¶ä¸æ¶çæ½ç¦»åºæ¥ä¸ä¸çã äººä¸æ¦ä¸å¤å¨å¤æä¿¡æ¯çæ¥æ¶å¤ç以ååé¦è¿ç¨ä¸ï¼åªçæ´»äºä½è´¨ä¿¡æ¯æ¥æ¶çæ¹å¼ï¼å°±ä¼åå»äºï¼ä¼åå¾ç¹å«æ¨è®·ï¼å°±å®¹æå¯¹ä¸ä¸ªç¹å«å°ç¹å«å ·ä½çäºå¿ç¹å«æ¥å²ã 人è¦ä¿æå¿æºçæ´»åï¼å°±éè¦åé»ç¼èè䏿 ·ï¼æç»ç»å¤§èæä¾å¤æä¸ä¼è´¨çä¿¡æ¯ï¼å¹¶è¿è¡æ·±åº¦å¤çãè¿æ¯ä¸ä¸ªéè¦ä¸»å¨éæ©å廿ç»ä¹ çè¿ç¨ã 䏿¯èä¸å³å®ä½ ä¼ä¸ä¼åå»ï¼èæ¯ä½ ææ²¡æè®©èªå·±æç»æ´»å¨å¤æä¼è´¨çä¿¡æ¯åºä¸ãä½ å¯ä»¥æ¯ä¸ä¸ªå¼åå¡åºç人ï¼ä½å¦æä½ æ¯å¤©å¨è§å¯æèãç 究饮åãä¼å客æ·ä½éªãè®°å½è¶å¿ãåä¸åæï¼ä½ ä¾ç¶æ¯ä¸ä¸ªå¿æºæ´»è·ç人ãèä¸ä¸ªå
21å¨å忥¼éç人ï¼å¤©å¤©åæ°´ãå·çè§é¢ãéå¤äº¤å·®ä»»å¡ä¹å¯ä»¥æ ¢æ ¢åå»ã" 22 }, 23 { 24 id: 4, 25 title: "软件设计çå²å¦", 26 date: "2025-08-09", 27 content: "夿æ§å®ä¹ä¸ºï¼ä»»ä½ä½¿è½¯ä»¶é¾ä»¥çè§£åä¿®æ¹çäºç©ãå¤ææ§æ¯ç´¯ç§¯çï¼éçæ¶é´çæ¨ç§»ï¼å°ç夿æ§ä¼å å æå¤§ç夿æ§ã\n\n奥æ¯ç¹æ´çæ ¸å¿è§ç¹æ¯ï¼å¤ææ§æ¯è½¯ä»¶é¡¹ç®å¤±è´¥çæ ¹æºã为äºå¯¹æå¤ææ§ï¼ä»æåºäºâéè¿éä½å¤ææ§æ¥æé«ç产åâçç念ï¼å¹¶å¼ºè°äºæ¨¡åååæ·±å±æ¨¡åå¨è®¾è®¡ä¸çéè¦æ§ãä¸ä¸ªå¥½ç设计åºè¯¥è®©æ¯ä¸ªæ¨¡åé½å°½å¯è½ç¬ç«ï¼å¹¶å ·ææ¸ æ°ãç®åçæ¥å£ï¼ä»èåå°å¯¹å ¶ä»æ¨¡åçä¾èµå认ç¥è´è·ã" 28 }, 29 { 30 id: 5, 31 title: "ä¿¡æ¯çå±å¼ä¸æå ", 32 date: "2025-08-09", 33 content: "æå ä¿¡æ¯å¾å®¹æè¢«å¯è§ï¼å 为é»è¾ä¸æ æ³å®ææ¨çãä½å¤§é¨åæ¶åï¼äººä»¬çè¡¨è¾¾é½æ¯æå çï¼å¦æäºäºé½éè¦ç¡®è®¤å®ä¹ï¼é£ä¹äººä»¬å°±ä¼è±å¤§éçæ¶é´å»å¯¹é½æ åã举个ä¾åï¼ãææ³ä½ äºãå¯è½ä¼è¢«æå è¿ãä½ ä»æåä»ä¹ãï¼ä¸æ¹è®¤ä¸ºææ¯å¨è¡¨è¾¾æ³å¿µï¼èå¦ä¸æ¹ä¼è§å¾ä½ åªæ¯å¨é®æåä»ä¹ãå½è¿ç§ä¸å¯¹çççè§£äº§çæ¶ï¼å¾å¤äººä¼ä¼å éæ©ãå®ä¹ãï¼å³ä½ æ ¹æ¬ä¸çè§£æå¨è¯´ä»ä¹ï¼è䏿¯å±å¼è¢«æå çé¨åãä½é®é¢ä¹åºå¨è¿éï¼å½å±å¼ä¹åå¨ãæ åãæ¶ï¼å¦ä½å±å¼åä¼å¼åçç¾ãäºæ¯ï¼å°±å½¢æäºç°ä»£äººäº¤æµçæ»å¾ªç¯ââç¨ãæå ãæ²éï¼ç¨ãå®ä¹ãè¡¥æï¼ç¨ãå±å¼ãäºæ§ãä»å¤©æèäºå¦ä½æé«æ¥å¸¸å·¥ä½æççé®é¢ãæè§å¾æ¶é´ç®¡çåä»»å¡ä¼å çº§çææ§æ¯å ³é®ã å ç¹å¿å¾ï¼ 1. æ¯å¤©ååºå¾ 忏 å 2. åºåç´§æ¥åéè¦ 3. éæ¶æ¾æ¾ï¼ä¿æç²¾å 4. åç¨å·¥å ·ï¼æé«æç" 34 }, 35 { 36 id: 6, 37 title: "楼ä¸ä¹°é ¸å¥¶çæè", 38 date: "2025-08-09", 39 content: "ä»å¤©å»ä¹°é ¸å¥¶ï¼ç¬¬ä¸æ¯9.9å ï¼ç¬¬äºæ¯1å ãä»·æ ¼å³ä»·å¼æç¥ï¼å¦æåªå5å ï¼ç¨æ·ä¼èªå¨èæ³å°'ä½ç«¯ã便å®è´§'ï¼å°¤å ¶æ¯å¥åº·ç±»ãåè´¨æå¼ºçé ¸å¥¶äº§åãç¬¬äºæ¯1å ï¼ä½ ä¸ä¼è§å¾å®ä¾¿å®ï¼èæ¯è§å¾èªå·±æ¡äºä¾¿å®ï¼ä¸ä¸å½±åç¬¬ä¸æ¯çä»·å¼ã ä»·å¼çæ¬è´¨ï¼æå®¢ä½å±æ§å¯¹ä¸»ä½éæ±çæ»¡è¶³å ³ç³»ãç®åæ¥è¯´ï¼å°±æ¯ä¸ä¸ªä¸è¥¿æè ä¸ä»¶äºï¼å®å¯¹ä½ ææ²¡æç¨ï¼è½ä¸è½ç»ä½ 带æ¥å¥½å¤ï¼è¿å°±æ¯å®çä»·å¼ãæ¯å¦ï¼å¯¹äºé¥¿ç人æ¥è¯´ï¼é£ç©çä»·å¼å°±å¾å¤§ï¼å 为è½å¡«é¥±èåã " 40 } 41]; 42 43// å½åæ¾ç¤ºçæèå 容ID 44let currentThoughtId = null; 45 46// åå§åæèå表 47function initThoughtsList() { 48 const listContainer = document.querySelector('#thoughts-window .content-area'); 49 listContainer.innerHTML = ` 50 <div class="thoughts-list"> 51 ${thoughtsData.map(thought => ` 52 <div class="thought-item" onclick="showThoughtDetail(${thought.id})"> 53 <div class="thought-title">${thought.title}</div> 54 <div class="thought-date">${thought.date}</div> 55 </div> 56 `).join('')} 57 </div> 58 `; 59} 60 61// æ¾ç¤ºæè详æ 62function showThoughtDetail(id) { 63 const thought = thoughtsData.find(t => t.id === id); 64 if (!thought) return; 65 66 currentThoughtId = id; 67 const contentArea = document.querySelector('#thoughts-window .content-area'); 68 69 contentArea.innerHTML = ` 70 <div class="thought-detail"> 71 <div class="thought-header"> 72 <button class="back-button" onclick="showThoughtsList()">è¿åå表</button> 73 <h2>${thought.title}</h2> 74 <div class="thought-date">${thought.date}</div> 75 </div> 76 <div class="thought-content"> 77 ${thought.content.split(/\s{2,}/).map(paragraph => `<p>${paragraph}</p>`).join('')} 78 </div> 79 </div> 80 `; 81} 82 83// è¿åå表 84function showThoughtsList() { 85 currentThoughtId = null; 86 initThoughtsList(); 87} 88// çªå£å è½½æ¶ä¸åèªå¨åå§ååè¡¨ï¼æ¹ä¸ºå¨çªå£æå¼æ¶åå§å 89 90// å建ä¸ä¸ª MutationObserver æ¥çå¬çªå£æ¾ç¤ºç¶æçåå 91const thoughtsWindowObserver = new MutationObserver(function(mutations) { 92 mutations.forEach(function(mutation) { 93 if (mutation.type === 'attributes' && 94 mutation.attributeName === 'style' && 95 mutation.target.id === 'thoughts-window' && 96 mutation.target.style.display === 'block') { 97 initThoughtsList(); 98 } 99 }); 100}); 101 102// å¼å§è§å¯ thoughts-window çåå 103const thoughtsWindow = document.getElementById('thoughts-window'); 104if (thoughtsWindow) { 105 thoughtsWindowObserver.observe(thoughtsWindow, { 106 attributes: true, 107 attributeFilter: ['style'] 108 }); 109} 110
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.