@@ -118,7 +118,7 @@ <h1>Build <span class="highlight">Blazingly Fast</span> Analytics</h1>
118118 </ div >
119119 </ div >
120120 < div class ="hero-buttons ">
121- < a href ="https://core.rayforcedb.com/content/get-started/install/ " class ="btn btn-primary " target ="_blank ">
121+ < a href ="https://core.rayforcedb.com/content/get-started/install.html " class ="btn btn-primary " target ="_blank ">
122122 Get Started
123123 < svg xmlns ="http://www.w3.org/2000/svg " width ="16 " height ="16 " viewBox ="0 0 24 24 " fill ="none " stroke ="currentColor " stroke-width ="2 " stroke-linecap ="round " stroke-linejoin ="round ">
124124 < line x1 ="5 " y1 ="12 " x2 ="19 " y2 ="12 "> </ line >
@@ -197,15 +197,16 @@ <h3>rayforce</h3>
197197 < svg xmlns ="http://www.w3.org/2000/svg " width ="16 " height ="16 " viewBox ="0 0 24 24 " fill ="none " stroke ="currentColor " stroke-width ="2 ">
198198 < polygon points ="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2 "> </ polygon >
199199 </ svg >
200- 84
200+ < span id =" rayforce-stars " > — </ span >
201201 </ span >
202202 < span class ="meta-item ">
203203 < svg xmlns ="http://www.w3.org/2000/svg " width ="16 " height ="16 " viewBox ="0 0 24 24 " fill ="none " stroke ="currentColor " stroke-width ="2 ">
204204 < path d ="M7 7V3a1 1 0 0 1 1-1h13a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-4 "> </ path >
205205 < rect x ="2 " y ="7 " width ="15 " height ="15 " rx ="1 "> </ rect >
206206 </ svg >
207- 16
207+ < span id =" rayforce-forks " > — </ span >
208208 </ span >
209+ < span class ="meta-item version " id ="rayforce-version "> —</ span >
209210 </ div >
210211 </ a >
211212
@@ -219,18 +220,18 @@ <h3>rayforce</h3>
219220 < h3 > rayforce-py</ h3 >
220221 < p > Powerful Python bindings with DataFrame-like API. Seamless integration for data science and analytics workflows.</ p >
221222 < div class ="project-tech ">
222- < span class ="tech-tag "> Python</ span >
223- < span class ="tech-tag "> PyPI </ span >
224- < span class ="tech-tag "> NumPy </ span >
223+ < span class ="tech-tag "> Python 3.11+ </ span >
224+ < span class ="tech-tag "> Timeseries </ span >
225+ < span class ="tech-tag "> Native </ span >
225226 </ div >
226227 < div class ="project-meta ">
227228 < span class ="meta-item ">
228229 < svg xmlns ="http://www.w3.org/2000/svg " width ="16 " height ="16 " viewBox ="0 0 24 24 " fill ="none " stroke ="currentColor " stroke-width ="2 ">
229230 < polygon points ="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2 "> </ polygon >
230231 </ svg >
231- 9
232+ < span id =" rayforce-py-stars " > — </ span >
232233 </ span >
233- < span class ="meta-item version "> v0.0.13 </ span >
234+ < span class ="meta-item version " id =" rayforce-py-version " > — </ span >
234235 </ div >
235236 </ a >
236237
@@ -266,19 +267,20 @@ <h3>rayforce-wasm</h3>
266267 </ svg >
267268 </ div >
268269 < h3 > rayforce-vscode</ h3 >
269- < p > VS Code extension with syntax highlighting, code completion, and integrated REPL for the Rayfall query language .</ p >
270+ < p > RayforceDB runtime manager embedded in VS Code (Cursor) workspace. Connect and execute queries against local & remote RayforceDB instances via integrated REPL .</ p >
270271 < div class ="project-tech ">
271- < span class ="tech-tag "> VS Code </ span >
272+ < span class ="tech-tag "> VSX </ span >
272273 < span class ="tech-tag "> TypeScript</ span >
273- < span class ="tech-tag "> LSP </ span >
274+ < span class ="tech-tag "> Embedded </ span >
274275 </ div >
275276 < div class ="project-meta ">
276277 < span class ="meta-item ">
277278 < svg xmlns ="http://www.w3.org/2000/svg " width ="16 " height ="16 " viewBox ="0 0 24 24 " fill ="none " stroke ="currentColor " stroke-width ="2 ">
278279 < polygon points ="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2 "> </ polygon >
279280 </ svg >
280- —
281+ < span id =" rayforce-vscode-stars " > — </ span >
281282 </ span >
283+ < span class ="meta-item version " id ="rayforce-vscode-version "> —</ span >
282284 </ div >
283285 </ a >
284286
@@ -429,7 +431,7 @@ <h2>Built For</h2>
429431 < h2 > Ready to get started?</ h2 >
430432 < p > Join the RayforceDB community and build blazingly fast analytics applications.</ p >
431433 < div class ="cta-buttons ">
432- < a href ="https://core.rayforcedb.com/content/get-started/install/ " class ="btn btn-primary " target ="_blank ">
434+ < a href ="https://core.rayforcedb.com/content/get-started/install.html " class ="btn btn-primary " target ="_blank ">
433435 Read the Docs
434436 </ a >
435437 < a href ="https://github.com/RayforceDB " class ="btn btn-secondary " target ="_blank ">
@@ -477,16 +479,15 @@ <h2>Ready to get started?</h2>
477479 < div class ="footer-links ">
478480 < div class ="footer-column ">
479481 < h4 > Projects</ h4 >
480- < a href ="https://github. com/RayforceDB/rayforce " target ="_blank "> rayforce</ a >
481- < a href ="https://github. com/RayforceDB/rayforce-py " target ="_blank "> rayforce-py</ a >
482- < a href ="https://github. com/RayforceDB/rayforce-wasm " target ="_blank "> rayforce-wasm</ a >
482+ < a href ="https://core.rayforcedb. com/ " target ="_blank "> rayforce</ a >
483+ < a href ="https://py.rayforcedb. com/ " target ="_blank "> rayforce-py</ a >
484+ < a href ="https://wasm.rayforcedb. com/ " target ="_blank "> rayforce-wasm</ a >
483485 < a href ="https://vscode.rayforcedb.com " target ="_blank "> rayforce-vscode</ a >
484- < a href ="https://github. com/RayforceDB/rayforce-rs " target ="_blank "> rayforce-rs</ a >
486+ < a href ="https://rs.rayforcedb. com " target ="_blank "> rayforce-rs</ a >
485487 </ div >
486488 < div class ="footer-column ">
487489 < h4 > Resources</ h4 >
488- < a href ="https://core.rayforcedb.com " target ="_blank "> Documentation</ a >
489- < a href ="https://py.rayforcedb.com " target ="_blank "> Python Docs</ a >
490+ < a href ="https://core.rayforcedb.com/content/get-started/overview.html " target ="_blank "> Documentation</ a >
490491 < a href ="https://github.com/RayforceDB/rayforce/blob/master/LICENSE " target ="_blank "> License (MIT)</ a >
491492 </ div >
492493 < div class ="footer-column ">
@@ -537,9 +538,15 @@ <h4>Community</h4>
537538 // Fetch GitHub stats
538539 async function fetchGitHubStats ( ) {
539540 try {
540- const response = await fetch ( 'https://api.github.com/repos/RayforceDB/rayforce' ) ;
541- const data = await response . json ( ) ;
541+ const [ repoResponse , releasesResponse ] = await Promise . all ( [
542+ fetch ( 'https://api.github.com/repos/RayforceDB/rayforce' ) ,
543+ fetch ( 'https://api.github.com/repos/RayforceDB/rayforce/releases/latest' )
544+ ] ) ;
545+
546+ const data = await repoResponse . json ( ) ;
547+ const releasesData = await releasesResponse . json ( ) ;
542548
549+ // Header stats
543550 const starsEl = document . getElementById ( 'stars-count' ) ;
544551 const forksEl = document . getElementById ( 'forks-count' ) ;
545552
@@ -549,6 +556,23 @@ <h4>Community</h4>
549556 if ( data . forks_count !== undefined ) {
550557 animateNumber ( forksEl , data . forks_count ) ;
551558 }
559+
560+ // Project card stats
561+ const projectStarsEl = document . getElementById ( 'rayforce-stars' ) ;
562+ const projectForksEl = document . getElementById ( 'rayforce-forks' ) ;
563+ const versionEl = document . getElementById ( 'rayforce-version' ) ;
564+
565+ if ( projectStarsEl && data . stargazers_count !== undefined ) {
566+ animateNumber ( projectStarsEl , data . stargazers_count ) ;
567+ }
568+ if ( projectForksEl && data . forks_count !== undefined ) {
569+ animateNumber ( projectForksEl , data . forks_count ) ;
570+ }
571+ if ( versionEl && releasesData . tag_name ) {
572+ versionEl . textContent = releasesData . tag_name . startsWith ( 'v' )
573+ ? releasesData . tag_name
574+ : 'v' + releasesData . tag_name ;
575+ }
552576 } catch ( error ) {
553577 console . log ( 'Could not fetch GitHub stats' ) ;
554578 }
@@ -576,8 +600,64 @@ <h4>Community</h4>
576600 requestAnimationFrame ( update ) ;
577601 }
578602
603+ // Fetch GitHub stats for rayforce-py
604+ async function fetchRayforcePyStats ( ) {
605+ try {
606+ const [ repoResponse , releasesResponse ] = await Promise . all ( [
607+ fetch ( 'https://api.github.com/repos/RayforceDB/rayforce-py' ) ,
608+ fetch ( 'https://api.github.com/repos/RayforceDB/rayforce-py/releases/latest' )
609+ ] ) ;
610+
611+ const repoData = await repoResponse . json ( ) ;
612+ const releasesData = await releasesResponse . json ( ) ;
613+
614+ const starsEl = document . getElementById ( 'rayforce-py-stars' ) ;
615+ const versionEl = document . getElementById ( 'rayforce-py-version' ) ;
616+
617+ if ( repoData . stargazers_count !== undefined ) {
618+ animateNumber ( starsEl , repoData . stargazers_count ) ;
619+ }
620+ if ( releasesData . tag_name ) {
621+ versionEl . textContent = releasesData . tag_name . startsWith ( 'v' )
622+ ? releasesData . tag_name
623+ : 'v' + releasesData . tag_name ;
624+ }
625+ } catch ( error ) {
626+ console . log ( 'Could not fetch rayforce-py stats' ) ;
627+ }
628+ }
629+
630+ // Fetch GitHub stats for rayforce-vscode
631+ async function fetchRayforceVscodeStats ( ) {
632+ try {
633+ const [ repoResponse , releasesResponse ] = await Promise . all ( [
634+ fetch ( 'https://api.github.com/repos/RayforceDB/rayforce-vscode' ) ,
635+ fetch ( 'https://api.github.com/repos/RayforceDB/rayforce-vscode/releases/latest' )
636+ ] ) ;
637+
638+ const repoData = await repoResponse . json ( ) ;
639+ const releasesData = await releasesResponse . json ( ) ;
640+
641+ const starsEl = document . getElementById ( 'rayforce-vscode-stars' ) ;
642+ const versionEl = document . getElementById ( 'rayforce-vscode-version' ) ;
643+
644+ if ( repoData . stargazers_count !== undefined ) {
645+ animateNumber ( starsEl , repoData . stargazers_count ) ;
646+ }
647+ if ( releasesData . tag_name ) {
648+ versionEl . textContent = releasesData . tag_name . startsWith ( 'v' )
649+ ? releasesData . tag_name
650+ : 'v' + releasesData . tag_name ;
651+ }
652+ } catch ( error ) {
653+ console . log ( 'Could not fetch rayforce-vscode stats' ) ;
654+ }
655+ }
656+
579657 // Fetch stats on load
580658 fetchGitHubStats ( ) ;
659+ fetchRayforcePyStats ( ) ;
660+ fetchRayforceVscodeStats ( ) ;
581661
582662 // Smooth scroll for anchor links
583663 document . querySelectorAll ( 'a[href^="#"]' ) . forEach ( anchor => {
0 commit comments