Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
8ac51cc
Update mission statement to emphasize developer freedom
abinav2307 Aug 24, 2025
399ff70
Refactor article links and update visuals
abinav2307 Aug 24, 2025
d26293b
Add files via upload
abinav2307 Aug 24, 2025
f024410
Revise PostgreSQL documentation content
abinav2307 Aug 24, 2025
48617ae
Update page.tsx
abinav2307 Aug 24, 2025
01d9a36
Refactor operator categories for consistency
abinav2307 Aug 24, 2025
a0c6c68
Rename various operator categories in documentation
abinav2307 Aug 24, 2025
f556cb9
Fix typo in supported operators description
abinav2307 Aug 24, 2025
f00002e
Rename 'Bitwise Operator' to 'Bitwise'
abinav2307 Aug 24, 2025
fdf0321
Update getting started menu and remove Node.js guide
abinav2307 Aug 24, 2025
0253229
Revise DocumentDB setup documentation for Python
abinav2307 Aug 24, 2025
cd0a779
Update documentation by removing outdated content
abinav2307 Aug 24, 2025
b3d5493
Remove Debugging and Troubleshooting section
abinav2307 Aug 24, 2025
22e37d4
Remove 'Next Steps' section from page.tsx
abinav2307 Aug 24, 2025
43f0043
Delete 'Next Steps' section from page.tsx
abinav2307 Aug 24, 2025
c751948
Clean up index strategies and advanced features section
abinav2307 Aug 24, 2025
2cff309
Fix typo in selectedOperator state initialization
abinav2307 Aug 24, 2025
236ca5d
Refactor contributor section layout and styles
abinav2307 Aug 24, 2025
1e64e76
Fix typo in blog description text
abinav2307 Aug 24, 2025
55566d4
Add footer with copyright details
abinav2307 Aug 25, 2025
d905b30
Revise footer copyright and add policy link
abinav2307 Aug 25, 2025
e2cca0a
Revise blog entries and update links
abinav2307 Aug 25, 2025
b7a1379
Change default selected item to 'Python Setup Guide'
abinav2307 Aug 25, 2025
c3c78e5
Update footer copyright information
abinav2307 Aug 25, 2025
85bc787
Update GitHub link in Navbar component (#3)
abinav2307 Aug 26, 2025
6d78a79
Update GitHub link for documentdb repository (#4)
abinav2307 Aug 26, 2025
4dea99b
Fix links in Navbar component (#5)
abinav2307 Aug 27, 2025
90084d1
Update description to specify MongoDB compatibility (#6)
abinav2307 Sep 10, 2025
4fa461b
Publish packages with GitHub Pages deployment (#10)
shuaitian-git Nov 4, 2025
9711097
Improve packages publish with key signing and detailed documentations…
shuaitian-git Nov 6, 2025
a0b192c
Revamped engine for static documentation in the Next.js site (#7)
seesharprun Nov 21, 2025
3a2123c
Change greeting from 'Hello' to 'Goodbye' (#18)
abinav2307 Nov 22, 2025
1f6bfed
Merge branch 'ferretdb' of https://github.com/FerretDB/documentdb.git…
seesharprun Dec 3, 2025
386bc1a
Revert `index.html`
seesharprun Dec 3, 2025
dbd72fb
Add FerretDB logo
seesharprun Dec 3, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"name": "DocumentDB Next.js Dev Container",
"image": "mcr.microsoft.com/devcontainers/javascript-node",
"customizations": {
"vscode": {
"extensions": [
"redhat.vscode-yaml"
]
}
},
"forwardPorts": [
3000
],
"postCreateCommand": "npm install"
}
90 changes: 90 additions & 0 deletions .github/scripts/ajv-to-ctrf.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
// Minimal AJV output to CTRF converter
// Reads validation-output.txt and writes a dummy CTRF report

const fs = require('fs');
const [, , inputPath, outputPath] = process.argv;

if (!inputPath || !outputPath) {
console.error('Usage: node ajv-to-ctrf.js <input> <output>');
process.exit(1);
}

if (!fs.existsSync(inputPath)) {
console.error(`Error: Input file not found: ${inputPath}`);
fs.writeFileSync(outputPath, JSON.stringify({ version: '1.0', results: [], error: `Input file not found: ${inputPath}` }, null, 2));
process.exit(0);
}

const output = {
version: '1.0',
results: []
};

try {
const lines = fs.readFileSync(inputPath, 'utf-8').split('\n');
let currentTest = null;

for (const line of lines) {
const trimmed = line.trim();
if (!trimmed) continue;

// Detect start of a new validation
if (trimmed.startsWith('Validating:')) {
if (currentTest) {
output.results.push(currentTest);
}
const match = trimmed.match(/Validating:\s+(.+?)\s+against\s+(.+)/);
if (match) {
currentTest = {
testName: match[1],
status: 'unknown',
message: `Validating ${match[1]} against ${match[2]}`,
details: []
};
}
}
// Detect pass/fail status
else if (trimmed.startsWith('✓ PASSED:')) {
if (currentTest) {
currentTest.status = 'pass';
output.results.push(currentTest);
currentTest = null;
}
}
else if (trimmed.startsWith('✗ FAILED:')) {
if (currentTest) {
currentTest.status = 'fail';
output.results.push(currentTest);
currentTest = null;
}
}
// Collect error details
else if (currentTest && (trimmed.includes('error') || trimmed.includes('invalid') || trimmed.includes('must'))) {
currentTest.details.push(trimmed);
currentTest.message += '\n' + trimmed;
}
}

// Add last test if exists
if (currentTest) {
output.results.push(currentTest);
}

// If no results, create a summary entry
if (output.results.length === 0) {
output.results.push({
testName: 'YAML Schema Validation',
status: 'pass',
message: 'No validation results found or all files skipped'
});
}

fs.writeFileSync(outputPath, JSON.stringify(output, null, 2));
console.log(`CTRF report generated: ${outputPath}`);
console.log(`Total tests: ${output.results.length}`);
console.log(`Passed: ${output.results.filter(r => r.status === 'pass').length}`);
console.log(`Failed: ${output.results.filter(r => r.status === 'fail').length}`);
} catch (err) {
console.error('Error:', err);
process.exit(1);
}
Loading