You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: DEVELOPER_GUIDE.md
+75Lines changed: 75 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -300,3 +300,78 @@ cd spec-insert
300
300
bundle exec rake generate_dry_run_report
301
301
```
302
302
This will also generate a markdown (.md) file for each API with their rendered components in the `spec-insert/dry_run` folder. This allows you to preview the rendered components for all APIs without modifying the original documentation files. A report summarizing the errors found during the dry-run will be generated in the `spec-insert/dry_run_report.md` file.
303
+
304
+
## PDF Generation
305
+
306
+
The documentation website supports generating PDF versions of the developer guides and other documentation sections. This feature allows users to download complete documentation sets for offline use, easier searching, and integration with AI tools.
307
+
308
+
### Generating PDFs Locally
309
+
310
+
To generate PDFs locally:
311
+
312
+
1.**Install Node.js dependencies:**
313
+
```shell
314
+
npm install
315
+
```
316
+
317
+
2.**Build the Jekyll site:**
318
+
```shell
319
+
bundle exec jekyll build
320
+
```
321
+
322
+
3.**Generate PDFs:**
323
+
```shell
324
+
npm run generate-pdfs
325
+
```
326
+
327
+
Or generate a PDF for a specific collection:
328
+
```shell
329
+
npm run generate-pdfs -- --collection developer-documentation
330
+
```
331
+
332
+
The generated PDFs will be saved in the `pdfs/` directory.
333
+
334
+
### PDF Generation Configuration
335
+
336
+
PDF generation is configured in `pdf-config.json`. This file defines:
337
+
- Which collections to convert to PDFs
338
+
- PDF output settings (format, margins, headers, footers)
339
+
- Base URL and output directory
340
+
341
+
You can customize the configuration by editing `pdf-config.json`.
342
+
343
+
### CI/CD Integration
344
+
345
+
PDF generation runs automatically in CI/CD through the [generate-pdfs.yml](.github/workflows/generate-pdfs.yml) GitHub Actions workflow. This workflow:
346
+
347
+
- Runs weekly on Sundays at 2 AM UTC
348
+
- Can be triggered manually via `workflow_dispatch`
349
+
- Builds the Jekyll site
350
+
- Generates PDFs for all configured collections
351
+
- Uploads PDFs as GitHub Actions artifacts
352
+
353
+
The workflow runs separately from the main Jekyll build to avoid adding to build time.
354
+
355
+
### Available PDFs
356
+
357
+
The following documentation sections are available as PDFs (as configured in `pdf-config.json`):
358
+
359
+
- OpenSearch Developer Guide
360
+
- Getting Started Guide
361
+
- API Reference
362
+
- Install and Configure Guide
363
+
- Cluster Tuning Guide
364
+
- Security Guide
365
+
- Query DSL Guide
366
+
- Search Features Guide
367
+
- Vector Search Guide
368
+
- Machine Learning Guide
369
+
370
+
### Copyright and Usage
371
+
372
+
OpenSearch documentation is licensed under the Apache License 2.0, which allows you to:
373
+
- Use the PDFs for personal or commercial purposes
374
+
- Upload PDFs to AI tools (ChatGPT, NotebookLLM, etc.) for knowledge summarization
375
+
- Share and distribute the PDFs
376
+
377
+
Proper attribution should be maintained when using the documentation.
0 commit comments