Skip to content

Commit 925e189

Browse files
RTD improved
1 parent 3feb958 commit 925e189

5 files changed

Lines changed: 80 additions & 10 deletions

File tree

docs/Instruments_Manuals_Lists.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,11 @@
1-
# List of all manuals and documents relevenet to PICA
1+
---
2+
myst:
3+
html_meta:
4+
description: "Reference list of instrument manuals and datasheets used with PICA — Keithley 2400, 6221, 2182, 6517B, Keysight E4980A, Lakeshore 350/340, Novocontrol Alpha, and more."
5+
keywords: "instrument manuals, Keithley reference manual, Keysight E4980A manual, Lakeshore 350 manual, SCPI programming reference"
6+
---
7+
8+
# Instrument Manuals and Reference Documents
29

310
## **Keithley Instruments (Tektronix)**
411

docs/User_Manual.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
---
2+
myst:
3+
html_meta:
4+
description: "Complete user manual for PICA v1.0.5 — installation, VISA/GPIB setup, safety, and every measurement module: ultra-low resistance (delta mode), I-V, high-resistance electrometry, pyroelectric current, dielectric spectroscopy, and temperature control."
5+
keywords: "PICA user manual, PyVISA setup, NI-VISA, delta mode, Keithley 6221 2182, Keithley 2400, Keithley 6517B electrometer, Keysight E4980A LCR, Lakeshore 350, pyroelectric measurement, dielectric spectroscopy"
6+
---
7+
18
# PICA: Advanced High-Precision Transport Measurement Automation with Python
29

310
*Comprehensive Guide for Version 1.0.5*

docs/conf.py

Lines changed: 54 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
extensions = [
1616
'myst_parser', # For Markdown support
1717
'sphinx_rtd_theme', # For the ReadTheDocs theme
18+
'sphinx_sitemap', # Generates sitemap.xml for search engines
19+
'sphinxext.opengraph', # Open Graph / social-preview meta tags
1820
]
1921

2022
# Configure MyST-Parser to allow HTML images (the <img src="..."> tags in your manual)
@@ -35,27 +37,75 @@
3537
}
3638

3739
templates_path = ['_templates']
38-
exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
40+
# The Novocontrol runbook is an internal lab document — kept in the repo
41+
# (linked from the README on GitHub) but not published on the docs sites
42+
exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store',
43+
'Novocontrol_GPIB_Runbook.md']
44+
45+
# Sets <html lang="en"> — search engines use this for language targeting
46+
language = 'en'
47+
48+
# -- SEO: canonical URL, sitemap, social previews -----------------------------
49+
# The same conf builds two hosts: GitHub Pages (primary docs site) and Read
50+
# the Docs. Each build declares itself as canonical so neither site is
51+
# deranked as duplicate content, and each gets a correct sitemap.xml.
52+
_GITHUB_PAGES_URL = (
53+
'https://prathameshnium.github.io/'
54+
'PICA-Python-Instrument-Control-and-Automation/'
55+
)
56+
_RTD_URL = (
57+
'https://pica-python-instrument-control-and-automation.'
58+
'readthedocs.io/en/latest/'
59+
)
60+
61+
if os.environ.get('READTHEDOCS'):
62+
html_baseurl = os.environ.get('READTHEDOCS_CANONICAL_URL', _RTD_URL)
63+
else:
64+
html_baseurl = _GITHUB_PAGES_URL
65+
66+
# sphinx-sitemap: html_baseurl already carries the language/version prefix on
67+
# RTD, so don't add another {lang}/{version} segment to sitemap entries
68+
sitemap_url_scheme = '{link}'
69+
70+
# sphinxext-opengraph: og:title/description are derived per page; the image
71+
# lives at the site root because html_extra_path copies pica/assets there
72+
ogp_site_url = html_baseurl
73+
ogp_site_name = 'PICA — Python Instrument Control and Automation'
74+
ogp_image = _GITHUB_PAGES_URL + 'LOGO/PICA_LOGO_NBG.png'
75+
ogp_type = 'website'
76+
ogp_description_length = 200
77+
ogp_enable_meta_description = True
3978

4079
# -- Options for HTML output -------------------------------------------------
4180
html_theme = 'sphinx_rtd_theme'
4281

82+
# Descriptive, keyword-bearing suffix for every page's <title> tag
83+
# (rendered as "<page title> — <html_title>")
84+
html_title = 'Python Instrument Control and Automation'
85+
html_short_title = 'PICA Documentation'
86+
87+
# Sidebar branding (paths relative to this conf.py; copied into _static)
88+
html_logo = '../pica/assets/LOGO/PICA_LOGO_NBG.png'
89+
html_favicon = '../pica/assets/LOGO/PICA_LOGO.ico'
90+
4391
# Show the full section tree in the sidebar from the landing page onwards,
4492
# instead of collapsing navigation to top-level entries only
4593
html_theme_options = {
4694
'collapse_navigation': False,
4795
'sticky_navigation': True,
4896
'navigation_depth': 4,
4997
'titles_only': False,
98+
'logo_only': False,
5099
}
51100

52101
# Add any paths that contain custom static files (such as style sheets)
53102
html_static_path = []
54103

55-
# This copies the pica/assets folder into the build output
56-
html_extra_path = ["../pica/assets"]
104+
# This copies the pica/assets folder into the build output; robots.txt keeps
105+
# the site's crawler policy consistent across GitHub Pages and Read the Docs
106+
html_extra_path = ["../pica/assets", "../robots.txt"]
57107

58108
# This ensures Sphinx doesn't complain about the pica folder
59109
# we manually move in the workflow. Image paths (Images/, LOGO/) resolve at
60110
# runtime via html_extra_path, so the build-time readability check is noise.
61-
suppress_warnings = ["etoc.toctree", "image.not_readable"]
111+
suppress_warnings = ["etoc.toctree", "image.not_readable"]

docs/index.md

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,19 @@
1+
---
2+
myst:
3+
html_meta:
4+
description: "PICA is an open-source Python suite for laboratory instrument control and automation — GPIB/VISA and SCPI orchestration of Keithley, Keysight, Lakeshore, and Novocontrol instruments for cryogenic transport, resistivity, I-V, dielectric, and pyroelectric measurements."
5+
keywords: "Python instrument control, laboratory automation, GPIB, PyVISA, SCPI, Keithley, Keysight E4980A, Lakeshore 350, cryogenics, transport measurements"
6+
---
7+
18
# PICA Documentation
29

3-
**Python Instrument Control and Automation**
10+
PICA (**Python Instrument Control and Automation**) is a modular, open-source Python suite for automating high-precision transport measurements. It supports a resistance range spanning **24 orders of magnitude** (10 nΩ – 10 PΩ), pyroelectric current detection down to 1 fA, and capacitance spectroscopy from 20 Hz – 2 MHz.
411

512
[![GitHub Release](https://img.shields.io/github/v/release/prathameshnium/PICA-Python-Instrument-Control-and-Automation)](https://github.com/prathameshnium/PICA-Python-Instrument-Control-and-Automation/releases)
613
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/prathameshnium/PICA-Python-Instrument-Control-and-Automation/blob/main/LICENSE)
714
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.18377217.svg)](https://doi.org/10.5281/zenodo.18377217)
815
[![Read the Docs](https://readthedocs.org/projects/pica-python-instrument-control-and-automation/badge/?version=latest)](https://pica-python-instrument-control-and-automation.readthedocs.io/en/latest/)
916

10-
PICA is a modular, open-source Python suite for automating high-precision transport measurements. It supports a resistance range spanning **24 orders of magnitude** (10 nΩ – 10 PΩ), pyroelectric current detection down to 1 fA, and capacitance spectroscopy from 20 Hz – 2 MHz.
11-
1217
---
1318

1419
## Quick Start
@@ -48,5 +53,4 @@ pica-gui
4853
4954
User_Manual
5055
Instruments_Manuals_Lists
51-
Novocontrol_GPIB_Runbook
5256
```

docs/requirements.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
sphinx>=7.0.0
22
myst-parser
3-
sphinx-rtd-theme
3+
sphinx-rtd-theme
4+
sphinx-sitemap
5+
sphinxext-opengraph

0 commit comments

Comments
 (0)