🏠 《聪明的投资者》知识体系 📊 阅读进度 0%
';area.appendChild(qc); var ms=document.createElement('div');ms.className='map-section';ms.innerHTML='

\uD83D\uDDFA\uFE0F \u77E5\u8BC6\u5730\u56FE

';area.appendChild(ms); var fs=document.createElement('div');fs.className='fav-section';fs.innerHTML='

\u2B50 \u6211\u7684\u6536\u85CF

';area.appendChild(fs); KNOWLEDGE_DATA.forEach(function(part){var ph=document.createElement('div');ph.className='part-header';ph.id='anchor-'+part.id;ph.innerHTML='
'+part.num+'

'+part.title+'

'+part.eng+'
';area.appendChild(ph); part.children.forEach(function(ch){var card=document.createElement('div');card.className='k-card content-section';card.id='section-'+ch.id;var badges=ch.tags.map(function(t){var cls=t.cls==='core'?'badge-core':(t.cls==='warn'?'badge-warn':(t.cls==='method'?'badge-method':'badge-concept'));return ''+t.text+'';}).join('');var isFav=favorites.includes(ch.id);card.innerHTML='
'+ch.icon+'
'+ch.title+'
'+badges+'
'+(isFav?'\u2B50':'\u2606')+'\u25BC
'+ch.content+'
';area.appendChild(card);});}); var ts=document.createElement('div');ts.className='timeline-section';var tlItems=TIMELINE.map(function(t){return '
'+t.year+'
'+t.text+'
';}).join('');ts.innerHTML='

\uD83D\uDD70\uFE0F \u683C\u96F7\u5384\u59C6\u4E0E\u4EF7\u503C\u6295\u8D44\u65F6\u95F4\u7EBF

'+tlItems+'
';area.appendChild(ts); renderFavs();updateQuote();updateProgress();renderMap();} function toggleCard(h){var c=h.parentElement;c.classList.toggle('expanded');if(c.classList.contains('expanded'))markRead(c.id.replace('section-',''));} function updateQuote(){var q=QUOTES[currentQuote];document.getElementById('quoteText').innerHTML=q.text+'
\u2014\u2014 '+q.author+'
';var dots='';for(var i=0;i';}document.getElementById('quoteDots').innerHTML=dots;} function nextQuote(){currentQuote=(currentQuote+1)%QUOTES.length;updateQuote();} function prevQuote(){currentQuote=(currentQuote-1+QUOTES.length)%QUOTES.length;updateQuote();} setInterval(nextQuote,8000); function renderMap(){var svg=document.getElementById('mapSvg');if(!svg)return;var cx=400,cy=200,r=140;var parts=KNOWLEDGE_DATA;var step=2*Math.PI/parts.length;var nodes=[];parts.forEach(function(p,i){var a=-Math.PI/2+i*step;nodes.push({id:p.id,title:p.title,num:p.num,x:cx+r*Math.cos(a),y:cy+r*Math.sin(a),dot:p.dot,ch:p.children});});var sc='\u5B89\u5168\u8FB9\u9645Margin of Safety';nodes.forEach(function(n){sc+='';});nodes.forEach(function(n){sc+=''+n.num+'';var t=n.title.length>8?[n.title.substring(0,8),n.title.substring(8)]:[n.title];t.forEach(function(ln,li){sc+=''+ln+'';});});svg.innerHTML=sc;} function searchNodes(){var q=document.getElementById('searchInput').value.toLowerCase().trim();var secs=document.querySelectorAll('.content-section');var navs=document.querySelectorAll('.nav-item');var phs=document.querySelectorAll('.part-header');if(!q){secs.forEach(function(s){s.style.display='';});navs.forEach(function(n){n.style.opacity='1';});phs.forEach(function(h){h.style.display='';});return;}var mids={};KNOWLEDGE_DATA.forEach(function(p){if(p.title.toLowerCase().indexOf(q)!==-1||p.eng.toLowerCase().indexOf(q)!==-1){p.children.forEach(function(ch){mids[ch.id]=1;});}p.children.forEach(function(ch){if(ch.title.toLowerCase().indexOf(q)!==-1||ch.content.toLowerCase().indexOf(q)!==-1){mids[ch.id]=1;var el=document.getElementById('section-'+ch.id);if(el)el.classList.add('expanded');}});});secs.forEach(function(s){var id=s.id.replace('section-','');s.style.display=mids[id]?'':'none';});navs.forEach(function(n){var oc=n.getAttribute('onclick')||'';var m=oc.match(/scrollTo\('([^']+)'\)/);n.style.opacity=(m&&mids[m[1]])?'1':'0.3';});phs.forEach(function(h){var pn=h.querySelector('.pnum');if(pn){var pnum=pn.textContent.trim();var part=KNOWLEDGE_DATA.find(function(p){return p.num===pnum;});if(part){var av=part.children.some(function(ch){return mids[ch.id];});h.style.display=av?'':'none';}}});} function expandAll(){document.querySelectorAll('.content-section').forEach(function(s){s.classList.add('expanded');});KNOWLEDGE_DATA.forEach(function(p){p.children.forEach(function(ch){markRead(ch.id);});});updateProgress();toast('\uD83D\uDCD6 \u5DF2\u5168\u90E8\u5C55\u5F00');} function collapseAll(){document.querySelectorAll('.content-section').forEach(function(s){s.classList.remove('expanded');});toast('\uD83D\uDCD5 \u5DF2\u5168\u90E8\u6298\u53E0');} window.addEventListener('scroll',function(){var btn=document.getElementById('backToTop');if(window.scrollY>400)btn.classList.add('visible');else btn.classList.remove('visible');}); buildNav();buildContent();