Files
weewx/docs/css/weewx_docs.css
Bill Richter 93436a927c once again try to update my fork (#2)
* Got test suites working again.

* Updated TODO

* indicate specific firmware for cc3000

* clarify rainwise firmware

* Further refinement

- max and maxtime now updated
- reworked the progress function, now a method in the class

Have left __main__ code in that has been used for testing windSpeed
recalculation fix

* indicate when calibrations are ignored

* Now emits the barometer trend in LOOP packets as field 'trendIcon'

Vantage only.

* Updated TODO guide, reflecting this morning's phone call.

* Presses on, despite database error

* Simplified patching by moving metadata code to DaySummaryManager

* Got rid of _getVersion()

Can now get it from _read_metadata

* Remove interval weighting fix from weewx startup

Refer TODO.txt

* Update TODO.txt

* added write timeout to ultimeter driver

* better logging when cc3000 loses contact with sensors

* document some of the channel, sensor, and logger specifics for the wmr100/wmr200 hardware

* Removed the p word, patch.py is now database.py, rejigged wee_database as per skype and followup emails

- progress function for fixes included as a method in base class that
can be overridden
- much changing of logging to give consistent results/output
- believe I retained Tom's recent changes to patch.py (commit 4acf752)

* Picks daily summary weights on the basis of database version

* Rewrote the backfill routine (again)

* wee_database now uses new version of backfill_day_summary

* Fixed problem that prevented cold startup

* Revised to reflect latest wee_database incantation

* Modified weighting fix

Should not mess with lessUpdate
Delete lastWeightPatch after successful patch

* Check to make sure the daily summaries have not been partially updated.

* Revised to reflect latest wee_database incantation

* Revised wee_database and interval weighting paras, added windSpeed recalc para

* Removed vacuum

* Updated what has been done and committed

* Better diagnostics with partial update of the daily summaries.

* MySQL now uses transaction isolation level READ COMMITTED

* Add .config (#204)

* Changed semantics of "$last_xxx" tags.

* Template test updates including fixing issue #201 (#205)

* Add .config

* Standardise test skin for index.html.tml to remove "%x %X" locale dependent formatting. Note: Used 24 hour time as AM/PM can also be locale dependent.

Also include fixes for line formatting in some other test files and expected results.

* sysctlbyname is not available on every platform, so catch AttributeError too, otherwise cheetah fails with a name error

* Got rid of tabs

* update usb mode info for acurite models

* Removed intervalgenRoundTS and archiveDaysAgoSpan.

* Simplified tags. Got template test working again.

* Somehow, style "indent" got lost

* Documented new "$ago" tags.

* Documented $ago options, as well as .start and .end

* Update changes doc

* Stupid typo

* use markdown instead of html for README

* indenting seems to confuse markdown's handling of urls

* Left over $last_day in $spans example (#206)

* Add .config

* Standardise test skin for index.html.tml to remove "%x %X" locale dependent formatting. Note: Used 24 hour time as AM/PM can also be locale dependent.

Also include fixes for line formatting in some other test files and expected results.

* Left over $last_day in $spans example.

* a user-specified sensor_map will update, not replace, the default sensor_map

* Updated the upgrade guide.

* ensure that weewx-multi works on deb and rpm as well as setup.py

* document the sensor mapping changes

* Added comprehensive example to customizing guide.

* Updated TODO

* Got the weighting update to work on MySQL

* added crude caching of pressure in wmr300

* Fixed typo

* Fixed little errors. Consistently use "tag", instead of "dot code."

* no altimeter, just pressure and barometer

* Fixed little HTML problems.

* Reformatted, in anticipation of a refactoring of some sections.

* Fixed location of 'Version'

So it works with automatic replacement of 'Version'

* initial experiment with different fonts

* override jquery-ui hijacking of toc font family

* bring header highlighting to h2 to correlate with toc.  reduce post-header margins.

* fix some table header cruft.  prevent indent sections from overflowing right margin.  let the table cells breath.

* fix broken tty formatting

* Checkpoint

Work in progress.

* Refined examples of creating new units and groups

* Polishing. Or, maybe fiddling?

* minor css fixes.  rearrange troubleshooting sections about pressure.

* minor cleanup to readme

* Fixed test suites

Add MySQL back to template tests.

* Reworked the iteration examples.

* Corrected and clarified the units used in the "electricity" example.

* remove write_timeout since naming is inconsistent between pyserial versions and there is no backward compatibility

* remove write_timeout from ultimeter

* Minor changes to users guide

* increase body size to 100%.  background for code.  weeWX in titles.  true bold for monospace.  prep for direct font comparisons.

* Clarified the role of encoding

* update utilities guide with suggested wee_database descriptions and args

* more compaction

* increase margins on html examples.  use droid serif for html examples.

* Clarified a few things

* decode weewx into weeWX

* include transaction limit defaults

* eliminate transaction-limit

* weeWX fixes in install pages.  more fixes to utilities.

* missed a few code spans

* fix version label alignment

* use only major.minor for docs

* Fix error where import fields that are None can cause Source.mapRawData() to crash in some cases

* Updated TODO and NEW_FEATURES

* There will be no daykeys if the daily summaries have been dropped.

* Restructure usage string, hard code transaction days

* dry-run goes with fix-strings, not check-strings

* Log daily summary version

* No need to check for weewx.debug

* include examples in manifest

* added examples and extensions to data_files

* do not install sample extensions

* Can now specify date field separator for Cumulus imports, weewx -> weeWX

* Clarified option strings

* Rudimentary test of selective daily summary rebuild

* No longer allows selective rebuild of the daily summaries

if the summaries are not complete

* Hardwired UTF-8 encoding, but with a warning comment.

* Hardwired UTF-8 encoding, but with a warning comment.

* Documented Cumulus import separator config option

* Added comments about Tools.

* Changed to execute in user environment

* Ported to PyMySQL as an alternative to python-mysqldb

See https://github.com/PyMySQL/PyMySQL for a description of PyMySQL

* Recognize additional MySQL "Can't connect" error

* Fixed error in test suites

Subsequent tests depended on ordering of a dictionary.

* pymysql seems to have problems connecting via file socket

unless it is told explicitly about it.

* Workaround for pypy compiler

* Defaults now support MySQLdb over pymysql

* Fixed bug in record augmentation.

The augmentation was happening without giving StdConvert a chance to do
its thing.

* More clear msg when encountering an ImportError

* Clarified the relationship between archive period and report_timing option, aded note regarding primacy of the report cycle

* Reverted back to MySQLdb only version.

* Changed config option names but never changed the code!

* One transaction for updating daily high/lows and archive record

Formerly, these were done in two transactions.

* v3.7.0a2

* Adjustable value for how long to wait after a bad uploader login.

Option retry_login. Fixes issue #212.

* Fixed Cumulus import rain field issue

wee_import will try to use field 26(AA) - midnight reset daily rainfall
but if not available due it will revert to field 9(J) or 11(L)

* Switched back to __str__ when extracting string out of template.

.respond() doesn't seem to encode Unicode characters properly

* Fix errors in wee_import WU step-by-step, remove Cumulus version caveat on rain

* Now uses dedicated test users 'weewx1' and 'weewx2'

* Formal check of the various MySQLdb exceptions.

* Added sqlite3 exceptions.

* Reworked check_strings() output (#213)

Reworked check_strings() screen and syslog output:
- now gives progress ala --rebuild-daily
- syslog is silent for --check-strings and --fix-strings with --dry-run
- left 'Preparing' (rather than 'Starting') but added 'this may take a
while' as there is a significant delay in dbmanager.genBatchRows()
initialising at line 619 (well there was for 400k records)

* reduce debug log spewage in wmr300 driver

* Finished formal test of errors

* First cut at V3.7 exception hierarchy

* Ported the weedb sqlite driver to the new exception hierarchy.

* Ported MySQLdb to the new database exception hierarchy.

* windSpeed fix now gracefully handles no windSpeed summary table, tweaked --update output/logging

* Now picks up absence of windSpeed daily summary

* The weedb Connection object can now be used in a "with" clause.

* The weedb Cursor object can now be used in a "with" clause.

* V3.7.0a3

* more code removal

* code formatting only

* use apt instructions for debian installs

* Reworked --wee-database section of Utilities Guide to reflect current wee-database operation

- revised usage
- reword --rebuild-daily
- reword --check
- reword --update

* More details on upgrading

* Moved start time to just before applying the patch

* Accumulator is now initialized with override values from weewx.conf

* Added sentences about wee_import/interval and weight patching multiple dbs

* remove extensions from rpm and deb packages

* v3.7.0b1

* Cleaned up some HTML warnings.

* must do a try loop at the read level so we can skip the no data 'errors' and return empty buffer so that a subsequent write will get the station to talk again

* Slightly more robust mechanism for decoding last time a file was FTP'd.

* adjust wording of weighting description

* added examples

* simplify

* fixed typo

* fixed typo

* read /etc/default before bailing out

* make init script work properly with /etc/default/weewx

* make output consistent

* more simplification

* keep PEP happy

* avoid resource consumption from slow reports by extending the StdReport.max_wait.  provide log messages when it happens.

* new features have move to the roadmap

* no more todo items left

* do not emit default sensor_map to the config

* aborted attempt to get additional battery status

* bump to 3.7.0b2

* do recipe using wget instead of curl

* forgot the O option to wget

* do not warn when calibrations are ignored - the implementation resulted in too many log entries

* get rid of tabs

* added notes about wmr300 rain counter and logger

* added norwegian 'no data available' as 'Ingen data er tilgjengelige'

* simplify.  eliminate more passive voice and gerunds.

* avoid run-on

* provide better feedback for operational errors.  make manager logging more consistent.

* fix typo in wmr300 ConfEditor

* decode heatindex and windchill from wmr300 sensor outputs

* fixed bad extract_signed invocation

* fixed wmr* partial packets note

* added mysqldb install instructions to userguide

* minor html fixes

* added link to wee_extension

* clarify acurite sensor transmission periods.

* added battery status for all wmr100 remote t/h sensors

* added battery status for all wmr100 remote t sensors

* document changes to wmr100, wmr200, wmr9x8 drivers.  fix 'Calculatios' typo.

* fixed inverted wmr200 battery status

* rename fault_out to out_fault to match pattern of other faults

* make battery status labels consistent across all wmr drivers

* wmr300 driver moves from rc to 0.18

* bump to 3.7.0b3

* css fixes: neutralize the glaring yellow; brighten the note green to more closely match the tone of warning red; @media tweaks to match font changes.

* fix column title

* distinguish selection color from code color

* fixed shift bug in weewx-multi

* Fixed (I think) issue #219

* update logwatch script to properly handle revised generator log messages

refer commit
03c3e4ef57 (diff-3cefdd7265f340e9683b0a2d0417b70f)

* normalize the quick-start

* Merge branch 'development', remote branch 'origin'

* fix layout table width on installation pages

* v3.7.0b4

* use released_versions instead of previous_versions

* Merge branch 'development', remote branch 'origin'

* parameterize release rule.  make release rule idempotent.

* replace cheetahtemplate.org with pythonhosted.org

* wee_database --help output was slightly different to reality

* Removed BOM at beginning of customizing.htm

* wee_database --help output was slightly different to reality

* Reworded comment on whether to --update daily summaries.

* cater for change in manager log output

* remove misleading windGustDir info

* bump to 3.7.0

* Added date to change log

* escape the dollars in release target

* fixed log syntax

* adjust log level for wmr100 bad usb report

* emit rapidfire cache info only when debug >= 3

* enable post_interval overrides for WOW uploader

* Fixes issue #230, exception when using Rapidfire with metric units

* Added StdRESTbase back in.

It seems that some uploaders still depend on it.

* Fixed problem that prevented a MySQL port from being specified.

* Added antialias GIF to list of files to be installed.

* Make sure GIF files get uploaded

* distribute examples in a single directory

* distinguish docs/examples vs examples

* Fixed bug that prevented a port from being specified for MySQL installations.

* Removed redundant change log entry

* Add MySQL Error 2003 to exceptions (#234)

* Added PR #234 to change log

* Documented change in location of the examples

* update examples paths in remaining guides.  explicitly list all path changes for examples.

* By default, autocommit is now enabled for the MySQL driver. Fixes issue #237.

Included regression test.
2017-03-20 00:41:34 -07:00

601 lines
11 KiB
CSS

/* Styles for the weewx documentation
*
* Copyright (c) 2009-2016 Tom Keffer <tkeffer@gmail.com>
*
* See the file LICENSE.txt for your rights.
*/
@import url('https://fonts.googleapis.com/css?family=Roboto:700|Noto+Sans|Inconsolata:400,700|Droid+Serif');
body{
font-family: 'Noto Sans', sans-serif;
margin-top: 4px;
}
@media (min-width:320px) {
.sidebar { display: none; }
.main { width:100%; }
.tr { font-size: 80%; }
}
@media (min-width:641px) {
.sidebar { display: block; width:190px; }
.main { margin-left: 210px; width:auto; }
.tr { font-size: 80%; }
}
@media (min-width:961px) {
.sidebar { display: block; width:190px; }
.main { margin-left: 210px; }
}
@media (min-width:1025px) {
.sidebar { display: block; width:220px; }
.main { margin-left: 230px; width:auto; }
}
@media (min-width:1281px) {
.sidebar { display: block; width:250px; }
.main { margin-left: 270px; }
}
@media (max-height:800px) {
.sidebar { max-height: 60%; }
}
div.sidebar {
position: fixed;
top: 4px;
left: 4px;
bottom: 4px;
}
div.main {
overflow-x: hidden;
}
.header {
margin-top: 0px;
padding-left: 4px;
padding-bottom: 24px;
border: 1px solid #999999;
background-color: #aacccc;
webkit-border-radius: 3px;
moz-border-radius: 3px;
border-radius: 3px;
}
.content {
padding-left: 4px;
}
.footer {
margin-top: 50px;
}
.doclist {
padding: 4px;
margin-bottom: 16px;
border: 1px solid #999999;
webkit-border-radius: 3px;
moz-border-radius: 3px;
border-radius: 3px;
}
.title {
font-family: 'Roboto', sans-serif;
font-size: 180%;
font-weight: bold;
margin-top: 0px;
}
#toc_parent {
padding: 4px;
border: 1px solid #aaaaaa;
webkit-border-radius: 3px;
moz-border-radius: 3px;
border-radius: 3px;
overflow-x: hidden;
overflow-y: scroll;
max-height: 75%;
}
#toc_controls {}
/* prevent dancing toc by eliminating the default bold during mouseover */
#toc .ui-state-hover {
background: #ddefef;
}
#toc .ui-state-hover a {
font-weight: normal;
color: black;
}
#toc .ui-state-default {
font-weight: normal;
background: #aacccc;
}
#toc .ui-state-default a {
color: black;
}
.tocify {
position: relative;
margin-left: 0;
width: auto;
border: 0;
webkit-border-radius: 0px;
moz-border-radius: 0px;
border-radius: 0px;
overflow-x: hidden;
overflow-y: hidden;
}
.tocify ul, .tocify li {
line-height: 1.2;
}
.tocify-header ul, .tocify-header li{
padding-left: 10px;
text-indent: -10px;
}
.tocify-subheader {
display: inherit;
}
li {
margin-right: 10%;
margin-top: 10px;
}
dt {
margin-top: 10px;
}
dd {
margin-top: 5px;
}
h1 {
color: black;
font-family: 'Roboto', sans-serif;
font-size: 160%;
font-weight: bold;
border: 1px solid #999999;
background-color: #aacccc;
padding-left: .5em;
padding-right: .5em;
webkit-border-radius: 3px;
moz-border-radius: 3px;
border-radius: 3px;
margin-top: 2em;
margin-bottom: 0;
}
h2 {
color: teal;
font-family: 'Roboto', sans-serif;
font-size: 140%;
font-weight: bold;
border-bottom: 1px solid #999999;
margin-top: 1.5em;
margin-bottom: 0;
}
h3 {
color: teal;
font-family: 'Roboto', sans-serif;
font-size: 120%;
font-weight: bold;
margin-bottom: 0;
}
h4 {
color: teal;
font-family: 'Roboto', sans-serif;
font-size: 100%;
font-weight: bold;
}
table {
border-collapse: collapse;
border: 1px solid #cccccc;
width: 98%;
margin: 1%;
}
table .tty {
margin: 0;
}
tr {
vertical-align: top;
font-size: 100%;
}
td {
border: 1px solid #cccccc;
padding: 2px;
padding-left: 8px;
}
table .first_row {
font-weight: bold;
background-color: #ddefef;
padding-left: 10px;
padding-right: 10px;
}
table.fixed_width td {
width: 10%;
}
caption {
background-color: #aacccc;
margin: 0;
margin-bottom: 8px;
border: 1px solid #888888;
padding: 6px 16px;
font-weight: bold;
}
.code {
font-family: 'Inconsolata', monospace;
padding-left: 4px;
padding-right: 4px;
}
p .code, td .code, li .code {
background-color: #f0f0e8;
border: 1px solid #ddddaa;
border-radius: 3px;
}
.symcode {
font-family: 'Inconsolata', monospace;
font-style: italic;
}
p .symcode {
padding-left: 4px;
padding-right: 4px;
background-color: #f0f0e8;
border: 1px solid #ddddaa;
border-radius: 3px;
}
.indent {
margin-left: 30px;
width: 95%;
}
.station_data {
margin-left: 40px;
margin-right: 80px;
width: 500px;
}
.station_data_key {
font-size: 80%;
font-style: italic;
margin-left: 40px;
margin-right: 80px;
width: 500px;
}
.cmd {
font-weight: bold;
}
.tty {
font-family: 'Inconsolata', monospace;
background-color: #f0f0e8;
border: 1px solid #ddddaa;
padding: 3px 8px 3px 8px;
margin: 5px 15px 5px 15px;
white-space: pre;
line-height: normal;
}
.config_section {}
.config_option, .config_important {
font-family: 'Inconsolata', monospace;
font-weight: bold;
color: black;
margin-top: 1.5em;
margin-bottom: 0px;
}
.config_important {
color: #bb9900;
}
.highlight {
background-color: #ffe0b0;
}
.text_highlight, .first_col {
font-weight: bold;
background-color: #eef0f0;
padding-left: 10px;
padding-right: 10px;
}
.center {
text-align: center;
}
.example_output {
font-family: 'Droid Serif', serif;
padding: 15px 20px 15px 20px;
margin: 5px 15px 5px 15px;
border: 1px solid #cccccc;
box-shadow: 2px 2px 2px #dddddd;
display:inline-block;
}
.image {
padding: 5px;
}
.image-right {
padding-left: 50px;
padding-right: 20px;
float: right;
}
.image_caption {
font-size: 80%;
text-align: center;
padding: 5px;
}
.note {
background-color: #ddf0e0;
border: 1px solid #bbd0c0;
margin: 10px 30px 10px 30px;
padding: 10px;
webkit-border-radius: 6px;
moz-border-radius: 6px;
border-radius: 6px;
}
.warning {
background-color: #ffeeee;
border: 1px solid #ffdddd;
margin: 10px 30px 10px 30px;
padding: 10px;
webkit-border-radius: 6px;
moz-border-radius: 6px;
border-radius: 6px;
}
.copyright {
font-style: italic;
text-align: right;
}
.prompt {
font-weight: bold;
}
.thumbnail {
width: 12px;
}
.locations {
margin-left: 20px;
border: none;
}
.locations tr {
border: none;
vertical-align: middle;
}
.locations_banner {
font-weight: bold;
border: 1px solid #447777;
}
.version {
font-size: 60%;
}
.logo {
width: 32px;
padding-right: 0px;
padding-top: 5px;
padding-bottom: 5px;
}
.logoref {
float: right;
padding-right: 10px;
}
.os-icons {
float: right;
margin-left: 100px;
}
.tabs {
float: left;
margin-left: 20px;
margin-right: 20px;
}
.tabs img {
display:inline;
}
.tab {
font-size: 80%;
font-weight: bold;
margin: 0px;
padding: 4px 16px 4px 16px;
float: left;
cursor: pointer;
webkit-border-top-left-radius: 6px;
moz-border-top-left-radius: 6px;
border-top-left-radius: 6px;
webkit-border-top-right-radius: 6px;
moz-border-top-right-radius: 6px;
border-top-right-radius: 6px;
color: #aaaaaa;
border-top: 1px solid #cccccc;
border-left: 1px solid #cccccc;
border-right: 1px solid #cccccc;
}
.selected {
background-color: #aacccc;
color: black;
border-top: 1px solid #447777;
border-left: 1px solid #447777;
border-right: 1px solid #447777;
}
/*
* The stats styles mimic the styles used in the default standard template
* output so that examples in the docs match those of the standard template.
*/
.stats {
font-family: 'Noto Sans', sans-serif;
padding: 13px 58px 13px 58px;
}
.stats table {
border: thin solid #000000;
width: 100%;
}
.stats td {
border: thin solid #000000;
padding: 2px;
}
.stats_label {
color: green;
}
.stats_data {
color: red;
}
/* Overrides for the jQuery UI widgets */
div .ui-widget-header {
border: 1px solid black;
background: #aacccc;
}
/* no spurious background images please */
.ui-widget-content {
background: white;
}
/* eliminate jquery-ui overrides to trebuchet */
.ui-widget {
font-family: 'Noto Sans', sans-serif;
}
/* settings for printing */
@media print {
/* Impose portrait printing with forced margins */
@page {
size: landscape;
margin-top: 1.8cm;
margin-bottom: 1.8cm;
margin-left: 1cm;
margin-right: 1cm;
}
body {
font-family: sans-serif;
font-size: 10pt;
background: none;
}
div.sidebar {
display: none; /* Delete the left menu */
}
div.main {
margin: 0; /* Do not make any margin for sidebar since there is none */
}
/* underline headers */
.header {
border: none;
border-bottom: 1px solid #999999;
}
.footer {
display: none;
}
.title {
text-align: center;
font-size: 250%;
}
.image {
max-width: 98%; /* To be responsive the size of the image must at most be in width that of the article container */
height: auto; /* Keep the ratio when the image is resized */
}
table {
max-width: 98%; /* To be responsive the size of the image must at most be in width that of the article container */
height: auto; /* Keep the ratio when the image is resized */
}
p, blockquote {
orphans: 3; /* No orphan line down */
widows: 3; /* No orphan line up */
}
/* No cut in these elements */
blockquote, ul, ol, table, .tty {
page-break-inside: avoid;
}
/* Justify text for paragraphs */
p, ul, ol {
text-align: justify;
}
/* No jump after these elements */
h1, h2, h3, h4, caption {
border: none;
border-radius: 0px;
page-break-after: avoid;
}
/* Each title begins on a new page */
h1 {
border: none;
border-radius: 0px;
border-bottom: 1px solid #999999;
page-break-before: always;
}
a {
text-decoration: none;
}
table {
border: none;
}
td {
border: 1px solid #eeeeee;
}
caption {
border: none;
}
.note {
border: 4px solid #aac0b0;
background-color: #cce0d0 !important;
}
.warning {
border: 4px solid #ffdddd;
background-color: #ffeeee !important;
}
p .code, td .code, li .code {
background-color: #f0f0e8;
border: none;
}
}
/*
* The following dialog CSS was stolen from http://bit.ly/1cYAqTr
*/
.modal-dialog {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
background: rgba(0,0,0,0.6);
z-index: 99999;
opacity:0;
-webkit-transition: opacity 400ms ease-in;
-moz-transition: opacity 400ms ease-in;
transition: opacity 400ms ease-in;
pointer-events: none;
}
.modal-dialog:target {
opacity:1;
pointer-events: auto;
}
.modal-dialog > div {
width: 400px;
position: relative;
margin: 10% auto;
padding: 5px 20px 13px 20px;
border-radius: 10px;
background: #fff;
}
.close-dialog {
background: #606061;
color: #FFFFFF;
line-height: 25px;
position: absolute;
right: -12px;
text-align: center;
top: -10px;
width: 24px;
text-decoration: none;
font-weight: bold;
-webkit-border-radius: 12px;
-moz-border-radius: 12px;
border-radius: 12px;
-moz-box-shadow: 1px 1px 3px #000;
-webkit-box-shadow: 1px 1px 3px #000;
box-shadow: 1px 1px 3px #000;
}
.close-dialog:hover { background: #00d9ff; }