@@ -31,7 +31,11 @@ module.exports = {
3131 "docusaurus-tailwindcss-loader" ,
3232 ] ,
3333 themeConfig : {
34- canonicalBase : "https://www.keploy.io/" ,
34+ tableOfContents : {
35+ minHeadingLevel : 2 ,
36+ maxHeadingLevel : 2 ,
37+ } ,
38+ canonicalBase : "https://keploy.io/" ,
3539 metadata : [
3640 {
3741 description : "Documentation for Keploy Backend Test Generator" ,
@@ -51,8 +55,37 @@ module.exports = {
5155 "API testing, Keploy docs, incident replay, network calls, code paths, test scenarios, code coverage, stubs, junit, go-test, live environment, production incidents, open source, regression tests, ai tests" ,
5256 } ,
5357 { name : "twitter:card" , content : "summary_large_image" } ,
58+ {
59+ property : "og:image" ,
60+ content : "https://keploy.io/images/keploy-hero.png" ,
61+ } ,
62+ { property : "og:image:width" , content : "1200" } ,
63+ { property : "og:image:height" , content : "630" } ,
5464 ] ,
5565 headTags : [
66+ // Google Fonts - DM Sans (loaded via headTags instead of CSS @import)
67+ {
68+ tagName : "link" ,
69+ attributes : {
70+ rel : "preconnect" ,
71+ href : "https://fonts.googleapis.com" ,
72+ } ,
73+ } ,
74+ {
75+ tagName : "link" ,
76+ attributes : {
77+ rel : "preconnect" ,
78+ href : "https://fonts.gstatic.com" ,
79+ crossorigin : "anonymous" ,
80+ } ,
81+ } ,
82+ {
83+ tagName : "link" ,
84+ attributes : {
85+ rel : "stylesheet" ,
86+ href : "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;700&display=swap" ,
87+ } ,
88+ } ,
5689 // Preconnect tag
5790 {
5891 tagName : "link" ,
@@ -67,15 +100,55 @@ module.exports = {
67100 type : "application/ld+json" ,
68101 } ,
69102 innerHTML : JSON . stringify ( {
70- "@context" : "https://schema.org/" ,
71- "@type" : "Product" ,
72- description :
73- "Keploy - Open source tool that generates integration tests like unit tests with mocks or stubs from API calls." ,
74- keywords :
75- "API testing, incident replay, network calls, code paths, test scenarios, code coverage, stubs, junit, go-test, live environment, production incidents, open source, regression tests, ai tests" ,
103+ "@context" : "https://schema.org" ,
104+ "@type" : "SoftwareApplication" ,
76105 name : "Keploy" ,
77- url : "https://keploy.io/" ,
78- logo : "https://keploy.io/docs/img/favicon.png" ,
106+ description :
107+ "Keploy is an open-source, AI-powered testing agent and sandboxing platform that automatically generates test cases, dependency mocks, and production-like sandboxes from real user traffic using eBPF. It helps developers achieve 90% test coverage in minutes with zero code changes. Native support is available on Linux; macOS and Windows require a Linux environment such as Lima, WSL, or Docker." ,
108+ applicationCategory : "DeveloperTool" ,
109+ applicationSubCategory : "Test Automation" ,
110+ operatingSystem : "Linux" ,
111+ license : "https://www.apache.org/licenses/LICENSE-2.0" ,
112+ softwareHelp : "https://keploy.io/docs/" ,
113+ codeRepository : "https://github.com/keploy/keploy" ,
114+ downloadUrl : "https://github.com/keploy/keploy/releases" ,
115+ isAccessibleForFree : true ,
116+ url : "https://keploy.io" ,
117+ featureList : [
118+ "Automatic test case generation from real user traffic" ,
119+ "Production-like sandbox environments from captured traffic" ,
120+ "AI-powered dependency virtualization and mock generation" ,
121+ "Record and replay testing with eBPF kernel capture" ,
122+ "AI noise detection for flaky test elimination" ,
123+ "Legacy application testing without code changes" ,
124+ "Migration regression testing against production baselines" ,
125+ "Continuous validation in CI/CD pipelines" ,
126+ "Multi-language support (Go, Java, TypeScript, Python)" ,
127+ ] ,
128+ keywords : [
129+ "test automation" ,
130+ "API testing" ,
131+ "API test generation" ,
132+ "unit testing" ,
133+ "integration testing" ,
134+ "mock generation" ,
135+ "dependency virtualization" ,
136+ "eBPF-based testing" ,
137+ "record and replay" ,
138+ "production sandbox" ,
139+ ] ,
140+ programmingLanguage : [
141+ "Go" ,
142+ "Java" ,
143+ "TypeScript" ,
144+ "JavaScript" ,
145+ "Python" ,
146+ ] ,
147+ publisher : {
148+ "@type" : "Organization" ,
149+ name : "Keploy" ,
150+ url : "https://keploy.io" ,
151+ } ,
79152 } ) ,
80153 } ,
81154 {
@@ -88,7 +161,30 @@ module.exports = {
88161 "@type" : "Organization" ,
89162 name : "Keploy" ,
90163 url : "https://keploy.io/" ,
91- logo : "https://keploy.io/docs/img/favicon.png" ,
164+ logo : "https://keploy.io/images/keploy-logo-full.svg" ,
165+ foundingDate : "2021-01-01" ,
166+ knowsAbout : [
167+ "API Testing" ,
168+ "Test Automation" ,
169+ "eBPF-based Testing" ,
170+ "Dependency Virtualization" ,
171+ "AI-Powered Testing" ,
172+ ] ,
173+ award : [
174+ "API World 2023 Award: Best in API Infrastructure" ,
175+ "CNCF Landscape" ,
176+ "Google for Startups Accelerator" ,
177+ "Google Summer of Code Mentoring Organization" ,
178+ ] ,
179+ sameAs : [
180+ "https://github.com/keploy" ,
181+ "https://twitter.com/Keployio" ,
182+ "https://www.linkedin.com/company/keploy" ,
183+ "https://www.youtube.com/@keploy" ,
184+ "https://www.gartner.com/reviews/product/keploy-618993540" ,
185+ "https://www.g2.com/products/keploy/reviews" ,
186+ "https://www.capterra.in/software/1070466/Keploy" ,
187+ ] ,
92188 } ) ,
93189 } ,
94190 {
@@ -150,7 +246,7 @@ module.exports = {
150246 items : [
151247 {
152248 label : "Integration Testing" ,
153- to : "server/installation " ,
249+ to : "server/install " ,
154250 } ,
155251 {
156252 label : "API Testing (AI)" ,
@@ -215,7 +311,7 @@ module.exports = {
215311 </svg></a>
216312 </div>
217313 <div className="footer__icons footer">
218- <a class="footer__link-item" href="https://docs.google.com/forms/d/e/1FAIpQLSdj9q7dyRh3D7ZzRExHLWRRkNPOnLnFfrbKqSwqH3Ur4HzP4g/viewform"> Have a Keploy use-case? Let's Talk!</a>
314+ <a class="footer__link-item" href="https://calendar.app.google/cXVaj6hbMUjvmrnt9" target="_blank" rel="noopener noreferrer"> Have a Keploy use-case? Let's Talk!</a>
219315 </div>
220316 <div class="footer__copyright"><span class="footer__block">Copyright © ${ new Date ( ) . getFullYear ( ) } </span> Keploy Inc.</div>
221317 <div>
@@ -248,11 +344,11 @@ module.exports = {
248344 /**
249345 * Whether to display the author who last updated the doc.
250346 */
251- showLastUpdateAuthor : false ,
347+ showLastUpdateAuthor : true ,
252348 /**
253349 * Whether to display the last date the doc was updated.
254350 */
255- showLastUpdateTime : false ,
351+ showLastUpdateTime : true ,
256352 /**
257353 * Skip the next release docs when versioning is enabled.
258354 * This will not generate HTML files in the production build for documents
@@ -261,6 +357,9 @@ module.exports = {
261357 // excludeNextVersionDocs: false,
262358 lastVersion : "4.0.0" ,
263359 versions : {
360+ "4.0.0" : {
361+ label : "3.0.0" ,
362+ } ,
264363 "1.0.0" : {
265364 label : "1.0.0" ,
266365 path : "1.0.0" ,
@@ -271,13 +370,8 @@ module.exports = {
271370 path : "2.0.0" ,
272371 banner : "unmaintained" ,
273372 } ,
274- "3.0.0" : {
275- label : "3.0.0" ,
276- path : "3.0.0" ,
277- banner : "unmaintained" ,
278- } ,
279373 } ,
280- onlyIncludeVersions : [ "1.0.0" , "2.0.0" , "3.0.0" , " 4.0.0"] ,
374+ onlyIncludeVersions : [ "1.0.0" , "2.0.0" , "4.0.0" ] ,
281375 includeCurrentVersion : true , // excludeNextVersionDocs is now deprecated
282376 // // below remark plugin disabled until we can figure out why it is not transpiling to ESNext properly - swyx
283377 remarkPlugins : [
@@ -354,6 +448,26 @@ module.exports = {
354448 //cacheTime: 600 * 1000, // 600 sec - cache purge period
355449 changefreq : "weekly" ,
356450 priority : 0.5 ,
451+ filename : "sitemap.xml" ,
452+ createSitemapItems : async ( params ) => {
453+ const { defaultCreateSitemapItems, ...rest } = params ;
454+ const items = await defaultCreateSitemapItems ( rest ) ;
455+ return items . map ( ( item ) => {
456+ if ( item . url . includes ( "/quickstart/" ) ) {
457+ return { ...item , priority : 0.8 , changefreq : "weekly" } ;
458+ }
459+ if (
460+ item . url . includes ( "/concepts/" ) ||
461+ item . url . includes ( "/keploy-explained/" )
462+ ) {
463+ return { ...item , priority : 0.7 , changefreq : "weekly" } ;
464+ }
465+ if ( item . url . includes ( "/keploy-cloud/" ) ) {
466+ return { ...item , priority : 0.6 , changefreq : "monthly" } ;
467+ }
468+ return item ;
469+ } ) ;
470+ } ,
357471 } ,
358472 } ,
359473 ] ,
@@ -375,6 +489,13 @@ module.exports = {
375489 async : true ,
376490 defer : true ,
377491 } ,
492+ {
493+ src : "https://telemetry.keploy.io/sessions/sdk.js" ,
494+ async : true ,
495+ defer : true ,
496+ "data-endpoint" : "https://telemetry.keploy.io/sessions/collect" ,
497+ "data-source" : "docs" ,
498+ } ,
378499 /*{
379500 src: "/docs/scripts/chat.js",
380501 async: true,
0 commit comments