Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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
18 changes: 18 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,24 @@ jobs:
- name: Build Sphinx
run: sphinx-build -b html docs/source _site

- name: Install LaTeX for PDF
run: |
sudo apt-get update
sudo apt-get install -y --no-install-recommends \
latexmk texlive-latex-recommended texlive-latex-extra \
texlive-fonts-recommended tex-gyre

- name: Build PDF (pdflatex)
run: |
sphinx-build -M latexpdf docs/source docs/_build
cp docs/_build/latex/cryptnox-docs.pdf _site/cryptnox-docs.pdf

- name: Upload PDF artifact (for PR review)
uses: actions/upload-artifact@v4
with:
name: cryptnox-docs-pdf
path: docs/_build/latex/cryptnox-docs.pdf

- name: Add CNAME for custom domain
run: echo "docs.cryptnox.com" > _site/CNAME

Expand Down
Binary file added docs/source/_static/cryptnox-logo-dark.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/source/_static/icon-cli.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/source/_static/icon-hw.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/source/_static/icon-sdk.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
15 changes: 15 additions & 0 deletions docs/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -56,3 +56,18 @@
html_show_sourcelink = False
html_copy_source = False
html_show_sphinx = False

# -- Options for PDF (LaTeX) output ------------------------------------------
# Built by CI with pdflatex, same as Yubico's tech manual. Output: cryptnox-docs.pdf

latex_engine = 'pdflatex'
latex_logo = '_static/cryptnox-logo-dark.png' # white logo is invisible on white PDF title page
latex_documents = [
('index', 'cryptnox-docs.tex', 'Cryptnox Product Documentation', author, 'manual'),
]
latex_elements = {
'papersize': 'a4paper',
'pointsize': '11pt',
'figure_align': 'H',
'extraclassoptions': 'oneside,openany', # no blank filler pages (web PDF, not double-sided print)
}
34 changes: 34 additions & 0 deletions docs/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@
Cryptnox Product Documentation
================================

.. only:: html

📄 `Download the full documentation as PDF <cryptnox-docs.pdf>`__


Cryptnox Hardware Wallet
=========================
Expand All @@ -15,6 +19,11 @@ Cryptnox Hardware Wallet
</svg>
</div>

.. only:: latex

.. image:: _static/icon-hw.png
:height: 40px

*Cryptnox Hardware Wallet* is a JavaCard Open Platform 3 smartcard with an EAL6+ Common Criteria
certified secure element. It provides hardware-secured private key storage and transaction signing
for cryptocurrency applications over NFC and contact (T=1) interfaces.
Expand All @@ -37,6 +46,11 @@ Cryptnox CLI
</svg>
</div>

.. only:: latex

.. image:: _static/icon-cli.png
:height: 40px

*Cryptnox CLI* brings full smartcard control to the terminal, handling card initialization, secure
channel setup, PIN management, seed generation, key derivation, and transaction signing through a
single command interface.
Expand All @@ -59,6 +73,11 @@ Cryptnox SDK for Python
</svg>
</div>

.. only:: latex

.. image:: _static/icon-sdk.png
:height: 40px

*Cryptnox SDK for Python* brings Cryptnox smartcard support to the Python ecosystem, surfacing
secure channel, APDU exchange, key derivation, and signing through a clean Python API. It integrates
directly into desktop wallets, backend services, and automation workflows, adding hardware-secured
Expand All @@ -82,6 +101,11 @@ Cryptnox SDK for ESP32
</svg>
</div>

.. only:: latex

.. image:: _static/icon-sdk.png
:height: 40px

*Cryptnox SDK for ESP32* brings Cryptnox smartcard support to the ESP-IDF ecosystem, wrapping secure
channel, APDU exchange, key derivation, and signing into a ready-to-use component for the ESP32's
Wi-Fi/Bluetooth SoCs. Connected firmware gains hardware-secured key storage without ever handling the
Expand All @@ -105,6 +129,11 @@ Cryptnox SDK for Arduino
</svg>
</div>

.. only:: latex

.. image:: _static/icon-sdk.png
:height: 40px

*Cryptnox SDK for Arduino* packages Cryptnox smartcard support as an Arduino library, exposing secure
channel, APDU exchange, key derivation, and signing through a sketch-friendly API. Installable
directly through the Arduino IDE and Library Manager, it adds hardware-secured keys to any board in
Expand All @@ -128,6 +157,11 @@ Cryptnox SDK for C++
</svg>
</div>

.. only:: latex

.. image:: _static/icon-sdk.png
:height: 40px

*Cryptnox SDK for C++* is the portable core at the heart of Cryptnox's embedded SDKs, implementing
secure channel, APDU exchange, key derivation, and signing in platform-neutral C++. It ships no
transport driver, crypto backend, or logging output, so porting Cryptnox support to a new native
Expand Down
Loading