From 7759fc9fec69cf289f8eb00256c3b0ea112bc3ac Mon Sep 17 00:00:00 2001 From: Steven Saus Date: Sun, 11 Oct 2020 21:28:14 -0400 Subject: [PATCH] pages --- .gitignore | 176 +++++++++++++++++++++++++++++++++++++ docs/README.md | 117 ++++++++++++++++++++++++ docs/_config.yml | 1 + docs/_layouts/default.html | 74 ++++++++++++++++ docs/assets/css/style.css | 15 ++++ weather-icon.png | Bin 0 -> 25296 bytes 6 files changed, 383 insertions(+) create mode 100644 .gitignore create mode 100644 docs/README.md create mode 100644 docs/_config.yml create mode 100644 docs/_layouts/default.html create mode 100644 docs/assets/css/style.css create mode 100644 weather-icon.png diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..333276e --- /dev/null +++ b/.gitignore @@ -0,0 +1,176 @@ +# reference, old shit +1_reference/ + +# macOS Junks +.DS_Store + +# VSCode Junks +.vscode +.vscode/* + +# Microsoft Office Junks +~$*.* + +# C/C++ Junks +# Prerequisites +*.d + +# Compiled Object files +*.slo +*.lo +*.o +*.obj + +# Precompiled Headers +*.gch +*.pch + +# Compiled Dynamic libraries +*.so +*.dylib +*.dll + +# Fortran module files +*.mod +*.smod + +# Compiled Static libraries +*.lai +*.la +*.a +*.lib + +# Executables +*.exe +*.out +*.app + +# Python Junks +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +pip-wheel-metadata/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST +share/ +bin/ +bin/* +include/ +include/* + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +.hypothesis/ +.pytest_cache/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +.python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don’t work, or not +# install all needed dependencies. +Pipfile.lock + +# celery beat schedule file +celerybeat-schedule + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 0000000..4d8a50a --- /dev/null +++ b/docs/README.md @@ -0,0 +1,117 @@ +# weather.sh and forecast.sh +A bash script to get the weather and forecast from OpenWeatherMap and output +to the terminal, Openbox, or HTML + +![Output example](https://raw.githubusercontent.com/uriel1998/weather.sh/master/example_output.png "Example output") + +## Contents + 1. [About](#1-about) + 2. [License](#2-license) + 3. [Prerequisites](#3-prerequisites) + 4. [How to use](#4-how-to-use) + 5. [TODO](#5-todo) + +*** + +## 1. About + +Weather report written in Bash. + +`weather.sh` gets the current weather from +[OpenWeatherMap](http://openweathermap.org/) and displays the +results to the terminal, HTML, or for an OpenBox pipe menu. It will +calculate (if appropriate) the "feel like" weather by calculating the +wind chill or heat index. A great deal of basis for this script comes +from [BashWeather](https://github.com/jdotjdot/BashWeather), +[bash-weather](https://github.com/szantaii/bash-weather), +and many more that I forgot to save the URLs of. + +`forecast.sh` gets the forecast from [OpenWeatherMap](http://openweathermap.org/) +and likewise displays the results. OpenWeatherMap forecasts are at three hour +intervals (0800, 1100, 1400, etc). It displays all forecasts for the next +twenty four hours, then displays the closest time forecast for the day after +that. For example, if it's 1136 (as I'm writing this) it shows all forecasts +through the 1100 forecast the next day, then the 1100 forecast for each +subsequent day. Options and `.rc` file are *the same* as for `weather.sh`. + +If you wish to show both together, simply execute: + +`weather.sh && forecast.sh` + +## 2. License + +This project is licensed under the MIT license. For the full license, see `LICENSE`. + +## 3. Prerequisites + + * OpenWeatherMap API key ([http://openweathermap.org/appid](http://openweathermap.org/appid)). + * Bash shell ≥ 4.2. + * `bc` basic calculator for floating point arithmetic. Can be found in the + `bc` package on major Linux distributions. + * `curl` command-line tool for getting data using HTTP protocol. cURL can be + found in the `curl` package on major Linux distributions. + * `grep` command-line tool used for parsing downloaded XML data. `grep` can + be found in the `grep` package on major Linux distributions. + * `jq` command-line tool for parsing JSON data. `jq` can be found in the `jq` + package on major Linux distributions. + * `tr` command-line tool for parsing JSON data. `tr` can be found in the `tr` + package on major Linux distributions. + * `awk` command-line tool for parsing JSON data. `awk` can be found in the + `awk` package on major Linux distributions. + +Optional: For colors in terminal, save `bashcolors` in this repository to +`.bashcolors` in your `$HOME` directory. + +## 4. How to use + +Run `weather.sh` or `forecast.sh` with the appropriate commandline switches +(below). If the current conditions do not qualify for the heat index or wind +chill, it is not displayed. + +### weather_sh.rc + +Copy (and edit, as appropriate) the `weather_sh.rc` file to `$HOME\.config\weather_sh.rc`. +* The first line is the OpenWeatherMap API key +* The second line is your default location. (See note below) +* The third line is your default degree character (either `c` or `f`) +* The fourth line is True or False depending on whether or not you want icons displayed for the weather. + +### Command-line options + +`weather.sh` and `forecast.sh` can be started with the following command line +options: + + * `-k` Specifies OpenWeatherMap API key from the command-line. + * `-l city_name` Sets the city for manual weather lookup. (see note below) + * `-t` Output to the terminal/stdout (default if no output is specified) + * `-h` Output HTML formatted text + * `-o` Output OpenBox output + * `-y` Output Conky format (no icons) + * `-f` Use imperial (farenheit, inches Hg, mph) units; default is metric + * `-c` Use colored output in the terminal if `.bashcolors` is in the home + dir. Note that if you want to alter the colors, you will have to manually + alter the script. + +_Note: If the OpenWeatherMap API key is specified from the command-line, it +will override the API key set in the file._ + +_Note: It is **STRONGLY** recommended to use the City ID from OpenWeatherMap +instead of a city name. Instructions on finding your city's City ID +[here](https://www.dmopress.com/openweathermap-howto/) ._ + + +### Calling from Conky + +I have a single line config for my secondary screen with the weather config +in it: + +`Now: ${execi 300 weather.sh -y} Forecast: ${execi 300 forecast.sh -y}` + +The conky output is currently limited via code to just the next five outputs. + +## 5. Todo + + * Add in sunrise/sunset + * HTML colored output + * Current location instead of hardcoded + - this is problematic due to the way the API looks up city names. diff --git a/docs/_config.yml b/docs/_config.yml new file mode 100644 index 0000000..1885487 --- /dev/null +++ b/docs/_config.yml @@ -0,0 +1 @@ +theme: jekyll-theme-midnight \ No newline at end of file diff --git a/docs/_layouts/default.html b/docs/_layouts/default.html new file mode 100644 index 0000000..2c2d9a7 --- /dev/null +++ b/docs/_layouts/default.html @@ -0,0 +1,74 @@ + + + + + + +{% seo %} + + + + + + + + + + +
+
+
+

{{ site.title | default: site.github.repository_name }}

+

{{ site.description | default: site.github.project_tagline }}

+
+ Project maintained by {{ site.github.owner_name }} + Hosted on GitHub Pages — Theme by mattgraham +
+ + {{ content }} + +
+
+

Steven Saus injects people with radioactivity for his day job, but only to serve the forces of good.
Mostly.

+
+ + + + + + + + + + + +
+
+ + {% if site.google_analytics %} + + {% endif %} + + diff --git a/docs/assets/css/style.css b/docs/assets/css/style.css new file mode 100644 index 0000000..f0784ef --- /dev/null +++ b/docs/assets/css/style.css @@ -0,0 +1,15 @@ +--- +--- + +@import "{{ site.theme }}"; + +#header { +margin: 0 auto !important; +} + +#header > nav { + margin: 0 auto; + background: none !important; +} + + diff --git a/weather-icon.png b/weather-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..0e555f2eda0ce0e1a9c204f20937f38584d9f435 GIT binary patch literal 25296 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 n)iFH2uNkD0|9}1v83b