Rspress 2.0 išleidimas: naujas atnaujinimas, orientuotas į patirtį ir AI
Rspress 2.0 išleidimas: naujas atnaujinimas, orientuotas į patirtį ir AI
Mes džiaugiamės galėdami paskelbti oficialų Rspress 2.0 išleidimą!
Rspress yra statinių svetainių generatorius, sukurtas remiantis Rsbuild, specialiai sukurtas dokumentacijos svetainių kūrėjams. Nuo 2023 metų oficialaus išleidimo, Rspress 1.x buvo atnaujintas 144 kartus, o projekte dalyvavo 125 prisidėjusiųjų. Vis daugiau kūrėjų renkasi Rspress, naudodamiesi jo efektyviu kompiliavimo našumu, konvencinėmis maršrutizavimo galimybėmis ir komponentų bibliotekos peržiūra, kad sukurtų gražias ir patikimas dokumentacijos svetaines.
Remiantis bendruomenės atsiliepimais ir pasiūlymais, Rspress 2.0 dar labiau patobulino temos estetiką, AI-native, dokumentacijos kūrimo patirtį, naudojimą su Rslib ir kt.
Kodėl Rspress 2.0
Rspress 1.x jau išsprendė dokumentacijos svetainių rėmo kompiliavimo našumo problemas, tačiau vis dar yra keletas problemų, kurios veikia kaip dokumentacijos kūrimo įrankio pagrindinę patirtį. 2.0 versija neapsiriboja tik kompiliavimo našumo siekimu, bet taip pat sutelkia dėmesį į kitas dokumentacijos svetainių patirties sritis:
- Temos stilius: naujas gražesnis numatytasis tema, taip pat siūlomos kelios pritaikymo galimybės, sprendžiant 1.x problemas, susijusias su nestabiliu API pritaikymui.
- AI-native: dokumentai ne tik tarnauja žmonių skaitytojams, bet ir turi būti geriau suprantami ir naudojami Agentų. Rspress dabar turi integruotą llms.txt generavimą ir SSG išvestą SSG-MD funkciją, kuri generuoja aukštos kokybės Markdown turinį Agentams.
- Kompiliavimas pagal poreikį, momentinis paleidimas: numatytai įjungtas lazyCompilation, kartu su išteklių preload funkcija, kai užvedama pelė ant nuorodų, statomi tik reikalingi failai, kai pasiekiami konkretūs maršrutai, užtikrinant, kad nepriklausomai nuo projekto dydžio, dev gali momentaliai paleisti.
- Shiki kodo paryškinimas: numatytai integruotas Shiki, kuris statybos metu užbaigia sintaksės paryškinimą, palaiko temos keitimą, transformerio plėtimą, pavyzdžiui, @rspress/plugin-twoslash, suteikiant turtingesnį kodo blokų rodymo efektą.
- Dokumentacijos kūrimo patirtis: optimizuoti nav.json, meta.json failų HMR ir pridėtas json schema IDE kodo užuominoms; numatytai įjungta negyvų nuorodų tikrinimo funkcija; pridėta failų kodo blokų sintaksė, palaikanti išorinių failų nuorodas; @rspress/plugin-preview ir @rspress/plugin-playground palaiko vienu metu naudojimą ir kt.
- Rslib integracija: dabar, kai naudojate create-rslib, kad sukurtumėte komponentų bibliotekos projektą, galite pasirinkti Rspress kaip dokumentacijos įrankį, greitai sukurti komponentų dokumentacijos svetainę.
2.0 naujos funkcijos
Nauja tema
2.0 numatytasis tema gavo sisteminį atnaujinimą, kurį sukūrė komandos dizaineris @Zovn Wei, kuris žymiai pagerino vizualinį efektą ir skaitymo patirtį, o kiekvienas komponentas gali būti atskirai pakeistas, turint didelį pritaikomumą.
Temos pritaikymas
Pagal pritaikymo laipsnį nuo mažiausio iki didžiausio, yra keturios pritaikymo galimybės: CSS kintamieji, BEM klasės pavadinimai, ESM peradresavimas, komponentų eject.- CSS kintamieji: Nauja tema atskleidžia daugiau CSS kintamųjų, kurie apima temos spalvas, kodo blokus, pagrindinio puslapio ir kitus stilius. Galite interaktyviai peržiūrėti ir koreguoti visus CSS kintamuosius CSS kintamųjų puslapyje, o radę patenkinamą konfigūraciją tiesiog nukopijuoti ją į projektą.
- BEM klasės pavadinimai: Įmontuoti komponentai dabar naudoja BEM pavadinimų konvenciją. Tai yra labai senamadiškas pasirinkimas, tačiau taip pat yra mūsų apgalvotas sprendimas. Vartotojai gali tiksliai koreguoti stilius naudodami CSS selektorius, HTML struktūra tampa aiškesnė.
- ESM pakartotinis eksportas: Jei CSS pakeitimai nepatenkina pritaikymo poreikių, galima atlikti gilesnį pritaikymą naudojant JS. Naudojant ESM pakartotinį eksportą theme/index.tsx faile, galima perrašyti bet kurį iš Rspress įmontuotų komponentų.
- Komponentų išėmimas: Galite naudoti visiškai naują rspress eject [component] komandą, kuri nukopijuos nurodyto komponento šaltinio kodą į theme/components/ katalogą, kur galite laisvai keisti šį kodą, netgi tiesiogiai perduoti AI keisti, kad pasiektumėte gilesnį pritaikymą.
Navigacijos juosta, šoninė juosta tag
Rspress 2.0 įgyvendino Tag komponentą, dabar galite naudoti frontmatter tag atributą, kad pažymėtumėte UI šoninėje juostoje ar navigacijos juostoje.
Įmontuota daugiakalbė parama
1.x versijoje Rspress turėjo tik anglų kalbos tekstą, jei naudojate kitas kalbas, pavyzdžiui, zh, turite konfigūruoti visus tekstus, kas yra gana sudėtinga. Dabar 2.0 tema turi įmontuotus vertimus į zh, en, ja, ko, ru ir kitas kalbas, sistema automatiškai atliks "Tree Shaking" pagal kalbos konfigūraciją, supakuodama tik tuos tekstus ir kalbas, kurias naudojate.
llms.txt parama
Rspress dabar integravo llms.txt generavimo galimybes į core ir įgyvendino naują SSG-MD (Static Site Generation to Markdown, statinio svetainės Markdown generavimas) galimybę.
Remiantis React dinamišku renderinimu, dažnai kyla problemų dėl statinės informacijos išgavimo, Rspress taip pat susiduria su ta pačia problema. Rspress leidžia vartotojams pagerinti dokumentų išraišką naudojant MDX fragmentus, React komponentus, Hooks ir TSX maršrutus bei kitas dinamiškas savybes. Tačiau šis dinaminis turinys konvertuojant į Markdown tekstą susiduria su šiomis problemomis:
- Tiesiogiai pateikus MDX AI, bus daug kodo sintaksės triukšmo ir prarandamas React komponentų turinys.
- HTML konvertavimas į Markdown dažnai būna prastas, informacijos kokybė sunkiai užtikrinama.
Norint išspręsti šią problemą, Rspress 2.0 pristato SSG-MD funkciją. Tai visiškai nauja funkcija, panaši į statinio svetainės generavimą (SSG), tačiau skiriasi tuo, kad ji renderina jūsų puslapius kaip Markdown failus, o ne HTML failus, ir generuoja llms.txt bei llms-full.txt susijusius failus.

Shiki kompiliavimo metu kodo blokų paryškinimasRspress 2.0 numatytas naudoti Shiki kodų paryškinimui. Palyginti su 1.x prism vykdymo paryškinimo sprendimu, Shiki paryškinimo apdorojimą atlieka kompiliavimo metu.
- Palaiko įvairias temos stilius, pavyzdžiui, CSS kintamųjų puslapyje galima interaktyviai keisti ir peržiūrėti skirtingas Shiki temas.
- Taip pat Shiki leidžia naudoti pasirinktinius transformatorius, kad būtų praturtinta rašymo patirtis, pavyzdžiui, twoslash ir kt.
- Įtraukiama programavimo kalba pagal poreikį, nesukeliant vykdymo išlaidų ir paketo dydžio.
- Remiasi TextMate sintakse, kad būtų užtikrintas tikslus sintaksės paryškinimas, kaip VS Code.
Statybos našumo gerinimas
Rspress 2.0 pagrindą sudaro Rsbuild ir Rspack 2.0 peržiūros versija, tuo pačiu numatytai įjungtas kompiliavimas pagal poreikį ir nuolatinė talpykla.
Kompiliavimas pagal poreikį
Numatytai įjungtas dev.lazyCompilation, tik kai pasiekiate tam tikrą puslapį, tas puslapis bus kompiliuojamas, žymiai padidinant kūrimo paleidimo greitį, netgi pasiekiant milisekundžių šaltą paleidimą. Rspress taip pat įgyvendino maršruto išankstinio įkrovimo strategiją, kai pelės žymeklis užstringa ant nuorodos, iš anksto įkeliama tikslo maršruto puslapis, kartu su lazyCompilation užtikrinant be nuostolių kūrimo patirtį.
Nuolatinė talpykla
2.0 taip pat numatytai įjungta nuolatinė talpykla, kuri karšto paleidimo metu pakartoja paskutinio kompiliavimo rezultatus, padidindama statybos greitį 30%-60%. Tai reiškia, kad pirmą kartą paleidus rspress dev arba rspress build, vėlesnio paleidimo greitis bus akivaizdžiai padidintas.
Dokumentų kūrimo patirtis
Numatyta įjungti negaliojančių nuorodų tikrinimą
Rspress 2.0 numatytai įjungta negaliojančių nuorodų tikrinimo funkcija. Statybos proceso metu automatiškai tikrinamos dokumente esančios neteisingos nuorodos, padedant jums laiku jas aptikti ir ištaisyti.
Failo kodų blokai
Galite naudoti file="./path/to/file" atributą, kad nurodytumėte išorinius failus kaip kodų blokų turinį, išlaikydami pavyzdžių kodą atskiruose failuose.
preview lankstesnis meta naudojimas
@rspress/plugin-preview dabar remiasi meta atributu, todėl jis yra lankstesnis ir gali būti derinamas su failo kodų blokais.
Rslib & Rspress
Naudodami create-rslib kuriant projektą, dabar galite pasirinkti Rspress įrankį. Tai leidžia jums greitai sukurti dokumentų svetainę, kol kuriate komponentų biblioteką, skirta rašyti komponentų naudojimo instrukcijas, demonstruoti API nuorodas arba realiuoju laiku peržiūrėti komponentų efektus.
Daugiau Rspress oficialių papildinių
Rspress 2.0 pridėjo keletą oficialių papildinių:
- @rspress/plugin-algolia: palaiko Rspress įmontuoto paieškos pakeitimą į Algolia DocSearch
- @rspress/plugin-twoslash: prideda tipų užuominas TypeScript kodų blokams
- @rspress/plugin-llms: suteikia llms.txt generavimo galimybes projektams, kurie nepalaiko SSG ir SSG-MD
- @rspress/plugin-sitemap: automatiškai generuoja Sitemap failus, skirtus SEO optimizavimui
Svarbūs pakeitimai
Migracija iš Rspress 1.x
Jei esate 1.x projekto vartotojas, paruošėme išsamią migracijos dokumentaciją, kad padėtume jums atnaujinti iš 1.x į 2.0. Galite tiesiogiai naudoti puslapyje esančią "Kopijuoti Markdown" funkciją, kad įvestumėte ją savo dažnai naudojamam kodavimo agentui (pvz., Claude Code ir kt.) migracijai atlikti.### Node.js ir aukštesnių priklausomybių versijų reikalavimai
Rspress 2.0 reikalauja Node.js versijos 20+, React versijos 18+.
Kitas žingsnis
Rspress 2.0 išleidimas yra tik naujas pradžios taškas. Po šio išleidimo Rspress nuolat tobulės:
- Ekosistemos integracijos skatinimas: gilesnis Rslib, Rstest integravimas, siekiant suteikti integruotą kūrimo patirtį front-end projektams ir komponentų bibliotekoms.
- AI ir dokumentų gilesnės integracijos tyrinėjimas: tokios kaip protingi klausimai ir atsakymai, automatiniai santraukos; tobulinti SSG-MD, kad jis būtų stabilus ir patogesnis naudoti.
npm create rspress@latest

