diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2ca939c --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +_site +.sass-cache +.jekyll-metadata +__pycache__ +.DS_Store diff --git a/404.html b/404.html new file mode 100644 index 0000000..6fcc777 --- /dev/null +++ b/404.html @@ -0,0 +1,27 @@ +--- +layout: default +--- + + + +
+

404

+ +

Element not found :(

+

The requested element could not be found. + + Create a page for this element in the elements directory! +

+
diff --git a/Gemfile b/Gemfile new file mode 100644 index 0000000..8489764 --- /dev/null +++ b/Gemfile @@ -0,0 +1,29 @@ +source "https://rubygems.org" + +# Hello! This is where you manage which Jekyll version is used to run. +# When you want to use a different version, change it below, save the +# file and run `bundle install`. Run Jekyll with `bundle exec`, like so: +# +# bundle exec jekyll serve +# +# This will help ensure the proper Jekyll version is running. +# Happy Jekylling! +# gem "jekyll", "~> 3.8.5" + +# This is the default theme for new Jekyll sites. You may change this to anything you like. +gem "minima", "~> 2.5" + +# If you want to use GitHub Pages, remove the "gem "jekyll"" above and +# uncomment the line below. To upgrade, run `bundle update github-pages`. +gem "github-pages", group: :jekyll_plugins + +# If you have any plugins, put them here! +group :jekyll_plugins do + gem "jekyll-feed", "~> 0.6" +end + +# Windows does not include zoneinfo files, so bundle the tzinfo-data gem +gem "tzinfo-data", platforms: [:mingw, :mswin, :x64_mingw, :jruby] + +# Performance-booster for watching directories on Windows +gem "wdm", "~> 0.1.0" if Gem.win_platform? diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 0000000..27cb15f --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,251 @@ +GEM + remote: https://rubygems.org/ + specs: + activesupport (4.2.11.1) + i18n (~> 0.7) + minitest (~> 5.1) + thread_safe (~> 0.3, >= 0.3.4) + tzinfo (~> 1.1) + addressable (2.6.0) + public_suffix (>= 2.0.2, < 4.0) + coffee-script (2.4.1) + coffee-script-source + execjs + coffee-script-source (1.11.1) + colorator (1.1.0) + commonmarker (0.17.13) + ruby-enum (~> 0.5) + concurrent-ruby (1.1.5) + dnsruby (1.61.2) + addressable (~> 2.5) + em-websocket (0.5.1) + eventmachine (>= 0.12.9) + http_parser.rb (~> 0.6.0) + ethon (0.12.0) + ffi (>= 1.3.0) + eventmachine (1.2.7) + execjs (2.7.0) + faraday (0.15.4) + multipart-post (>= 1.2, < 3) + ffi (1.11.0) + forwardable-extended (2.6.0) + gemoji (3.0.1) + github-pages (198) + activesupport (= 4.2.11.1) + github-pages-health-check (= 1.16.1) + jekyll (= 3.8.5) + jekyll-avatar (= 0.6.0) + jekyll-coffeescript (= 1.1.1) + jekyll-commonmark-ghpages (= 0.1.5) + jekyll-default-layout (= 0.1.4) + jekyll-feed (= 0.11.0) + jekyll-gist (= 1.5.0) + jekyll-github-metadata (= 2.12.1) + jekyll-mentions (= 1.4.1) + jekyll-optional-front-matter (= 0.3.0) + jekyll-paginate (= 1.1.0) + jekyll-readme-index (= 0.2.0) + jekyll-redirect-from (= 0.14.0) + jekyll-relative-links (= 0.6.0) + jekyll-remote-theme (= 0.3.1) + jekyll-sass-converter (= 1.5.2) + jekyll-seo-tag (= 2.5.0) + jekyll-sitemap (= 1.2.0) + jekyll-swiss (= 0.4.0) + jekyll-theme-architect (= 0.1.1) + jekyll-theme-cayman (= 0.1.1) + jekyll-theme-dinky (= 0.1.1) + jekyll-theme-hacker (= 0.1.1) + jekyll-theme-leap-day (= 0.1.1) + jekyll-theme-merlot (= 0.1.1) + jekyll-theme-midnight (= 0.1.1) + jekyll-theme-minimal (= 0.1.1) + jekyll-theme-modernist (= 0.1.1) + jekyll-theme-primer (= 0.5.3) + jekyll-theme-slate (= 0.1.1) + jekyll-theme-tactile (= 0.1.1) + jekyll-theme-time-machine (= 0.1.1) + jekyll-titles-from-headings (= 0.5.1) + jemoji (= 0.10.2) + kramdown (= 1.17.0) + liquid (= 4.0.0) + listen (= 3.1.5) + mercenary (~> 0.3) + minima (= 2.5.0) + nokogiri (>= 1.8.5, < 2.0) + rouge (= 2.2.1) + terminal-table (~> 1.4) + github-pages-health-check (1.16.1) + addressable (~> 2.3) + dnsruby (~> 1.60) + octokit (~> 4.0) + public_suffix (~> 3.0) + typhoeus (~> 1.3) + html-pipeline (2.11.0) + activesupport (>= 2) + nokogiri (>= 1.4) + http_parser.rb (0.6.0) + i18n (0.9.5) + concurrent-ruby (~> 1.0) + jekyll (3.8.5) + addressable (~> 2.4) + colorator (~> 1.0) + em-websocket (~> 0.5) + i18n (~> 0.7) + jekyll-sass-converter (~> 1.0) + jekyll-watch (~> 2.0) + kramdown (~> 1.14) + liquid (~> 4.0) + mercenary (~> 0.3.3) + pathutil (~> 0.9) + rouge (>= 1.7, < 4) + safe_yaml (~> 1.0) + jekyll-avatar (0.6.0) + jekyll (~> 3.0) + jekyll-coffeescript (1.1.1) + coffee-script (~> 2.2) + coffee-script-source (~> 1.11.1) + jekyll-commonmark (1.3.1) + commonmarker (~> 0.14) + jekyll (>= 3.7, < 5.0) + jekyll-commonmark-ghpages (0.1.5) + commonmarker (~> 0.17.6) + jekyll-commonmark (~> 1) + rouge (~> 2) + jekyll-default-layout (0.1.4) + jekyll (~> 3.0) + jekyll-feed (0.11.0) + jekyll (~> 3.3) + jekyll-gist (1.5.0) + octokit (~> 4.2) + jekyll-github-metadata (2.12.1) + jekyll (~> 3.4) + octokit (~> 4.0, != 4.4.0) + jekyll-mentions (1.4.1) + html-pipeline (~> 2.3) + jekyll (~> 3.0) + jekyll-optional-front-matter (0.3.0) + jekyll (~> 3.0) + jekyll-paginate (1.1.0) + jekyll-readme-index (0.2.0) + jekyll (~> 3.0) + jekyll-redirect-from (0.14.0) + jekyll (~> 3.3) + jekyll-relative-links (0.6.0) + jekyll (~> 3.3) + jekyll-remote-theme (0.3.1) + jekyll (~> 3.5) + rubyzip (>= 1.2.1, < 3.0) + jekyll-sass-converter (1.5.2) + sass (~> 3.4) + jekyll-seo-tag (2.5.0) + jekyll (~> 3.3) + jekyll-sitemap (1.2.0) + jekyll (~> 3.3) + jekyll-swiss (0.4.0) + jekyll-theme-architect (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-cayman (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-dinky (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-hacker (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-leap-day (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-merlot (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-midnight (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-minimal (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-modernist (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-primer (0.5.3) + jekyll (~> 3.5) + jekyll-github-metadata (~> 2.9) + jekyll-seo-tag (~> 2.0) + jekyll-theme-slate (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-tactile (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-time-machine (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-titles-from-headings (0.5.1) + jekyll (~> 3.3) + jekyll-watch (2.2.1) + listen (~> 3.0) + jemoji (0.10.2) + gemoji (~> 3.0) + html-pipeline (~> 2.2) + jekyll (~> 3.0) + kramdown (1.17.0) + liquid (4.0.0) + listen (3.1.5) + rb-fsevent (~> 0.9, >= 0.9.4) + rb-inotify (~> 0.9, >= 0.9.7) + ruby_dep (~> 1.2) + mercenary (0.3.6) + mini_portile2 (2.4.0) + minima (2.5.0) + jekyll (~> 3.5) + jekyll-feed (~> 0.9) + jekyll-seo-tag (~> 2.1) + minitest (5.11.3) + multipart-post (2.1.1) + nokogiri (1.10.3) + mini_portile2 (~> 2.4.0) + octokit (4.14.0) + sawyer (~> 0.8.0, >= 0.5.3) + pathutil (0.16.2) + forwardable-extended (~> 2.6) + public_suffix (3.0.3) + rb-fsevent (0.10.3) + rb-inotify (0.10.0) + ffi (~> 1.0) + rouge (2.2.1) + ruby-enum (0.7.2) + i18n + ruby_dep (1.5.0) + rubyzip (1.2.2) + safe_yaml (1.0.5) + sass (3.7.4) + sass-listen (~> 4.0.0) + sass-listen (4.0.0) + rb-fsevent (~> 0.9, >= 0.9.4) + rb-inotify (~> 0.9, >= 0.9.7) + sawyer (0.8.2) + addressable (>= 2.3.5) + faraday (> 0.8, < 2.0) + terminal-table (1.8.0) + unicode-display_width (~> 1.1, >= 1.1.1) + thread_safe (0.3.6) + typhoeus (1.3.1) + ethon (>= 0.9.0) + tzinfo (1.2.5) + thread_safe (~> 0.1) + unicode-display_width (1.6.0) + +PLATFORMS + ruby + +DEPENDENCIES + github-pages + jekyll-feed (~> 0.6) + minima (~> 2.5) + tzinfo-data + +BUNDLED WITH + 2.0.1 diff --git a/Links.md b/Links.md new file mode 100644 index 0000000..7c811a7 --- /dev/null +++ b/Links.md @@ -0,0 +1,68 @@ +--- +title: Links +layout: default +--- + +## Useful Software Links + +This is a general to collect a large variety of useful websites, tutorials, and +libraries. If you have any more to add, feel free to make a pull request. + +### Bash: +- [Bash Tutorial](http://swcarpentry.github.io/shell-novice/) +- [Vim Settings](data/vimrc_example) - Recommended `~/.vimrc` settings to use. + +### Python +- [Software Carpentry Tutorial](http://swcarpentry.github.io/python-novice-inflammation/) +- [Codecademy Tutorial](https://www.codecademy.com/learn/python) +- [Scientific computing in Python](https://github.com/jrjohansson/scientific-python-lectures). First three notebooks: + - 1- Scientific computing in Python + - 2- Introduction to Python + - 3- Numpy +- [Array broadcasting example](https://stanford.edu/~schmit/cme193/lec/lec5.pdf) - Slide 16 + +### Git +Cheat sheets: + - [Git cheat sheet](https://services.github.com/on-demand/downloads/github-git-cheat-sheet.pdf) + +Visual tools: + - [Smart Git](http://www.syntevo.com/smartgit/) + - [Git Kraken](https://www.gitkraken.com) + +Caching your GitHub password: +- [GitHub Help](https://help.github.com/articles/caching-your-github-password-in-git/) + +### C++ +Tutorials and references: + - [IsoCpp](https://isocpp.org/get-started) + - [LearnCpp](http://www.learncpp.com) + - [Cplusplus.com](http://www.cplusplus.com/doc/tutorial) + - [CPP Reference](http://en.cppreference.com) - (complete language and STL reference) + +### Debuggers: + - [LLDB Cheat Sheet](https://lldb.llvm.org/lldb-gdb.html) + +### Intrinsics and assembly: + - [Intel Intrinsics](https://software.intel.com/sites/landingpage/IntrinsicsGuide/) + - [Reference Manual](https://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-instruction-set-reference-manual-325383.pdf) + +### BLAS/LAPACK +References: + - [Quick Guide](http://www.netlib.org/lapack/lug/node145.html) + - [Full Guide](http://www.netlib.org/lapack/lug) + +Implementations: + - [Intel MKL](https://software.intel.com/en-us/mkl) - Now free! + - [OpenBLAS](http://www.openblas.net/) + - [BLIS](https://github.com/flame/blis) + - [libFLAME](https://github.com/flame/libflame) + +Wrapper libraries: + - [Armadillo](http://arma.sourceforge.net/) + - [Eigen](http://eigen.tuxfamily.org/index.php?title=Main_Page) + - [Boost::uBLAS](http://www.boost.org/doc/libs/1_63_0/libs/numeric/ublas/doc/index.html) + - [Lapack++](http://lapackpp.sourceforge.net/) + - [LAWrap](https://github.com/devinamatthews/lawrap) + +## QM Theory Links + - [C++ Programming Tutorial in Chemistry](http://sirius.chem.vt.edu/wiki/doku.php?id=crawdad:programming) diff --git a/README.md b/README.md new file mode 100644 index 0000000..4343767 --- /dev/null +++ b/README.md @@ -0,0 +1,5 @@ +# 2019 MolSSI Software Summer School + +This repo contains files for a logistics website for the 2019 MolSSI Software Summer School. + +This website uses the `minima` theme. diff --git a/Registration.md b/Registration.md new file mode 100644 index 0000000..720b904 --- /dev/null +++ b/Registration.md @@ -0,0 +1,9 @@ +--- +title: Registration +layout: default +--- + +# Registration +All selected participants will receive an email with a registration link. The registration fee is $100 for each participant. + +If you need the registration link, or have any questions, please email [education@molssi.org](mailto:education@molssi.org). diff --git a/Setup.md b/Setup.md new file mode 100644 index 0000000..7d76347 --- /dev/null +++ b/Setup.md @@ -0,0 +1,7 @@ +--- +title: Setup +layout: default +--- + +## Setup +This page will be updated with set-up instructions for the Summer School. Please check back later. diff --git a/_config.yml b/_config.yml new file mode 100644 index 0000000..ed6dd02 --- /dev/null +++ b/_config.yml @@ -0,0 +1,47 @@ +# Welcome to Jekyll! +# +# This config file is meant for settings that affect your whole blog, values +# which you are expected to set up once and rarely edit after that. If you find +# yourself editing this file very often, consider using Jekyll's data files +# feature for the data you need to update frequently. +# +# For technical reasons, this file is *NOT* reloaded automatically when you use +# 'bundle exec jekyll serve'. If you change this file, please restart the server process. + +# Site settings +# These are used to personalize your new site. If you look in the HTML files, +# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on. +# You can create any custom variable you would like, and they will be accessible +# in the templates via {{ site.myvariable }}. +title: MolSSI Periodic Table +email: education@molssi.org +description: >- # this means to ignore newlines until "baseurl:" + A periodic table to be used for GitHub workflows. +repository: janash/periodic-table +baseurl: "/periodic-table" # the subpath of your site, e.g. /blog +url: "janash.github.io" # the base hostname & protocol for your site, e.g. http://example.com +twitter_username: MolSSI_NSF +github_username: janash + +# Build settings +markdown: kramdown +theme: minima +plugins: + - jekyll-feed + +# Navigation +header_pages: + - index.md + - element_index.md + +# Exclude from processing. +# The following items will not be processed, by default. Create a custom list +# to override the default setting. +# exclude: +# - Gemfile +# - Gemfile.lock +# - node_modules +# - vendor/bundle/ +# - vendor/cache/ +# - vendor/gems/ +# - vendor/ruby/ diff --git a/_includes/disqus_comments.html b/_includes/disqus_comments.html new file mode 100644 index 0000000..d9400f2 --- /dev/null +++ b/_includes/disqus_comments.html @@ -0,0 +1,20 @@ +{%- if page.comments != false and jekyll.environment == "production" -%} + +
+ + +{%- endif -%} diff --git a/_includes/footer.html b/_includes/footer.html new file mode 100644 index 0000000..c8e1f1a --- /dev/null +++ b/_includes/footer.html @@ -0,0 +1,34 @@ + diff --git a/_includes/google-analytics.html b/_includes/google-analytics.html new file mode 100644 index 0000000..aeba1a1 --- /dev/null +++ b/_includes/google-analytics.html @@ -0,0 +1,9 @@ + + diff --git a/_includes/head.html b/_includes/head.html new file mode 100644 index 0000000..0681177 --- /dev/null +++ b/_includes/head.html @@ -0,0 +1,11 @@ + + + + + {%- seo -%} + + {%- feed_meta -%} + {%- if jekyll.environment == 'production' and site.google_analytics -%} + {%- include google-analytics.html -%} + {%- endif -%} + diff --git a/_includes/header.html b/_includes/header.html new file mode 100644 index 0000000..ed5a382 --- /dev/null +++ b/_includes/header.html @@ -0,0 +1,31 @@ + diff --git a/_includes/social.html b/_includes/social.html new file mode 100644 index 0000000..d89bca0 --- /dev/null +++ b/_includes/social.html @@ -0,0 +1,18 @@ +{%- assign social = site.minima.social_links -%} + + diff --git a/_layouts/default.html b/_layouts/default.html new file mode 100644 index 0000000..58e141b --- /dev/null +++ b/_layouts/default.html @@ -0,0 +1,20 @@ + + + + {%- include head.html -%} + + + + {%- include header.html -%} + +
+
+ {{ content }} +
+
+ + {%- include footer.html -%} + + + + diff --git a/_layouts/home.html b/_layouts/home.html new file mode 100644 index 0000000..e25e851 --- /dev/null +++ b/_layouts/home.html @@ -0,0 +1,36 @@ +--- +layout: default +--- + + + {%- if page.title -%} +

{{ page.title }}

+ {%- endif -%} + + + + + + + + + +
+
+
+
Click an element.
+
+
+
+
+ Based on the Periodic Table by + Andrew Blakey +
+ + + +
+ {{ content }} +
+ + diff --git a/_layouts/page.html b/_layouts/page.html new file mode 100644 index 0000000..01e4b2a --- /dev/null +++ b/_layouts/page.html @@ -0,0 +1,14 @@ +--- +layout: default +--- +
+ +
+

{{ page.title | escape }}

+
+ +
+ {{ content }} +
+ +
diff --git a/_layouts/post.html b/_layouts/post.html new file mode 100644 index 0000000..fa151b3 --- /dev/null +++ b/_layouts/post.html @@ -0,0 +1,27 @@ +--- +layout: default +--- +
+ +
+

{{ page.title | escape }}

+ +
+ +
+ {{ content }} +
+ + {%- if site.disqus.shortname -%} + {%- include disqus_comments.html -%} + {%- endif -%} + + +
diff --git a/_sass/minima.scss b/_sass/minima.scss new file mode 100644 index 0000000..8fd6902 --- /dev/null +++ b/_sass/minima.scss @@ -0,0 +1,56 @@ +@charset "utf-8"; + +// Define defaults for each variable. + +$base-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !default; +$base-font-size: 16px !default; +$base-font-weight: 400 !default; +$small-font-size: $base-font-size * 0.875 !default; +$base-line-height: 1.5 !default; + +$spacing-unit: 30px !default; + +$text-color: #111 !default; +$background-color: #fdfdfd !default; +$brand-color: #2a7ae2 !default; + +$grey-color: #828282 !default; +$grey-color-light: lighten($grey-color, 40%) !default; +$grey-color-dark: darken($grey-color, 25%) !default; +$orange-color: #f66a0a !default; +$table-text-align: left !default; + +// Width of the content area +$content-width: 800px !default; + +$on-palm: 600px !default; +$on-laptop: 800px !default; + +$on-medium: $on-palm !default; +$on-large: $on-laptop !default; + +// Use media queries like this: +// @include media-query($on-palm) { +// .wrapper { +// padding-right: $spacing-unit / 2; +// padding-left: $spacing-unit / 2; +// } +// } +// Notice the following mixin uses max-width, in a deprecated, desktop-first +// approach, whereas media queries used elsewhere now use min-width. +@mixin media-query($device) { + @media screen and (max-width: $device) { + @content; + } +} + +@mixin relative-font-size($ratio) { + font-size: $base-font-size * $ratio; +} + +// Import partials. +@import + "minima/base", + "minima/layout", + "minima/syntax-highlighting" +; diff --git a/_sass/minima/_base.scss b/_sass/minima/_base.scss new file mode 100644 index 0000000..a913819 --- /dev/null +++ b/_sass/minima/_base.scss @@ -0,0 +1,340 @@ +/** + * Reset some basic elements + */ +body, h1, h2, h3, h4, h5, h6, +p, blockquote, pre, hr, +dl, dd, ol, ul, figure { + margin: 0; + padding: 0; + +} + + + +/** + * Basic styling + */ +body { + font: $base-font-weight #{$base-font-size}/#{$base-line-height} $base-font-family; + color: $text-color; + background-color: $background-color; + -webkit-text-size-adjust: 100%; + -webkit-font-feature-settings: "kern" 1; + -moz-font-feature-settings: "kern" 1; + -o-font-feature-settings: "kern" 1; + font-feature-settings: "kern" 1; + font-kerning: normal; + display: flex; + min-height: 100vh; + flex-direction: column; +} + + + +/** + * Set `margin-bottom` to maintain vertical rhythm + */ +h1, h2, h3, h4, h5, h6, +p, blockquote, pre, +ul, ol, dl, figure, +%vertical-rhythm { + margin-bottom: $spacing-unit / 2; +} + + + +/** + * `main` element + */ +main { + display: block; /* Default value of `display` of `main` element is 'inline' in IE 11. */ +} + + + +/** + * Images + */ +img { + max-width: 100%; + vertical-align: middle; +} + + + +/** + * Figures + */ +figure > img { + display: block; +} + +figcaption { + font-size: $small-font-size; +} + + + +/** + * Lists + */ +ul, ol { + margin-left: $spacing-unit; +} + +li { + > ul, + > ol { + margin-bottom: 0; + } +} + + + +/** + * Headings + */ +h1, h2, h3, h4, h5, h6 { + font-weight: $base-font-weight; +} + + + +/** + * Links + */ +a { + color: $brand-color; + text-decoration: none; + + &:visited { + color: darken($brand-color, 15%); + } + + &:hover { + color: $text-color; + text-decoration: underline; + } + + .social-media-list &:hover { + text-decoration: none; + + .username { + text-decoration: underline; + } + } +} + + +/** + * Blockquotes + */ +blockquote { + color: $grey-color; + border-left: 4px solid $grey-color-light; + padding-left: $spacing-unit / 2; + @include relative-font-size(1.125); + letter-spacing: -1px; + font-style: italic; + + > :last-child { + margin-bottom: 0; + } +} + + + +/** + * Code formatting + */ +pre, +code { + @include relative-font-size(0.9375); + border: 1px solid $grey-color-light; + border-radius: 3px; + background-color: #eef; +} + +code { + padding: 1px 5px; +} + +pre { + padding: 8px 12px; + overflow-x: auto; + + > code { + border: 0; + padding-right: 0; + padding-left: 0; + } +} + + + +/** + * Wrapper + */ +.wrapper { + max-width: -webkit-calc(#{$content-width} - (#{$spacing-unit})); + max-width: calc(#{$content-width} - (#{$spacing-unit})); + margin-right: auto; + margin-left: auto; + padding-right: $spacing-unit / 2; + padding-left: $spacing-unit / 2; + @extend %clearfix; + + @media screen and (min-width: $on-large) { + max-width: -webkit-calc(#{$content-width} - (#{$spacing-unit} * 2)); + max-width: calc(#{$content-width} - (#{$spacing-unit} * 2)); + padding-right: $spacing-unit; + padding-left: $spacing-unit; + } +} + + + +/** + * Clearfix + */ +%clearfix:after { + content: ""; + display: table; + clear: both; +} + + + +/** + * Icons + */ + +.orange { + color: $orange-color; +} + +.grey { + color: $grey-color; +} + +.svg-icon { + width: 16px; + height: 16px; + display: inline-block; + fill: currentColor; + padding: 5px 3px 2px 5px; + vertical-align: text-bottom; +} + + +/** + * Tables + */ +table { + margin-bottom: $spacing-unit; + width: 100%; + text-align: $table-text-align; + color: lighten($text-color, 18%); + border-collapse: collapse; + border: 1px solid $grey-color-light; + tr { + &:nth-child(even) { + background-color: lighten($grey-color-light, 6%); + } + } + th, td { + padding: ($spacing-unit / 3) ($spacing-unit / 2); + } + th { + background-color: lighten($grey-color-light, 3%); + border: 1px solid darken($grey-color-light, 4%); + border-bottom-color: darken($grey-color-light, 12%); + } + td { + border: 1px solid $grey-color-light; + } +} + +container { + display: flex; + flex-direction: column; + margin: 0 auto; +} + +#center { + display: flex; + flex-direction: row; + margin-top: 20px; + align-self: center; +} + +#periodic-table { + display: grid; + grid-template-columns: repeat(18, 40px); + grid-template-rows: repeat(10, 40px); +} + +#element-card { + margin-top:2px; + margin-left: 4px; + margin-bottom: 2px; + width: 300px; + height: 400px; + border: 1px solid black; + display: flex; + flex-direction: column; +} + +#cardNumber { + font-size: 24pt; + margin-bottom: 60px; +} + +#cardSymbol { + text-align: center; + vertical-align: bottom; + font-size: 60pt; +} + +#cardLink { + font-size: 14pt; + text-align: center; +} + +#cardStars { + font-size: 18pt; + text-align: center; +} + +#cardBlurb { + margin: 2px; + margin-top: 20px; + font-size: 10pt; +} + +.middle { + text-align: center; +} + +#title { + font-size: 40px; + text-align: center; +} + + +.table-element { + margin: 1px; + border: 1px solid black; + font-size: 16pt; + text-align: center; + vertical-align: middle; + line-height: 40px; + user-select: none; + cursor: pointer; +} + +#madeby > * { + margin-top: 20px; + text-align: center; + font-size: 8pt; +} diff --git a/_sass/minima/_layout.scss b/_sass/minima/_layout.scss new file mode 100644 index 0000000..10a19fc --- /dev/null +++ b/_sass/minima/_layout.scss @@ -0,0 +1,298 @@ +/** + * Site header + */ +.site-header { + border-top: 5px solid $grey-color-dark; + border-bottom: 1px solid $grey-color-light; + min-height: $spacing-unit * 1.865; + line-height: $base-line-height * $base-font-size * 2.25; + + // Positioning context for the mobile navigation icon + position: relative; +} + +.site-title { + @include relative-font-size(1.625); + font-weight: 300; + letter-spacing: -1px; + margin-bottom: 0; + float: left; + + @include media-query($on-palm) { + padding-right: 45px; + } + + &, + &:visited { + color: $grey-color-dark; + } +} + +.site-nav { + position: absolute; + top: 9px; + right: $spacing-unit / 2; + background-color: $background-color; + border: 1px solid $grey-color-light; + border-radius: 5px; + text-align: right; + + .nav-trigger { + display: none; + } + + .menu-icon { + float: right; + width: 36px; + height: 26px; + line-height: 0; + padding-top: 10px; + text-align: center; + + > svg path { + fill: $grey-color-dark; + } + } + + label[for="nav-trigger"] { + display: block; + float: right; + width: 36px; + height: 36px; + z-index: 2; + cursor: pointer; + } + + input ~ .trigger { + clear: both; + display: none; + } + + input:checked ~ .trigger { + display: block; + padding-bottom: 5px; + } + + .page-link { + color: $text-color; + line-height: $base-line-height; + display: block; + padding: 5px 10px; + + // Gaps between nav items, but not on the last one + &:not(:last-child) { + margin-right: 0; + } + margin-left: 20px; + } + + @media screen and (min-width: $on-medium) { + position: static; + float: right; + border: none; + background-color: inherit; + + label[for="nav-trigger"] { + display: none; + } + + .menu-icon { + display: none; + } + + input ~ .trigger { + display: block; + } + + .page-link { + display: inline; + padding: 0; + + &:not(:last-child) { + margin-right: 20px; + } + margin-left: auto; + } + } +} + + + +/** + * Site footer + */ +.site-footer { + border-top: 1px solid $grey-color-light; + padding: $spacing-unit 0; +} + +.footer-heading { + @include relative-font-size(1.125); + margin-bottom: $spacing-unit / 2; +} + +.contact-list, +.social-media-list { + list-style: none; + margin-left: 0; +} + +.footer-col-wrapper { + @include relative-font-size(0.9375); + color: $grey-color; + margin-left: -$spacing-unit / 2; + @extend %clearfix; +} + +.footer-col { + width: -webkit-calc(100% - (#{$spacing-unit} / 2)); + width: calc(100% - (#{$spacing-unit} / 2)); + margin-bottom: $spacing-unit / 2; + padding-left: $spacing-unit / 2; +} + +.footer-col-1, +.footer-col-2 { + width: -webkit-calc(50% - (#{$spacing-unit} / 2)); + width: calc(50% - (#{$spacing-unit} / 2)); +} + +.footer-col-3 { + width: -webkit-calc(100% - (#{$spacing-unit} / 2)); + width: calc(100% - (#{$spacing-unit} / 2)); +} + +@media screen and (min-width: $on-large) { + .footer-col-1 { + width: -webkit-calc(35% - (#{$spacing-unit} / 2)); + width: calc(35% - (#{$spacing-unit} / 2)); + } + + .footer-col-2 { + width: -webkit-calc(20% - (#{$spacing-unit} / 2)); + width: calc(20% - (#{$spacing-unit} / 2)); + } + + .footer-col-3 { + width: -webkit-calc(45% - (#{$spacing-unit} / 2)); + width: calc(45% - (#{$spacing-unit} / 2)); + } +} + +@media screen and (min-width: $on-medium) { + .footer-col { + float: left; + } +} + + + +/** + * Page content + */ +.page-content { + padding: $spacing-unit 0; + flex: 1 0 auto; +} + +.page-heading { + @include relative-font-size(2); +} + +.post-list-heading { + @include relative-font-size(1.75); +} + +.post-list { + margin-left: 0; + list-style: none; + + > li { + margin-bottom: $spacing-unit; + } +} + +.post-meta { + font-size: $small-font-size; + color: $grey-color; +} + +.post-link { + display: block; + @include relative-font-size(1.5); +} + + + +/** + * Posts + */ +.post-header { + margin-bottom: $spacing-unit; +} + +.post-title, +.post-content h1 { + @include relative-font-size(2.625); + letter-spacing: -1px; + line-height: 1; + + @media screen and (min-width: $on-large) { + @include relative-font-size(2.625); + } +} + +.post-content { + margin-bottom: $spacing-unit; + + h2 { + @include relative-font-size(1.75); + + @media screen and (min-width: $on-large) { + @include relative-font-size(2); + } + } + + h3 { + @include relative-font-size(1.375); + + @media screen and (min-width: $on-large) { + @include relative-font-size(1.625); + } + } + + h4 { + @include relative-font-size(1.125); + + @media screen and (min-width: $on-large) { + @include relative-font-size(1.25); + } + } +} + + +.social-media-list { + display: table; + margin: 0 auto; + li { + float: left; + margin: 0 5px; + &:first-of-type { margin-left: 0 } + &:last-of-type { margin-right: 0 } + a { + display: block; + padding: $spacing-unit / 4; + border: 1px solid $grey-color-light + } + &:hover .svg-icon { fill: currentColor; } + } +} + + +/** + * Grid helpers + */ +.one-half { + width: -webkit-calc(50% - (#{$spacing-unit} / 2)); + width: calc(50% - (#{$spacing-unit} / 2)); +} diff --git a/_sass/minima/_syntax-highlighting.scss b/_sass/minima/_syntax-highlighting.scss new file mode 100644 index 0000000..bccdb89 --- /dev/null +++ b/_sass/minima/_syntax-highlighting.scss @@ -0,0 +1,71 @@ +/** + * Syntax highlighting styles + */ +.highlight { + background: #fff; + @extend %vertical-rhythm; + + .highlighter-rouge & { + background: #eef; + } + + .c { color: #998; font-style: italic } // Comment + .err { color: #a61717; background-color: #e3d2d2 } // Error + .k { font-weight: bold } // Keyword + .o { font-weight: bold } // Operator + .cm { color: #998; font-style: italic } // Comment.Multiline + .cp { color: #999; font-weight: bold } // Comment.Preproc + .c1 { color: #998; font-style: italic } // Comment.Single + .cs { color: #999; font-weight: bold; font-style: italic } // Comment.Special + .gd { color: #000; background-color: #fdd } // Generic.Deleted + .gd .x { color: #000; background-color: #faa } // Generic.Deleted.Specific + .ge { font-style: italic } // Generic.Emph + .gr { color: #a00 } // Generic.Error + .gh { color: #999 } // Generic.Heading + .gi { color: #000; background-color: #dfd } // Generic.Inserted + .gi .x { color: #000; background-color: #afa } // Generic.Inserted.Specific + .go { color: #888 } // Generic.Output + .gp { color: #555 } // Generic.Prompt + .gs { font-weight: bold } // Generic.Strong + .gu { color: #aaa } // Generic.Subheading + .gt { color: #a00 } // Generic.Traceback + .kc { font-weight: bold } // Keyword.Constant + .kd { font-weight: bold } // Keyword.Declaration + .kp { font-weight: bold } // Keyword.Pseudo + .kr { font-weight: bold } // Keyword.Reserved + .kt { color: #458; font-weight: bold } // Keyword.Type + .m { color: #099 } // Literal.Number + .s { color: #d14 } // Literal.String + .na { color: #008080 } // Name.Attribute + .nb { color: #0086B3 } // Name.Builtin + .nc { color: #458; font-weight: bold } // Name.Class + .no { color: #008080 } // Name.Constant + .ni { color: #800080 } // Name.Entity + .ne { color: #900; font-weight: bold } // Name.Exception + .nf { color: #900; font-weight: bold } // Name.Function + .nn { color: #555 } // Name.Namespace + .nt { color: #000080 } // Name.Tag + .nv { color: #008080 } // Name.Variable + .ow { font-weight: bold } // Operator.Word + .w { color: #bbb } // Text.Whitespace + .mf { color: #099 } // Literal.Number.Float + .mh { color: #099 } // Literal.Number.Hex + .mi { color: #099 } // Literal.Number.Integer + .mo { color: #099 } // Literal.Number.Oct + .sb { color: #d14 } // Literal.String.Backtick + .sc { color: #d14 } // Literal.String.Char + .sd { color: #d14 } // Literal.String.Doc + .s2 { color: #d14 } // Literal.String.Double + .se { color: #d14 } // Literal.String.Escape + .sh { color: #d14 } // Literal.String.Heredoc + .si { color: #d14 } // Literal.String.Interpol + .sx { color: #d14 } // Literal.String.Other + .sr { color: #009926 } // Literal.String.Regex + .s1 { color: #d14 } // Literal.String.Single + .ss { color: #990073 } // Literal.String.Symbol + .bp { color: #999 } // Name.Builtin.Pseudo + .vc { color: #008080 } // Name.Variable.Class + .vg { color: #008080 } // Name.Variable.Global + .vi { color: #008080 } // Name.Variable.Instance + .il { color: #099 } // Literal.Number.Integer.Long +} diff --git a/assets/css/style.scss b/assets/css/style.scss new file mode 100644 index 0000000..4085e60 --- /dev/null +++ b/assets/css/style.scss @@ -0,0 +1,4 @@ +--- +--- + +@import "minima"; diff --git a/assets/minima-social-icons.svg b/assets/minima-social-icons.svg new file mode 100644 index 0000000..e938056 --- /dev/null +++ b/assets/minima-social-icons.svg @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/elements/hydrogen.md b/elements/hydrogen.md new file mode 100644 index 0000000..d7a29ed --- /dev/null +++ b/elements/hydrogen.md @@ -0,0 +1,6 @@ +--- +layout: page +title: Hydrogen +--- + +This is the content diff --git a/index.md b/index.md new file mode 100644 index 0000000..599d068 --- /dev/null +++ b/index.md @@ -0,0 +1,9 @@ +--- +title: The Periodic Table +layout: home +--- + + +## Directions + +Click an element to learn more. Elements with a white background do not yet have pages. Create one in the elements directory! \ No newline at end of file diff --git a/script/main.js b/script/main.js new file mode 100644 index 0000000..5bb6d37 --- /dev/null +++ b/script/main.js @@ -0,0 +1,48 @@ +function onElementClick() { + let number = this.getAttribute('data-number') + let element = window.tableData[number - 1] + window.location = element.url + + return false +} + +function getStarRank(count) { + return Math.ceil(Math.min(count, 1000) / 200) +} + +const colors = { + 404: '#ffffff', + 200: '#ed1c24ff', +} + +function checkExists(url) +{ + var http = new XMLHttpRequest(); + http.open('HEAD', url, false); + http.send(); + return http.status; +} + +function addElementToTable(data, tableDiv) { + let elDiv = document.createElement('div') + let symbol = document.createTextNode(data.symbol) + let bgColor = colors[checkExists(data.url)] + + elDiv.appendChild(symbol) + elDiv.setAttribute('class', 'table-element') + elDiv.setAttribute('style', `grid-column:${data.col}; grid-row:${data.row}; background-color:${bgColor}`) + elDiv.setAttribute('data-number', data.number) + elDiv.setAttribute('href', data.url) + tableDiv.appendChild(elDiv) + elDiv.addEventListener('click', onElementClick) +} + +window.onload = () => { + let tableDiv = document.querySelector('#periodic-table') + + window.tableData.forEach((e) => { + addElementToTable(e, tableDiv) + }) + + showElementDetails(window.tableData[0]) +} diff --git a/script/new_data.js b/script/new_data.js new file mode 100644 index 0000000..bec4ffc --- /dev/null +++ b/script/new_data.js @@ -0,0 +1,946 @@ +tableData = [ + { + "name": "Hydrogen", + "number": 1, + "symbol": "H", + "row": 1, + "col": 1, + "url": "elements/hydrogen" + }, + { + "name": "Helium", + "number": 2, + "symbol": "He", + "row": 1, + "col": 18, + "url": "elements/helium" + }, + { + "name": "Lithium", + "number": 3, + "symbol": "Li", + "row": 2, + "col": 1, + "url": "elements/lithium" + }, + { + "name": "Beryllium", + "number": 4, + "symbol": "Be", + "row": 2, + "col": 2, + "url": "elements/beryllium" + }, + { + "name": "Boron", + "number": 5, + "symbol": "B", + "row": 2, + "col": 13, + "url": "elements/boron" + }, + { + "name": "Carbon", + "number": 6, + "symbol": "C", + "row": 2, + "col": 14, + "url": "elements/carbon" + }, + { + "name": "Nitrogen", + "number": 7, + "symbol": "N", + "row": 2, + "col": 15, + "url": "elements/nitrogen" + }, + { + "name": "Oxygen", + "number": 8, + "symbol": "O", + "row": 2, + "col": 16, + "url": "elements/oxygen" + }, + { + "name": "Fluorine", + "number": 9, + "symbol": "F", + "row": 2, + "col": 17, + "url": "elements/fluorine" + }, + { + "name": "Neon", + "number": 10, + "symbol": "Ne", + "row": 2, + "col": 18, + "url": "elements/neon" + }, + { + "name": "Sodium", + "number": 11, + "symbol": "Na", + "row": 3, + "col": 1, + "url": "elements/sodium" + }, + { + "name": "Magnesium", + "number": 12, + "symbol": "Mg", + "row": 3, + "col": 2, + "url": "elements/magnesium" + }, + { + "name": "Aluminium", + "number": 13, + "symbol": "Al", + "row": 3, + "col": 13, + "url": "elements/aluminium" + }, + { + "name": "Silicon", + "number": 14, + "symbol": "Si", + "row": 3, + "col": 14, + "url": "elements/silicon" + }, + { + "name": "Phosphorus", + "number": 15, + "symbol": "P", + "row": 3, + "col": 15, + "url": "elements/phosphorus" + }, + { + "name": "Sulfur", + "number": 16, + "symbol": "S", + "row": 3, + "col": 16, + "url": "elements/sulfur" + }, + { + "name": "Chlorine", + "number": 17, + "symbol": "Cl", + "row": 3, + "col": 17, + "url": "elements/chlorine" + }, + { + "name": "Argon", + "number": 18, + "symbol": "Ar", + "row": 3, + "col": 18, + "url": "elements/argon" + }, + { + "name": "Potassium", + "number": 19, + "symbol": "K", + "row": 4, + "col": 1, + "url": "elements/potassium" + }, + { + "name": "Calcium", + "number": 20, + "symbol": "Ca", + "row": 4, + "col": 2, + "url": "elements/calcium" + }, + { + "name": "Scandium", + "number": 21, + "symbol": "Sc", + "row": 4, + "col": 3, + "url": "elements/scandium" + }, + { + "name": "Titanium", + "number": 22, + "symbol": "Ti", + "row": 4, + "col": 4, + "url": "elements/titanium" + }, + { + "name": "Vanadium", + "number": 23, + "symbol": "V", + "row": 4, + "col": 5, + "url": "elements/vanadium" + }, + { + "name": "Chromium", + "number": 24, + "symbol": "Cr", + "row": 4, + "col": 6, + "url": "elements/chromium" + }, + { + "name": "Manganese", + "number": 25, + "symbol": "Mn", + "row": 4, + "col": 7, + "url": "elements/manganese" + }, + { + "name": "Iron", + "number": 26, + "symbol": "Fe", + "row": 4, + "col": 8, + "url": "elements/iron" + }, + { + "name": "Cobalt", + "number": 27, + "symbol": "Co", + "row": 4, + "col": 9, + "url": "elements/cobalt" + }, + { + "name": "Nickel", + "number": 28, + "symbol": "Ni", + "row": 4, + "col": 10, + "url": "elements/nickel" + }, + { + "name": "Copper", + "number": 29, + "symbol": "Cu", + "row": 4, + "col": 11, + "url": "elements/copper" + }, + { + "name": "Zinc", + "number": 30, + "symbol": "Zn", + "row": 4, + "col": 12, + "url": "elements/zinc" + }, + { + "name": "Gallium", + "number": 31, + "symbol": "Ga", + "row": 4, + "col": 13, + "url": "elements/gallium" + }, + { + "name": "Germanium", + "number": 32, + "symbol": "Ge", + "row": 4, + "col": 14, + "url": "elements/germanium" + }, + { + "name": "Arsenic", + "number": 33, + "symbol": "As", + "row": 4, + "col": 15, + "url": "elements/arsenic" + }, + { + "name": "Selenium", + "number": 34, + "symbol": "Se", + "row": 4, + "col": 16, + "url": "elements/selenium" + }, + { + "name": "Bromine", + "number": 35, + "symbol": "Br", + "row": 4, + "col": 17, + "url": "elements/bromine" + }, + { + "name": "Krypton", + "number": 36, + "symbol": "Kr", + "row": 4, + "col": 18, + "url": "elements/krypton" + }, + { + "name": "Rubidium", + "number": 37, + "symbol": "Rb", + "row": 5, + "col": 1, + "url": "elements/rubidium" + }, + { + "name": "Strontium", + "number": 38, + "symbol": "Sr", + "row": 5, + "col": 2, + "url": "elements/strontium" + }, + { + "name": "Yttrium", + "number": 39, + "symbol": "Y", + "row": 5, + "col": 3, + "url": "elements/yttrium" + }, + { + "name": "Zirconium", + "number": 40, + "symbol": "Zr", + "row": 5, + "col": 4, + "url": "elements/zirconium" + }, + { + "name": "Niobium", + "number": 41, + "symbol": "Nb", + "row": 5, + "col": 5, + "url": "elements/niobium" + }, + { + "name": "Molybdenum", + "number": 42, + "symbol": "Mo", + "row": 5, + "col": 6, + "url": "elements/molybdenum" + }, + { + "name": "Technetium", + "number": 43, + "symbol": "Tc", + "row": 5, + "col": 7, + "url": "elements/technetium" + }, + { + "name": "Ruthenium", + "number": 44, + "symbol": "Ru", + "row": 5, + "col": 8, + "url": "elements/ruthenium" + }, + { + "name": "Rhodium", + "number": 45, + "symbol": "Rh", + "row": 5, + "col": 9, + "url": "elements/rhodium" + }, + { + "name": "Palladium", + "number": 46, + "symbol": "Pd", + "row": 5, + "col": 10, + "url": "elements/palladium" + }, + { + "name": "Silver", + "number": 47, + "symbol": "Ag", + "row": 5, + "col": 11, + "url": "elements/silver" + }, + { + "name": "Cadmium", + "number": 48, + "symbol": "Cd", + "row": 5, + "col": 12, + "url": "elements/cadmium" + }, + { + "name": "Indium", + "number": 49, + "symbol": "In", + "row": 5, + "col": 13, + "url": "elements/indium" + }, + { + "name": "Tin", + "number": 50, + "symbol": "Sn", + "row": 5, + "col": 14, + "url": "elements/tin" + }, + { + "name": "Antimony", + "number": 51, + "symbol": "Sb", + "row": 5, + "col": 15, + "url": "elements/antimony" + }, + { + "name": "Tellurium", + "number": 52, + "symbol": "Te", + "row": 5, + "col": 16, + "url": "elements/tellurium" + }, + { + "name": "Iodine", + "number": 53, + "symbol": "I", + "row": 5, + "col": 17, + "url": "elements/iodine" + }, + { + "name": "Xenon", + "number": 54, + "symbol": "Xe", + "row": 5, + "col": 18, + "url": "elements/xenon" + }, + { + "name": "Cesium", + "number": 55, + "symbol": "Cs", + "row": 6, + "col": 1, + "url": "elements/cesium" + }, + { + "name": "Barium", + "number": 56, + "symbol": "Ba", + "row": 6, + "col": 2, + "url": "elements/barium" + }, + { + "name": "Lanthanum", + "number": 57, + "symbol": "La", + "row": 9, + "col": 3, + "url": "elements/lanthanum" + }, + { + "name": "Cerium", + "number": 58, + "symbol": "Ce", + "row": 9, + "col": 4, + "url": "elements/cerium" + }, + { + "name": "Praseodymium", + "number": 59, + "symbol": "Pr", + "row": 9, + "col": 5, + "url": "elements/praseodymium" + }, + { + "name": "Neodymium", + "number": 60, + "symbol": "Nd", + "row": 9, + "col": 6, + "url": "elements/neodymium" + }, + { + "name": "Promethium", + "number": 61, + "symbol": "Pm", + "row": 9, + "col": 7, + "url": "elements/promethium" + }, + { + "name": "Samarium", + "number": 62, + "symbol": "Sm", + "row": 9, + "col": 8, + "url": "elements/samarium" + }, + { + "name": "Europium", + "number": 63, + "symbol": "Eu", + "row": 9, + "col": 9, + "url": "elements/europium" + }, + { + "name": "Gadolinium", + "number": 64, + "symbol": "Gd", + "row": 9, + "col": 10, + "url": "elements/gadolinium" + }, + { + "name": "Terbium", + "number": 65, + "symbol": "Tb", + "row": 9, + "col": 11, + "url": "elements/terbium" + }, + { + "name": "Dysprosium", + "number": 66, + "symbol": "Dy", + "row": 9, + "col": 12, + "url": "elements/dysprosium" + }, + { + "name": "Holmium", + "number": 67, + "symbol": "Ho", + "row": 9, + "col": 13, + "url": "elements/holmium" + }, + { + "name": "Erbium", + "number": 68, + "symbol": "Er", + "row": 9, + "col": 14, + "url": "elements/erbium" + }, + { + "name": "Thulium", + "number": 69, + "symbol": "Tm", + "row": 9, + "col": 15, + "url": "elements/thulium" + }, + { + "name": "Ytterbium", + "number": 70, + "symbol": "Yb", + "row": 9, + "col": 16, + "url": "elements/ytterbium" + }, + { + "name": "Lutetium", + "number": 71, + "symbol": "Lu", + "row": 9, + "col": 17, + "url": "elements/lutetium" + }, + { + "name": "Hafnium", + "number": 72, + "symbol": "Hf", + "row": 6, + "col": 4, + "url": "elements/hafnium" + }, + { + "name": "Tantalum", + "number": 73, + "symbol": "Ta", + "row": 6, + "col": 5, + "url": "elements/tantalum" + }, + { + "name": "Tungsten", + "number": 74, + "symbol": "W", + "row": 6, + "col": 6, + "url": "elements/tungsten" + }, + { + "name": "Rhenium", + "number": 75, + "symbol": "Re", + "row": 6, + "col": 7, + "url": "elements/rhenium" + }, + { + "name": "Osmium", + "number": 76, + "symbol": "Os", + "row": 6, + "col": 8, + "url": "elements/osmium" + }, + { + "name": "Iridium", + "number": 77, + "symbol": "Ir", + "row": 6, + "col": 9, + "url": "elements/iridium" + }, + { + "name": "Platinum", + "number": 78, + "symbol": "Pt", + "row": 6, + "col": 10, + "url": "elements/platinum" + }, + { + "name": "Gold", + "number": 79, + "symbol": "Au", + "row": 6, + "col": 11, + "url": "elements/gold" + }, + { + "name": "Mercury", + "number": 80, + "symbol": "Hg", + "row": 6, + "col": 12, + "url": "elements/mercury" + }, + { + "name": "Thallium", + "number": 81, + "symbol": "Tl", + "row": 6, + "col": 13, + "url": "elements/thallium" + }, + { + "name": "Lead", + "number": 82, + "symbol": "Pb", + "row": 6, + "col": 14, + "url": "elements/lead" + }, + { + "name": "Bismuth", + "number": 83, + "symbol": "Bi", + "row": 6, + "col": 15, + "url": "elements/bismuth" + }, + { + "name": "Polonium", + "number": 84, + "symbol": "Po", + "row": 6, + "col": 16, + "url": "elements/polonium" + }, + { + "name": "Astatine", + "number": 85, + "symbol": "At", + "row": 6, + "col": 17, + "url": "elements/astatine" + }, + { + "name": "Radon", + "number": 86, + "symbol": "Rn", + "row": 6, + "col": 18, + "url": "elements/radon" + }, + { + "name": "Francium", + "number": 87, + "symbol": "Fr", + "row": 7, + "col": 1, + "url": "elements/francium" + }, + { + "name": "Radium", + "number": 88, + "symbol": "Ra", + "row": 7, + "col": 2, + "url": "elements/radium" + }, + { + "name": "Actinium", + "number": 89, + "symbol": "Ac", + "row": 10, + "col": 3, + "url": "elements/actinium" + }, + { + "name": "Thorium", + "number": 90, + "symbol": "Th", + "row": 10, + "col": 4, + "url": "elements/thorium" + }, + { + "name": "Protactinium", + "number": 91, + "symbol": "Pa", + "row": 10, + "col": 5, + "url": "elements/protactinium" + }, + { + "name": "Uranium", + "number": 92, + "symbol": "U", + "row": 10, + "col": 6, + "url": "elements/uranium" + }, + { + "name": "Neptunium", + "number": 93, + "symbol": "Np", + "row": 10, + "col": 7, + "url": "elements/neptunium" + }, + { + "name": "Plutonium", + "number": 94, + "symbol": "Pu", + "row": 10, + "col": 8, + "url": "elements/plutonium" + }, + { + "name": "Americium", + "number": 95, + "symbol": "Am", + "row": 10, + "col": 9, + "url": "elements/americium" + }, + { + "name": "Curium", + "number": 96, + "symbol": "Cm", + "row": 10, + "col": 10, + "url": "elements/curium" + }, + { + "name": "Berkelium", + "number": 97, + "symbol": "Bk", + "row": 10, + "col": 11, + "url": "elements/berkelium" + }, + { + "name": "Californium", + "number": 98, + "symbol": "Cf", + "row": 10, + "col": 12, + "url": "elements/californium" + }, + { + "name": "Einsteinium", + "number": 99, + "symbol": "Es", + "row": 10, + "col": 13, + "url": "elements/einsteinium" + }, + { + "name": "Fermium", + "number": 100, + "symbol": "Fm", + "row": 10, + "col": 14, + "url": "elements/fermium" + }, + { + "name": "Mendelevium", + "number": 101, + "symbol": "Md", + "row": 10, + "col": 15, + "url": "elements/mendelevium" + }, + { + "name": "Nobelium", + "number": 102, + "symbol": "No", + "row": 10, + "col": 16, + "url": "elements/nobelium" + }, + { + "name": "Lawrencium", + "number": 103, + "symbol": "Lr", + "row": 10, + "col": 17, + "url": "elements/lawrencium" + }, + { + "name": "Rutherfordium", + "number": 104, + "symbol": "Rf", + "row": 7, + "col": 4, + "url": "elements/rutherfordium" + }, + { + "name": "Dubnium", + "number": 105, + "symbol": "Db", + "row": 7, + "col": 5, + "url": "elements/dubnium" + }, + { + "name": "Seaborgium", + "number": 106, + "symbol": "Sg", + "row": 7, + "col": 6, + "url": "elements/seaborgium" + }, + { + "name": "Bohrium", + "number": 107, + "symbol": "Bh", + "row": 7, + "col": 7, + "url": "elements/bohrium" + }, + { + "name": "Hassium", + "number": 108, + "symbol": "Hs", + "row": 7, + "col": 8, + "url": "elements/hassium" + }, + { + "name": "Meitnerium", + "number": 109, + "symbol": "Mt", + "row": 7, + "col": 9, + "url": "elements/meitnerium" + }, + { + "name": "Darmstadtium", + "number": 110, + "symbol": "Ds", + "row": 7, + "col": 10, + "url": "elements/darmstadtium" + }, + { + "name": "Roentgenium", + "number": 111, + "symbol": "Rg", + "row": 7, + "col": 11, + "url": "elements/roentgenium" + }, + { + "name": "Copernicium", + "number": 112, + "symbol": "Cn", + "row": 7, + "col": 12, + "url": "elements/copernicium" + }, + { + "name": "Nihonium", + "number": 113, + "symbol": "Nh", + "row": 7, + "col": 13, + "url": "elements/nihonium" + }, + { + "name": "Flerovium", + "number": 114, + "symbol": "Fl", + "row": 7, + "col": 14, + "url": "elements/flerovium" + }, + { + "name": "Moscovium", + "number": 115, + "symbol": "Mc", + "row": 7, + "col": 15, + "url": "elements/moscovium" + }, + { + "name": "Livermorium", + "number": 116, + "symbol": "Lv", + "row": 7, + "col": 16, + "url": "elements/livermorium" + }, + { + "name": "Tennessine", + "number": 117, + "symbol": "Ts", + "row": 7, + "col": 17, + "url": "elements/tennessine" + }, + { + "name": "Oganesson", + "number": 118, + "symbol": "Og", + "row": 7, + "col": 18, + "url": "elements/oganesson" + } +] \ No newline at end of file