Merge branch 'hugo'
48
.github/workflows/build-site.yml
vendored
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
name: Build and Deploy Site
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
submodules: true
|
||||||
|
- name: Setup Node
|
||||||
|
uses: actions/setup-node@v2
|
||||||
|
with:
|
||||||
|
node-version: lts/*
|
||||||
|
cache: npm
|
||||||
|
cache-dependency-path: assets/package-lock.json
|
||||||
|
- name: Setup Hugo
|
||||||
|
uses: peaceiris/actions-hugo@v2
|
||||||
|
with:
|
||||||
|
hugo-version: "latest"
|
||||||
|
extended: true
|
||||||
|
- name: Configure npm
|
||||||
|
run: |
|
||||||
|
npm config set "@fortawesome:registry" https://npm.fontawesome.com/
|
||||||
|
npm config set "//npm.fontawesome.com/:_authToken" ${{ secrets.FONTAWESOME_TOKEN }}
|
||||||
|
- name: Install global npm packages
|
||||||
|
run: |
|
||||||
|
npm -g install
|
||||||
|
- name: Install local npm packages
|
||||||
|
run: |
|
||||||
|
cd assets
|
||||||
|
npm install
|
||||||
|
cd ..
|
||||||
|
- name: Run Hugo
|
||||||
|
run: |
|
||||||
|
hugo
|
||||||
|
cp ${GITHUB_WORKSPACE}/{CNAME,.nojekyll} public
|
||||||
|
- name: Deploy to gh-pages
|
||||||
|
uses: rdarida/simple-github-pages-deploy-action@v1
|
||||||
|
with:
|
||||||
|
git-user: "MillironX"
|
||||||
|
git-email: "25492070+MillironX@users.noreply.github.com"
|
||||||
|
git-base-folder: "public"
|
||||||
|
commit-message: "Build and deploy"
|
||||||
|
branch: "gh-pages"
|
149
.gitignore
vendored
|
@ -1,4 +1,153 @@
|
||||||
|
### Jekyll gitignore ###
|
||||||
_site/
|
_site/
|
||||||
.sass-cache/
|
.sass-cache/
|
||||||
.jekyll-cache/
|
.jekyll-cache/
|
||||||
.jekyll-metadata
|
.jekyll-metadata
|
||||||
|
|
||||||
|
### Hugo gitignore ###
|
||||||
|
# Generated files by hugo
|
||||||
|
/public/
|
||||||
|
/resources/_gen/
|
||||||
|
/assets/jsconfig.json
|
||||||
|
hugo_stats.json
|
||||||
|
|
||||||
|
# Executable may be added to repository
|
||||||
|
hugo.exe
|
||||||
|
hugo.darwin
|
||||||
|
hugo.linux
|
||||||
|
|
||||||
|
# Temporary lock file while building
|
||||||
|
/.hugo_build.lock
|
||||||
|
|
||||||
|
### Node gitignore ###
|
||||||
|
|
||||||
|
# Logs
|
||||||
|
logs
|
||||||
|
*.log
|
||||||
|
npm-debug.log*
|
||||||
|
yarn-debug.log*
|
||||||
|
yarn-error.log*
|
||||||
|
lerna-debug.log*
|
||||||
|
.pnpm-debug.log*
|
||||||
|
|
||||||
|
# Diagnostic reports (https://nodejs.org/api/report.html)
|
||||||
|
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
|
||||||
|
|
||||||
|
# Runtime data
|
||||||
|
pids
|
||||||
|
*.pid
|
||||||
|
*.seed
|
||||||
|
*.pid.lock
|
||||||
|
|
||||||
|
# Directory for instrumented libs generated by jscoverage/JSCover
|
||||||
|
lib-cov
|
||||||
|
|
||||||
|
# Coverage directory used by tools like istanbul
|
||||||
|
coverage
|
||||||
|
*.lcov
|
||||||
|
|
||||||
|
# nyc test coverage
|
||||||
|
.nyc_output
|
||||||
|
|
||||||
|
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
|
||||||
|
.grunt
|
||||||
|
|
||||||
|
# Bower dependency directory (https://bower.io/)
|
||||||
|
bower_components
|
||||||
|
|
||||||
|
# node-waf configuration
|
||||||
|
.lock-wscript
|
||||||
|
|
||||||
|
# Compiled binary addons (https://nodejs.org/api/addons.html)
|
||||||
|
build/Release
|
||||||
|
|
||||||
|
# Dependency directories
|
||||||
|
node_modules/
|
||||||
|
jspm_packages/
|
||||||
|
|
||||||
|
# Snowpack dependency directory (https://snowpack.dev/)
|
||||||
|
web_modules/
|
||||||
|
|
||||||
|
# TypeScript cache
|
||||||
|
*.tsbuildinfo
|
||||||
|
|
||||||
|
# Optional npm cache directory
|
||||||
|
.npm
|
||||||
|
|
||||||
|
# Optional eslint cache
|
||||||
|
.eslintcache
|
||||||
|
|
||||||
|
# Optional stylelint cache
|
||||||
|
.stylelintcache
|
||||||
|
|
||||||
|
# Microbundle cache
|
||||||
|
.rpt2_cache/
|
||||||
|
.rts2_cache_cjs/
|
||||||
|
.rts2_cache_es/
|
||||||
|
.rts2_cache_umd/
|
||||||
|
|
||||||
|
# Optional REPL history
|
||||||
|
.node_repl_history
|
||||||
|
|
||||||
|
# Output of 'npm pack'
|
||||||
|
*.tgz
|
||||||
|
|
||||||
|
# Yarn Integrity file
|
||||||
|
.yarn-integrity
|
||||||
|
|
||||||
|
# dotenv environment variable files
|
||||||
|
.env
|
||||||
|
.env.development.local
|
||||||
|
.env.test.local
|
||||||
|
.env.production.local
|
||||||
|
.env.local
|
||||||
|
|
||||||
|
# parcel-bundler cache (https://parceljs.org/)
|
||||||
|
.cache
|
||||||
|
.parcel-cache
|
||||||
|
|
||||||
|
# Next.js build output
|
||||||
|
.next
|
||||||
|
out
|
||||||
|
|
||||||
|
# Nuxt.js build / generate output
|
||||||
|
.nuxt
|
||||||
|
dist
|
||||||
|
|
||||||
|
# Gatsby files
|
||||||
|
.cache/
|
||||||
|
# Comment in the public line in if your project uses Gatsby and not Next.js
|
||||||
|
# https://nextjs.org/blog/next-9-1#public-directory-support
|
||||||
|
# public
|
||||||
|
|
||||||
|
# vuepress build output
|
||||||
|
.vuepress/dist
|
||||||
|
|
||||||
|
# vuepress v2.x temp and cache directory
|
||||||
|
.temp
|
||||||
|
.cache
|
||||||
|
|
||||||
|
# Docusaurus cache and generated files
|
||||||
|
.docusaurus
|
||||||
|
|
||||||
|
# Serverless directories
|
||||||
|
.serverless/
|
||||||
|
|
||||||
|
# FuseBox cache
|
||||||
|
.fusebox/
|
||||||
|
|
||||||
|
# DynamoDB Local files
|
||||||
|
.dynamodb/
|
||||||
|
|
||||||
|
# TernJS port file
|
||||||
|
.tern-port
|
||||||
|
|
||||||
|
# Stores VSCode versions used for testing VSCode extensions
|
||||||
|
.vscode-test
|
||||||
|
|
||||||
|
# yarn v2
|
||||||
|
.yarn/cache
|
||||||
|
.yarn/unplugged
|
||||||
|
.yarn/build-state.yml
|
||||||
|
.yarn/install-state.gz
|
||||||
|
.pnp.*
|
||||||
|
|
3
.gitmodules
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
[submodule "themes/ananke"]
|
||||||
|
path = themes/ananke
|
||||||
|
url = https://github.com/theNewDynamic/gohugo-theme-ananke.git
|
2
.prettierignore
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
node_modules
|
||||||
|
themes
|
6
.prettierrc
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
"$schema": "http://json.schemastore.org/prettierrc"
|
||||||
|
proseWrap: always
|
||||||
|
overrides:
|
||||||
|
- files: "*.html"
|
||||||
|
options:
|
||||||
|
parser: "go-template"
|
|
@ -1 +0,0 @@
|
||||||
2.7.2
|
|
10
404.html
|
@ -1,10 +0,0 @@
|
||||||
---
|
|
||||||
title: 404 Error - Page Not Found
|
|
||||||
imageUrl: /img/404.jpg
|
|
||||||
blurImageUrl: /img/404_blur.jpg
|
|
||||||
motto: HTTP 404 Error
|
|
||||||
imageTitle: The End of Paradise
|
|
||||||
imageDescription: The Paradise Creek Trail seems to lead straight into ... a construction zone?
|
|
||||||
---
|
|
||||||
|
|
||||||
<p><em>That's geek speak for</em> "this page doesn't exist anymore, and maybe it never did!"</p>
|
|
14
AI.html
|
@ -1,14 +0,0 @@
|
||||||
---
|
|
||||||
title: Artificial Insemination Services
|
|
||||||
description: An advertisement for my services as an AI tech.
|
|
||||||
imageUrl: /img/Ai-calf.jpg
|
|
||||||
imageTitle: Bull calf
|
|
||||||
imageDescription: I can't remember if this calf was, in fact, an AI baby, but he's sure cute enough to sell something, anyway.
|
|
||||||
blurImageUrl: /img/Ai-calf_blur.jpg
|
|
||||||
motto: Artificial Insemination
|
|
||||||
---
|
|
||||||
<p>
|
|
||||||
I am licensed in the Great State of Wyoming as a food animal artificial insemination technician, which means I can legally AI cows, goats, and sheep.
|
|
||||||
Practically speaking, I have only ever AIed cows, but my conception rates are very good for both beef and dairy cows.
|
|
||||||
When (if?) I standardize my rates, I will include them here. Until then, you will have to <a href="Contact">contact me</a> directly and we can negotiate prices then.
|
|
||||||
</p>
|
|
212
Academia.html
|
@ -1,212 +0,0 @@
|
||||||
---
|
|
||||||
title: Academic Achievements
|
|
||||||
description: A list of various publications, presentations and posters that I've given in the name of academia, including abstracts, links to proof that I did them, as well as full-text links when available.
|
|
||||||
imageUrl: /img/library.jpg
|
|
||||||
blurImageUrl: /img/library_blur.jpg
|
|
||||||
motto: Academic Publications and Presentations
|
|
||||||
imageTitle: University of Idaho Library
|
|
||||||
imageDescription: Personally, I preferred the Owen Library in Pullman seven miles west
|
|
||||||
---
|
|
||||||
<!-- Thesis -->
|
|
||||||
<dl id="thesis">
|
|
||||||
<dt>Polyoxometalate Incorporation and Effects on Proton Transport in
|
|
||||||
Hydrogel Polymers</dt>
|
|
||||||
<dd>
|
|
||||||
A Thesis Presented for the Degree of Master of Science of Chemical
|
|
||||||
Engineering in the University of Idaho by Thomas Allen Christensen II
|
|
||||||
<br />
|
|
||||||
Major Professor: James G. Moberly, Ph.D.
|
|
||||||
<br />
|
|
||||||
Committee Members: Kristopher Waynant, Ph.D.; Mark Roll, Ph.D.
|
|
||||||
<br />
|
|
||||||
August 2020
|
|
||||||
<br />
|
|
||||||
<a data-toggle="collapse" data-target="#thesis-abstract" role="button">Abstract <span class="caret"></span></a>
|
|
||||||
 
|
|
||||||
<a href="https://www.proquest.com/dissertations-theses/polyoxometalate-incorporation-effects-on-proton/docview/2502214356/se-2"><i class="fas fa-file-alt"></i> Full Text</a>
|
|
||||||
<div class="collapse" id="thesis-abstract">
|
|
||||||
<p class="font-serif">
|
|
||||||
Polyoxometalate clusters embedded into hydrogel biobeads may be able to solve
|
|
||||||
the challenges posed by free proton generation during remediation of
|
|
||||||
trichloroethylene by acting as buffers and reducing protons to hydrogen gas. In
|
|
||||||
this thesis, the challenges posed by systems that contain both diffusion and
|
|
||||||
reaction processes for protons are considered mathematically, and a computer
|
|
||||||
simulation to was developed to prove the relationship between diaphragm cell lag
|
|
||||||
period and reactive capabilities of membranes. Two polyoxometalate compounds,
|
|
||||||
sodium decavanadate and alumina sulfate, were successfully incorporated into a
|
|
||||||
poly(vinyl alcohol) hydrogel membrane, and the diffusivity changes associated
|
|
||||||
with each compound was determined. It was found that the diffusivity of protons
|
|
||||||
through an unmodified 10% w/v poly(vinyl alcohol) membrane was 1.76 ×
|
|
||||||
10<sup>-5</sup> cm<sup>2</sup> s<sup>-1</sup>, the diffusivity through a 10%/2%
|
|
||||||
w/w/v poly(vinyl alcohol)/sodium decavanadate membrane was 3.10 × 10<sup>-6</sup>
|
|
||||||
cm<sup>2</sup> s<sup>-1</sup>, and the diffusivity through a 10%/2% w/w/v
|
|
||||||
poly(vinyl alcohol)/alumina sulfate membrane was 3.32 × 10<sup>-7</sup>
|
|
||||||
cm<sup>2</sup> s<sup>-1</sup>. Through analysis of the diaphragm cell lag
|
|
||||||
period, it was found the incorporation of sodium decavanadate did not increase
|
|
||||||
the reactivity of a poly(vinyl alcohol) hydrogel, and incorporation of alumina
|
|
||||||
sulfate lowered the reactivity. These results indicate that polyoxometalate
|
|
||||||
integration into hydrogel membranes is feasible, but does not provide any
|
|
||||||
advantage to a bioremediation scenario.
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
<hr />
|
|
||||||
|
|
||||||
<!-- Rumen metagenomics -->
|
|
||||||
<dl id="metagenomics">
|
|
||||||
<dt>Metagenomic analysis of rumen populations in week-old calves as
|
|
||||||
altered by maternal late gestational nutrition and mode of delivery</dt>
|
|
||||||
<dd>
|
|
||||||
T. A. Christensen II, K.J. Austin, K. M. Cammack, and H. C. Cunningham-Hollinger
|
|
||||||
<br />
|
|
||||||
Westion Section American Society of Animal Science Annual Meeting ● Boise, ID ● June 12, 2019
|
|
||||||
<br />
|
|
||||||
1<sup>st</sup> Place Undergraduate Poster Competition
|
|
||||||
<br />
|
|
||||||
<a data-toggle="collapse" data-target="#metagenomics-abstract" role="button">Abstract <span
|
|
||||||
class="caret"></span></a>
|
|
||||||
 
|
|
||||||
<a href="https://github.com/MillironX/cowcalf-rumen-metagenomic-pipeline"><i class="fas fa-code"></i> Source Code</a>
|
|
||||||
 
|
|
||||||
<a href="/blob/metagenomics_analysis_of_rumen_populations.pdf"><i class="fas fa-chart-pie"></i> Full Text</a>
|
|
||||||
<div class="collapse" id="metagenomics-abstract">
|
|
||||||
<p class="font-serif">Early colonization of the rumen microbiome is critical to host health and long term
|
|
||||||
performance. Factors that influence early colonization include maternal factors such as gestational
|
|
||||||
nutrition and mode of delivery. Therefore, we hypothesized that late gestational nutrition and mode of
|
|
||||||
delivery would influence the calf rumen microbiome. Our objectives were to determine if nutrient
|
|
||||||
restriction during late gestation alters the calf rumen microbiome and determine if ruminal microbiome
|
|
||||||
composition differs in calves born vaginally versus caesarean. Late gestating Angus cows were randomly
|
|
||||||
allocated to one of three treatment groups: control (<b>CON</b>; n = 6), caesarean section (<b>CS</b>; n
|
|
||||||
= 4), and nutrient restricted (<b>NR</b>; n = 5), where CON were fed DDGS and hay to meet NRC
|
|
||||||
requirements and calved naturally; CS were fed similarly to CON and calves were born via caesarean
|
|
||||||
section; and NR were fed at a level to reduce BCS by 1.5-2.0 points over the last trimester compared to
|
|
||||||
CON and calved naturally. Rumen fluid was collected via oral lavage prior to partition from cows and at
|
|
||||||
d 7 from calves. Microbial DNA was isolated from the rumen fluid and metagenomic shotgun sequencing was
|
|
||||||
performed using the Illumina HiSeq 2500 platform. Sequence data were analyzed using Metaxa2 for
|
|
||||||
taxonomic assignment followed by QIIME1 and QIIME2 to determine differential abundance and alpha- and
|
|
||||||
beta-diversity differences. There were no significant differences in alpha-diversity as measured by
|
|
||||||
shannon index across treatment groups for cows (<em>P</em> = 0.239), but there were significant
|
|
||||||
differences for calves (<em>P</em> = 0.015). Similarly, there were no significant differences in
|
|
||||||
beta-diversity as measured by the bray-curtis dissimilarity matrix for cows (<em>P</em> = 0.059), but
|
|
||||||
there were significant differences for calves (<em>P</em> = 0.007). Alpha-diversity differed (<em>P</em>
|
|
||||||
< 0.001) between cows and calves, with cows having increased species richness compared to calves.
|
|
||||||
Beta-diversity also differed (<em>P</em> = 0.001) between cows and calves. At total of 410 taxa were
|
|
||||||
differentially abundant (<em>P</em>
|
|
||||||
< 0.01) between cows and calves. These results suggest that the mature rumen microbiome of cows is
|
|
||||||
able to withstand changes in feed intake, however the calf microbiome is susceptible to
|
|
||||||
alteration by maternal factors. These data also suggest that there may be opportunities to
|
|
||||||
develop management strategies during late gestation that influence calf health and performance
|
|
||||||
long-term.</p>
|
|
||||||
<p><b>Key words</b>: gestation, metagenomics, microbiome, rumen</p>
|
|
||||||
</div>
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<hr />
|
|
||||||
|
|
||||||
<!-- ChemE Car -->
|
|
||||||
<dt id="cheme-car">The ChemE Car that Cud: Entry and Documentation Packet to AIChE ChemE Car Contest</dt>
|
|
||||||
<dd>
|
|
||||||
Thomas Christensen II, Andrew Halverson, Kennedee True, Seth Messick, Amanda Christensen, Caleb Richmond,
|
|
||||||
Alexander Brown, & Jake Maksin with Dr. David Bagley
|
|
||||||
<br />
|
|
||||||
Rocky Mountain Regional AIChE Student Conference ● Golden, CO ● April 6, 2019
|
|
||||||
<br />
|
|
||||||
2<sup>nd</sup> Place Poster Competition ● 7<sup>th</sup> Place Performance Competition
|
|
||||||
<br />
|
|
||||||
<a data-toggle="collapse" data-target="#cheme-car-abstract" role="button">Abstract <span class="caret"></span></a>
|
|
||||||
 
|
|
||||||
<a href="https://hdl.handle.net/20.500.11919/3817"><i class="fas fa-file-alt"></i> Full Text</a>
|
|
||||||
<div class="collapse" id="cheme-car-abstract">
|
|
||||||
<p class="font-serif">The ChemE Car That Cud showcases Wyoming’s dominant industries of agriculture and
|
|
||||||
mining by utilizing rumen fluid from a cannulated beef cow to generate hydrogen to be used in a hydrogen
|
|
||||||
fuel cell and radioactive cesium, a byproduct of uranium that is often obtained from Wyoming’s mines, to
|
|
||||||
time the car’s stop. The concentration of cesium-137 source is measured using the radioactive decay of
|
|
||||||
cesium shielded by aluminum. The painted aluminum chassis was obtained from a previous team at UW, and
|
|
||||||
modified using plastic k’nex toys to adapt to the current power source and stopping mechanism.</p>
|
|
||||||
</div>
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<hr />
|
|
||||||
|
|
||||||
<!-- AIChE Poster -->
|
|
||||||
<dt id="pva-aiche">Measuring Diffusion of Trichlorethylene Breakdown Products in Polyvinylalginate</dt>
|
|
||||||
<dd>
|
|
||||||
Thomas A. Christensen II, Samuel R. Wolfe, Jonathan Counts, Mark F. Roll, Kristopher V. Waynant, James G.
|
|
||||||
Moberly
|
|
||||||
<br />
|
|
||||||
AIChE Annual Meeting ● Pittsburgh, PA ● October 29, 2018
|
|
||||||
<br />
|
|
||||||
3<sup>rd</sup> Place Environmental III Division Undergraduate Poster Competition
|
|
||||||
<br />
|
|
||||||
<a data-toggle="collapse" data-target="#pva-aiche-abstract" role="button">Abstract <span class="caret"></span></a>
|
|
||||||
 
|
|
||||||
<a href="https://aiche.confex.com/aiche/2018/meetingapp.cgi/Paper/545790"><i class="fas fa-calendar-alt"></i> Conference Schedule</a>
|
|
||||||
 
|
|
||||||
<a href="/blob/measuring_diffusion_of_trichloroethylene.pdf"><i class="fas fa-chart-pie"></i> Full Text</a>
|
|
||||||
<div class="collapse" id="pva-aiche-abstract">
|
|
||||||
<p class="font-serif">Trichloroethylene (TCE), a toxic and carcinogenic contaminant, presents unique
|
|
||||||
challenges for cleanup because of its water solubility, density, and volatility. Bioremediation of TCE
|
|
||||||
is a promising cleanup method; however, metabolism of TCE results in acid generation that inhibits
|
|
||||||
remediating microorganisms. Calcium alginate(CA)-polyvinylalcohol (PVA) hydrogels show promise for
|
|
||||||
protecting remediating microbes, however diffusion of TCE or its byproducts through these polymers is
|
|
||||||
unknown. To measure the effective diffusion coefficient of TCE and byproducts through hydrogel
|
|
||||||
membranes, we used a modified diaphragm cell. Measured effective diffusion coefficient of each species
|
|
||||||
was (cm<sup>2</sup>/s ×10<sup>6</sup>): 14.0 ± 1.91 for H+ ions, 12.4 ± 1.64 for TCE, 7.83 ± 0.54 for
|
|
||||||
cis-1,2-dichloroethylene (DCE), and 4.68 ± 4.14 for vinyl chloride. These results aid in engineering
|
|
||||||
biobeads and suggest that CA-PVA hydrogel blends are effective in slowing diffusion of protons,
|
|
||||||
buffering acids produced by trichloroethylene metabolism, and remains suitable for encapsulation of
|
|
||||||
microorganisms involved in bioremediation.</p>
|
|
||||||
</div>
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<hr />
|
|
||||||
|
|
||||||
<!-- Fast Pitch speech -->
|
|
||||||
<dt>How to build a cow-cud fuel cell</dt>
|
|
||||||
<dd>
|
|
||||||
Thomas A. Christensen II
|
|
||||||
<br />
|
|
||||||
Idaho INBRE Summer Research Conference ● Moscow, ID ● August 1, 2018
|
|
||||||
<br />
|
|
||||||
3<sup>rd</sup> Place Fast-Pitch Science Presentation Contest
|
|
||||||
<br />
|
|
||||||
<a href="https://web.archive.org/web/20190928024416/https://inbre.uidaho.edu/research/research-conference/"><i class="fas fa-trophy"></i> Awards
|
|
||||||
Listing</a>
|
|
||||||
</dd>
|
|
||||||
|
|
||||||
<hr />
|
|
||||||
|
|
||||||
<!-- INBRE Poster -->
|
|
||||||
<dt id="pva-inbre">Measuring diffusion of protons in polyvinylalginate</dt>
|
|
||||||
<dd>
|
|
||||||
Thomas A. Christensen II, Jonathan Counts, James G. Moberly
|
|
||||||
<br />
|
|
||||||
Idaho INBRE Summer Research Conference ● Moscow, ID ● July 31, 2018
|
|
||||||
<br />
|
|
||||||
Undergraduate Poster Competition
|
|
||||||
<br />
|
|
||||||
<a data-toggle="collapse" data-target="#pva-inbre-abstract" role="button">Abstract <span class="caret"></span></a>
|
|
||||||
|
|
||||||
 
|
|
||||||
<a
|
|
||||||
href="https://eventmobi.com/idahoinbre2018/people/c861bd6f-f4a7-4d67-a59a-199e34515776/387725dc-c893-44b6-b611-0abdf5fbcf6e"><i class="fas fa-calendar-alt"></i> Conference
|
|
||||||
Schedule</a>
|
|
||||||
<div class="collapse" id="pva-inbre-abstract">
|
|
||||||
<p class="font-serif">Trichloroethylene (TCE) is a toxic and carcinogenic contaminant that presents unique
|
|
||||||
challenges for cleanup because of its density and volatility. Use of microorganisms may be a promising
|
|
||||||
remediation method, however metabolism of TCE results in acid buildup, which consequently impedes the
|
|
||||||
ability of microorganisms to perform this remediation. Polyvinylalginate (PVA) shows promise as a useful
|
|
||||||
shield for microorganisms carrying out bioremediation of TCE by surrounding them in a protective
|
|
||||||
biofilm-like layer, however, key information is missing which relates diffusion of TCE or its metabolic
|
|
||||||
products through PVA. To measure the effective diffusion coefficient of H+ ions through a PVA membrane
|
|
||||||
cross-linked with boric acid and calcium ions, we used a modified diaphragm cell. We found the effective
|
|
||||||
diffusion coefficient to be 1.40 × 10<sup>-5</sup> ± 1.91 × 10<sup>-6</sup> cm<sup>2</sup>/s, a nearly
|
|
||||||
seven-fold decrease in diffusivity compared to protons in water, with an unexpected significant but as
|
|
||||||
of yet unquantified adsorption capacity. These results suggest that polyvinylalginate is effective in
|
|
||||||
slowing diffusion of protons and buffering these acids produced by trichloroethylene metabolism, and
|
|
||||||
remains suitable for encapsulation of microorganisms involved in bioremediation.</p>
|
|
||||||
</div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
54
Contact.html
|
@ -1,54 +0,0 @@
|
||||||
---
|
|
||||||
title: Contact Me
|
|
||||||
description: Contact form to get ahold of me.
|
|
||||||
imageUrl: /img/venice-mailbox.jpg
|
|
||||||
imageTitle: Snitch box in Venice
|
|
||||||
imageDescription: This mailbox was used for reporting public health offenses in Venice. It survived the wrath of Napoleon because it didn't look enough like a lion.
|
|
||||||
blurImageUrl: /img/venice-mailbox_blur.jpg
|
|
||||||
motto: Contact Me
|
|
||||||
---
|
|
||||||
|
|
||||||
<form class="form-horizontal pageclip-form"
|
|
||||||
action="https://usebasin.com/f/787df7bfd22e"
|
|
||||||
method="post">
|
|
||||||
<fieldset>
|
|
||||||
<legend>Contact Me</legend>
|
|
||||||
<input type="hidden" name="_gotcha">
|
|
||||||
<div class="form-group">
|
|
||||||
<label for="name" class="col-lg-2 control-label">Name</label>
|
|
||||||
<div class="col-lg-10">
|
|
||||||
<input type="text" class="form-control" id="name" name="name" placeholder="Jay Lush" required>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<label for="email" class="col-lg-2 control-label">Email</label>
|
|
||||||
<div class="col-lg-10">
|
|
||||||
<input type="email" class="form-control" id="email" name="email" placeholder="jlush@iastate.edu" required>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<label for="phone" class="col-lg-2 control-label">Phone number</label>
|
|
||||||
<div class="col-lg-10">
|
|
||||||
<input type="tel" class="form-control" id="phone" name="phone" placeholder="(515) 294-2160">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<label for="subject" class="col-lg-2 control-label">Subject</label>
|
|
||||||
<div class="col-lg-10">
|
|
||||||
<input type="text" class="form-control" id="subject" name="subject" placeholder="Beef genetics" required>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<label for="message" class="col-lg-2 control-label">Message</label>
|
|
||||||
<div class="col-lg-10">
|
|
||||||
<textarea rows="5" class="form-control font-sans" id="message" name="body" required style="min-height: 72pt;"></textarea>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<div class="col-lg-10 col-lg-offset-2">
|
|
||||||
<button type="reset" class="btn btn-default">Cancel</button>
|
|
||||||
<button type="submit" class="btn btn-primary pageclip-form__submit"><span>Submit</span></button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</fieldset>
|
|
||||||
</form>
|
|
30
Gemfile
|
@ -1,30 +0,0 @@
|
||||||
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", "~> 4.0.0"
|
|
||||||
# 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.12"
|
|
||||||
end
|
|
||||||
|
|
||||||
# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem
|
|
||||||
# and associated library.
|
|
||||||
install_if -> { RUBY_PLATFORM =~ %r!mingw|mswin|java! } do
|
|
||||||
gem "tzinfo", "~> 1.2"
|
|
||||||
gem "tzinfo-data"
|
|
||||||
end
|
|
||||||
|
|
||||||
# Performance-booster for watching directories on Windows
|
|
||||||
gem "wdm", "~> 0.1.1", :install_if => Gem.win_platform?
|
|
||||||
|
|
91
Gemfile.lock
|
@ -1,91 +0,0 @@
|
||||||
GEM
|
|
||||||
remote: https://rubygems.org/
|
|
||||||
specs:
|
|
||||||
addressable (2.8.0)
|
|
||||||
public_suffix (>= 2.0.2, < 5.0)
|
|
||||||
colorator (1.1.0)
|
|
||||||
concurrent-ruby (1.1.6)
|
|
||||||
em-websocket (0.5.1)
|
|
||||||
eventmachine (>= 0.12.9)
|
|
||||||
http_parser.rb (~> 0.6.0)
|
|
||||||
eventmachine (1.2.7)
|
|
||||||
eventmachine (1.2.7-x64-mingw32)
|
|
||||||
ffi (1.13.1)
|
|
||||||
ffi (1.13.1-x64-mingw32)
|
|
||||||
forwardable-extended (2.6.0)
|
|
||||||
http_parser.rb (0.6.0)
|
|
||||||
i18n (1.8.5)
|
|
||||||
concurrent-ruby (~> 1.0)
|
|
||||||
jekyll (4.0.1)
|
|
||||||
addressable (~> 2.4)
|
|
||||||
colorator (~> 1.0)
|
|
||||||
em-websocket (~> 0.5)
|
|
||||||
i18n (>= 0.9.5, < 2)
|
|
||||||
jekyll-sass-converter (~> 2.0)
|
|
||||||
jekyll-watch (~> 2.0)
|
|
||||||
kramdown (~> 2.1)
|
|
||||||
kramdown-parser-gfm (~> 1.0)
|
|
||||||
liquid (~> 4.0)
|
|
||||||
mercenary (~> 0.3.3)
|
|
||||||
pathutil (~> 0.9)
|
|
||||||
rouge (~> 3.0)
|
|
||||||
safe_yaml (~> 1.0)
|
|
||||||
terminal-table (~> 1.8)
|
|
||||||
jekyll-feed (0.15.0)
|
|
||||||
jekyll (>= 3.7, < 5.0)
|
|
||||||
jekyll-sass-converter (2.1.0)
|
|
||||||
sassc (> 2.0.1, < 3.0)
|
|
||||||
jekyll-seo-tag (2.6.1)
|
|
||||||
jekyll (>= 3.3, < 5.0)
|
|
||||||
jekyll-watch (2.2.1)
|
|
||||||
listen (~> 3.0)
|
|
||||||
kramdown (2.3.1)
|
|
||||||
rexml
|
|
||||||
kramdown-parser-gfm (1.1.0)
|
|
||||||
kramdown (~> 2.0)
|
|
||||||
liquid (4.0.3)
|
|
||||||
listen (3.2.1)
|
|
||||||
rb-fsevent (~> 0.10, >= 0.10.3)
|
|
||||||
rb-inotify (~> 0.9, >= 0.9.10)
|
|
||||||
mercenary (0.3.6)
|
|
||||||
minima (2.5.1)
|
|
||||||
jekyll (>= 3.5, < 5.0)
|
|
||||||
jekyll-feed (~> 0.9)
|
|
||||||
jekyll-seo-tag (~> 2.1)
|
|
||||||
pathutil (0.16.2)
|
|
||||||
forwardable-extended (~> 2.6)
|
|
||||||
public_suffix (4.0.6)
|
|
||||||
rb-fsevent (0.10.4)
|
|
||||||
rb-inotify (0.10.1)
|
|
||||||
ffi (~> 1.0)
|
|
||||||
rexml (3.2.5)
|
|
||||||
rouge (3.21.0)
|
|
||||||
safe_yaml (1.0.5)
|
|
||||||
sassc (2.4.0)
|
|
||||||
ffi (~> 1.9)
|
|
||||||
sassc (2.4.0-x64-mingw32)
|
|
||||||
ffi (~> 1.9)
|
|
||||||
terminal-table (1.8.0)
|
|
||||||
unicode-display_width (~> 1.1, >= 1.1.1)
|
|
||||||
thread_safe (0.3.6)
|
|
||||||
tzinfo (1.2.7)
|
|
||||||
thread_safe (~> 0.1)
|
|
||||||
tzinfo-data (1.2020.1)
|
|
||||||
tzinfo (>= 1.0.0)
|
|
||||||
unicode-display_width (1.7.0)
|
|
||||||
wdm (0.1.1)
|
|
||||||
|
|
||||||
PLATFORMS
|
|
||||||
ruby
|
|
||||||
x64-mingw32
|
|
||||||
|
|
||||||
DEPENDENCIES
|
|
||||||
jekyll (~> 4.0.0)
|
|
||||||
jekyll-feed (~> 0.12)
|
|
||||||
minima (~> 2.5)
|
|
||||||
tzinfo (~> 1.2)
|
|
||||||
tzinfo-data
|
|
||||||
wdm (~> 0.1.1)
|
|
||||||
|
|
||||||
BUNDLED WITH
|
|
||||||
2.1.4
|
|
41
Videos.html
|
@ -1,41 +0,0 @@
|
||||||
---
|
|
||||||
title: Videos
|
|
||||||
description: My videography portfolio including highlights of all my adventures in filmmaking.
|
|
||||||
imageUrl: /img/camera.jpg
|
|
||||||
imageTitle: Historical Kodak Camera
|
|
||||||
imageDescription: Isn't it a shame that the company that brought photography to the masses is basically out of business now?
|
|
||||||
blurImageUrl: /img/camera_blur.jpg
|
|
||||||
motto: Videography Portfolio
|
|
||||||
---
|
|
||||||
<h2>The culmination of all art forms is that of film.</h2>
|
|
||||||
<p> A good film must have the plot of a good novel, the legendary characters of sculpture, the tantalizing rhythm of poetry, the stellar composition of photography, and the swelling melodies of music.</p>
|
|
||||||
<p>But I digress. Most of my forays into the world of film are immortalized on <a href="https://vimeo.com/tchristensenii">my Vimeo account</a>, but I decided to share a few highlights here. Enjoy!</p>
|
|
||||||
<div class="well" id="albany-county-fair-2016">
|
|
||||||
<h3>If You Come Out to the Fair</h3>
|
|
||||||
<div style="padding:56.25% 0 0 0;position:relative;"><iframe src="https://player.vimeo.com/video/191326975?color=ffffff" style="position:absolute;top:0;left:0;width:100%;height:100%;" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe></div>
|
|
||||||
<p>My extension agent asked me to make a promotional video for our county fair. This is the only film of mine that has drawn an emotional response. I think I retired after this.</p>
|
|
||||||
</div>
|
|
||||||
<hr />
|
|
||||||
<div class="well" id="ag-olympics">
|
|
||||||
<h3>Farm Bureau Ag Olympics Reel</h3>
|
|
||||||
<div class="embed-responsive embed-responsive-16by9">
|
|
||||||
<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/jhLJp3OFsYM?rel=0" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
|
|
||||||
</div>
|
|
||||||
<p>The Albany County Farm Bureau Young Farmer's and Rancher's committee asked me to come and shoot a highlight reel of the Ag Olympics booth they ran at the Wyoming Football Wyoming Needs Agriculture Day. I gave away all rights to this one except for bragging rights.</p>
|
|
||||||
</div>
|
|
||||||
<hr />
|
|
||||||
<div class="well" id="non-verum">
|
|
||||||
<h3>Non Verum: <small>The Mystery Killer</small></h3>
|
|
||||||
<div style="padding:56.25% 0 0 0;position:relative;"><iframe src="https://player.vimeo.com/video/130557155?color=ffffff" style="position:absolute;top:0;left:0;width:100%;height:100%;" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe></div>
|
|
||||||
<p>My first <span class="strikethrough">documentary</span> mockumentary. This film won 2<sup>nd</sup> place at the <a href="http://4h.missouri.edu/filmfest4h/">2016 National 4-H Film Festival</a>, and I've been told that it's more polished than the pieces done by the local TV stations. No one seems to think it's funny, though, so I'm not sure how successful it was. Please do me a favor and google <strong>every</strong> term you don't understand while watching it, and perhaps you'll fare better.</p>
|
|
||||||
</div>
|
|
||||||
<hr />
|
|
||||||
<div class="well" id="in-the-hayfields">
|
|
||||||
<h3>In the Hayfields</h3>
|
|
||||||
<div style="padding:56.25% 0 0 0;position:relative;"><iframe src="https://player.vimeo.com/video/144811104?color=ffffff" style="position:absolute;top:0;left:0;width:100%;height:100%;" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe></div>
|
|
||||||
<p>I always get the comment that our implements are <em>old</em> whenever I show this video off. I just ignore the naysayers, though, and good thing, too, because a version of this video won a <a href="https://gopro.com/awards">GoPro Award</a>. Still waiting to see my footage on their channel, though.</p>
|
|
||||||
</div>
|
|
||||||
<hr />
|
|
||||||
<p>Want to see more videos? Please petition Vimeo to loosen their overall storage limits. They used to be the coolest site for video uploading, but have priced me out now.</p>
|
|
||||||
|
|
||||||
<script src="https://player.vimeo.com/api/player.js"></script>
|
|
137
Websites.html
|
@ -1,137 +0,0 @@
|
||||||
---
|
|
||||||
title: My Websites
|
|
||||||
description: A listing of every website that I have ever contributed code to.
|
|
||||||
imageUrl: /img/eclipse.jpg
|
|
||||||
imageTitle: The 2017 Solar Eclipse
|
|
||||||
imageDescription: Did you know that the population of Wyoming quadrupled for one day in 2017?
|
|
||||||
blurImageUrl: /img/eclipse_blur.jpg
|
|
||||||
motto: Websites
|
|
||||||
---
|
|
||||||
|
|
||||||
<p>
|
|
||||||
I do occasionally build websites for myself and other people.
|
|
||||||
Here is a list of websites I have contributed code to directly, in a vain attempt to gain each of them some <a href="https://en.wikipedia.org/wiki/Search_engine_optimization">search engine cred</a>
|
|
||||||
</p>
|
|
||||||
<br />
|
|
||||||
<div class="well row">
|
|
||||||
<div class="col-md-3">
|
|
||||||
<a href="https://vedauwoogoats.azurewebsites.net">
|
|
||||||
<img src="/img/vedauwoo-goats-thumbnail.png" alt="Thumbnail of Vedauwoo Goats homepage" class="img-responsive img-thumbnail" />
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-9">
|
|
||||||
|
|
||||||
<h4 class="small-margins">Vedauwoo Goats</h4>
|
|
||||||
<h5><a href="https://vedauwoogoats.azurewebsites.net">https://vedauwoogoats.azurewebsites.net</a></h5>
|
|
||||||
<p>
|
|
||||||
Lists all the goats owned by my friend over at Vedauwoo Goats. I built the site to act as a
|
|
||||||
<a href="https://en.wikipedia.org/wiki/Content_management_system">content management system</a>
|
|
||||||
, meaning that I'm responsible for the design, and someone else is responsible for the mistakes,
|
|
||||||
I mean, content. Sometimes, I will put my two cents on the blog under the moniker "The Web Guru,"
|
|
||||||
but only when important web stuff is going on.
|
|
||||||
</p>
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-xs-4">
|
|
||||||
<a href="https://asp.net/mvc">
|
|
||||||
<img src="/shapes/mvc-hero.png" class="float-left web-logo" height="32" alt="ASP.NET MVC Logo" />
|
|
||||||
<span class="visible-md visible-lg">ASP.NET MVC 5.0</span>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
<div class="col-xs-4">
|
|
||||||
<a href="https://visualstudio.com">
|
|
||||||
<img src="/shapes/Visual-Studio-2012.svg" class="float-left web-logo" height="32" alt="Visual Studio Logo" />
|
|
||||||
<span class="visible-lg visible-md">Visual Studio 2019</span>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
<div class="col-xs-4">
|
|
||||||
<a href="https://bootswatch.com/3/readable/">
|
|
||||||
<img src="/shapes/bootswatch.png" class="float-left web-logo" height="32" alt="Bootswatch Logo" />
|
|
||||||
<span class="visible-md visible-lg">Bootswatch Readable 3.x</span>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<hr />
|
|
||||||
|
|
||||||
<div class="row well">
|
|
||||||
<div class="col-md-3">
|
|
||||||
<a href="https://millironx.azurewebsites.net">
|
|
||||||
<img src="/img/milliron-x-thumbnail.png" alt="Thumbnail of Milliron X website" class="img-thumbnail img-responsive" />
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-9">
|
|
||||||
<h4 class="small-margins">Milliron X</h4>
|
|
||||||
<h5><a href="https://millironx.com">https://millironx.com</a></h5>
|
|
||||||
<p>
|
|
||||||
Lo and behold: I made my own website!
|
|
||||||
</p>
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-xs-4">
|
|
||||||
<a href="https://jekyllrb.com">
|
|
||||||
<img src="/shapes/jekyll.png" class="float-left web-logo" height="32" alt="Visual Studio Logo" />
|
|
||||||
<span class="visible-md visible-lg">Jekyll</span>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
<div class="col-xs-4">
|
|
||||||
<a href="https://code.visualstudio.com">
|
|
||||||
<img src="/shapes/Visual-Studio-code.svg" class="float-left web-logo" height="32" alt="Visual Studio Code Logo" />
|
|
||||||
<span class="visible-lg visible-md">Visual Studio Code</span>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
<div class="col-xs-4">
|
|
||||||
<a href="https://www.creative-tim.com/product/get-shit-done-kit">
|
|
||||||
<img src="/shapes/gsdk.png" class="float-left img-thumbnail web-logo" height="32" width="32" alt="GSD Kit image" />
|
|
||||||
<span class="visible-md visible-lg">GSD Kit</span>
|
|
||||||
</a>
|
|
||||||
<br />
|
|
||||||
<div style="text-align: center">
|
|
||||||
<i class="fas fa-plus"></i>
|
|
||||||
</div>
|
|
||||||
<br />
|
|
||||||
<a href="https://web.archive.org/web/20140302232556/http://www.jonathanbriehl.com/2014/01/17/vertical-menu-for-bootstrap-3">
|
|
||||||
<img src="/shapes/Reading-panel-WF.svg" class="float-left web-logo" height="32" alt="Sidebar rendering" />
|
|
||||||
<span class="visible-md visible-lg">Vertical Menu for Bootstrap</span>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<hr />
|
|
||||||
|
|
||||||
<div class="row well">
|
|
||||||
<div class="col-md-3">
|
|
||||||
<img src="/img/recordbooks-thumbnail.png" alt="Thumbnail of Albany County 4-H Record Book website" class="img-thumbnail img-responsive" />
|
|
||||||
</div>
|
|
||||||
<div class="col-md-9">
|
|
||||||
<h4 class="small-margins">Albany County 4-H Record Books</h4>
|
|
||||||
<h5><a href="http://wyoming4h.org/albany4h/record-book/">http://wyoming4h.org/albany4h/record-book/</a></h5>
|
|
||||||
<p>
|
|
||||||
I constructed this site to hold the record book helps of the rebellious Albany County, Wyoming.
|
|
||||||
Due to the bureaucratic lag that it takes to update, it got updated just in time for
|
|
||||||
Wyoming 4-H to ditch paper record books entirely. Oh, well.
|
|
||||||
</p>
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-xs-4">
|
|
||||||
<a href="https://www.w3.org/html/">
|
|
||||||
<img src="/shapes/HTML5-Logo.svg" class="float-left web-logo" height="32" alt="HTML 5 Logo" />
|
|
||||||
<span class="visible-md visible-lg">Plain ol' HTML5</span>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
<div class="col-xs-4">
|
|
||||||
<a href="https://adobe.com/dreamweaver">
|
|
||||||
<img src="/shapes/Adobe-Dreamweaver.svg" class="float-left web-logo" height="32" alt="Dreamweaver Logo" />
|
|
||||||
<span class="visible-lg visible-md">Adobe Dreamweaver CC</span>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
<div class="col-xs-4">
|
|
||||||
<a href="https://bootswatch.com/3/lumen/">
|
|
||||||
<img src="/shapes/bootswatch.png" class="float-left web-logo" height="32" alt="Bootswatch Logo" />
|
|
||||||
<span class="visible-md visible-lg">Bootswatch Lumen 3.x</span>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
57
_config.yml
|
@ -1,57 +0,0 @@
|
||||||
# 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: Milliron X
|
|
||||||
email: ""
|
|
||||||
description: >- # this means to ignore newlines until "baseurl:"
|
|
||||||
Thomas A. Christensen II's personal website and portfolio. It details
|
|
||||||
my work in academia as a Chemical Engineer, as a ranch kid in Wyoming,
|
|
||||||
and as filmmaker.
|
|
||||||
baseurl: "" # the subpath of your site, e.g. /blog
|
|
||||||
url: "https://millironx.com" # the base hostname & protocol for your site, e.g. http://example.com
|
|
||||||
twitter_username: ""
|
|
||||||
github_username: millironx
|
|
||||||
|
|
||||||
# Build settings
|
|
||||||
markdown: kramdown
|
|
||||||
theme: minima
|
|
||||||
plugins:
|
|
||||||
- jekyll-feed
|
|
||||||
|
|
||||||
# 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/
|
|
||||||
|
|
||||||
defaults:
|
|
||||||
-
|
|
||||||
scope:
|
|
||||||
path: ""
|
|
||||||
type: "pages"
|
|
||||||
values:
|
|
||||||
layout: "default"
|
|
||||||
title: Milliron X
|
|
||||||
imageUrl: /img/saddles.jpg
|
|
||||||
blurImageUrl: /img/saddles_blur.jpg
|
|
||||||
motto: Milliron X
|
|
||||||
imageTitle: "Saddles After Roundup"
|
|
||||||
imageDescription: "After gathering all the cows and unsaddling the horses, the saddles wait for the cowboys to put the horses away"
|
|
|
@ -1,235 +0,0 @@
|
||||||
---
|
|
||||||
title: Keep EPDs Real
|
|
||||||
imageUrl: /img/cannulated-cows.jpg
|
|
||||||
blurImageUrl: /img/cannulated-cows_blur.jpg
|
|
||||||
motto: Keep EPDs Real
|
|
||||||
---
|
|
||||||
|
|
||||||
<p>
|
|
||||||
In the
|
|
||||||
<a href="https://podcasts.apple.com/us/podcast/selection-for-milk-in-the-cowherd-how-much-is-too-much/id964198047?i=1000431062519">March 4, 2019 episode of BeefWatch Podcast</a>,
|
|
||||||
Dr. Travis Mulliniks of the University of Nebraska-Lincoln presented the research he conducted and published in
|
|
||||||
<a href="https://academic.oup.com/tas">Translational Animal Science</a> titled
|
|
||||||
<a href="https://doi.org/10.2527/tas2016.0006">"High milk production decreases cow-calf productivity within a highly available feed resource environment."</a>
|
|
||||||
In the study, he discovered that fluid milk production in beef cattle has no correlation with calf weaning weights, but has a significant negative correlation with breedback rates.
|
|
||||||
Dr. Mulliniks' paper is in agreement with several others on this topic, and appears to be the largest and most conclusive study of this topic to-date.
|
|
||||||
</p>
|
|
||||||
<p>At the conclusion of the podcast episode, Dr. Mulliniks stated</p>
|
|
||||||
<blockquote>As producers looking at bulls: we highly suggest, in our environment in Nebraska, from an Angus standpoint, an EPD of 22 or lower.
|
|
||||||
…
|
|
||||||
Above that we start seeing an increase in that milking potential. But it's something that we really need to pay attention to,
|
|
||||||
'cause as [<em>sic</em>] our costs continue to go up, and we're not necessarily seeing an increase in the output.
|
|
||||||
…
|
|
||||||
We really need to manage and moderate milk in a lot of our cow-calf setups.</blockquote>
|
|
||||||
<p>Mathematically, he is saying:</p>
|
|
||||||
<img class="img img-responsive math"
|
|
||||||
src="https://latex.codecogs.com/svg.latex?\inline&space;\small&space;High\&space;Fertility=Low\&space;Milk\&space;Production=Low\&space;MILK\&space;EPD\neq&space;Low\&space;Weaning\&space;Weights"
|
|
||||||
title="\small High\ Fertility=Low\ Milk\ Production=Low\ MILK\ EPD\neq Low\ Weaning\ Weights" />
|
|
||||||
<p><em><strong>WHAT!?!</strong></em></p>
|
|
||||||
<p>
|
|
||||||
His research did state that
|
|
||||||
</p>
|
|
||||||
<img class="img img-responsive math"
|
|
||||||
src="https://latex.codecogs.com/svg.latex?\inline&space;\small&space;High\&space;Fertility=Low\&space;Milk\&space;Production\neq&space;Low\&space;Weaning\&space;Weights"
|
|
||||||
title="\small High\ Fertility=Low\ Milk\ Production\neq Low\ Weaning\ Weights" />
|
|
||||||
<p>
|
|
||||||
But the MILK EPD is calculated from calf weaning weights, and weaning weights only. The
|
|
||||||
<a href="https://www.angus.org/Nce/Definitions.aspx">Angus Association sort of admits it</a>,
|
|
||||||
the <a href="http://nbcec.org/producers/sire_selection/manual.pdf">National Beef Cattle Evaluation Consortium knows it</a>,
|
|
||||||
and professors in both <a href="https://www.worldcat.org/search?q=isbn%3A9781845939816">Scotland</a>
|
|
||||||
and <a href="https://www.worldcat.org/search?q=isbn%3A0646387138">Australia</a> teach students how to calculate it.
|
|
||||||
It is a maternal trait, and is not a "direct" predictor of weaning weights, but
|
|
||||||
<b><em>the only phenotype data that is incorporated into the calculation is that of weaning weight</em></b>.
|
|
||||||
Mathematically, that means:
|
|
||||||
</p>
|
|
||||||
<img class="img img-responsive math" src="https://latex.codecogs.com/svg.latex?\inline&space;\small&space;Low\&space;MILK\&space;EPD=&space;Low\&space;Weaning\&space;Weights" title="\small Low\ MILK\ EPD= Low\ Weaning\ Weights" />
|
|
||||||
<p>
|
|
||||||
So both of these pieces of information lead to something more like:
|
|
||||||
</p>
|
|
||||||
<img class="img img-responsive math" src="https://latex.codecogs.com/svg.latex?\inline&space;\small&space;High\&space;Fertility=Low\&space;Milk\&space;Production\neq&space;Low\&space;MILK\&space;EPD=Low\&space;Weaning\&space;Weights" title="\small High\ Fertility=Low\ Milk\ Production\neq Low\ MILK\ EPD=Low\ Weaning\ Weights" />
|
|
||||||
<p>I contacted Mulliniks and asked him if there was something I missed. He replied</p>
|
|
||||||
<blockquote>
|
|
||||||
The milk EPD is actually associated with milk production.
|
|
||||||
If you reread the description for milk EPD, <strong>it is a direct correlation between milk</strong> and mothering ability <strong>on weaning weight</strong>, which would be the maternal component of weaning weight.
|
|
||||||
So using bulls with high milk EPDs will increase milk production of your cowherd if you retain heifers out them.
|
|
||||||
<br />
|
|
||||||
…
|
|
||||||
<br />
|
|
||||||
Selecting for low milk EPD does not mean you will necessarily decrease calf weaning weight.
|
|
||||||
You can still select for growth through WW EPD that would be independent from maternal traits.
|
|
||||||
<br />
|
|
||||||
<em>[Emphasis mine]</em>
|
|
||||||
</blockquote>
|
|
||||||
<h2>This was the last straw</h2>
|
|
||||||
<p>
|
|
||||||
I was formally introduced to EPDs at the age of 13 by my local semen sales rep.
|
|
||||||
He gave a slide presentation with lots of pretty pictures: one had lots of bell curves to illustrate accuracies, another had colored bars in four colors to illustrate SNPs, and another one had little bull silhouettes in little pens to illustrate contemporary groups.
|
|
||||||
He even defined Expected Progeny Difference: <em>expected</em> means a statistical prediction, <em>progeny</em> means the offspring - not the animal itself, and <em>difference</em> means compared to … something.
|
|
||||||
Not the breed averages, though.
|
|
||||||
That's why you really need to compare your potential sires against the breed averages, which are handily published in every sire catalog.
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
At the end of the presentation, he asked for questions.
|
|
||||||
I had one.
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<em>"How are they calculated?"</em>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
He knew the answer to that, too. It turns out that EPDs are generated by computers that take into account <b>all</b> of an animal's relatives, from his sons and daughters to his distant cousins.
|
|
||||||
That answer didn't satisfy me.
|
|
||||||
If you're reading this, I'm guessing that answer doesn't satisfy you, either.
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
I knew some extension agents and professors through 4-H and started making phone calls to get a real handle on how EPDs are calculated.
|
|
||||||
One of these calls yielded the name and phone number of a professor (both of which I have now forgotten) at Colorado State University who specialized in these things.
|
|
||||||
I eagerly called him.
|
|
||||||
</p>
|
|
||||||
<blockquote>
|
|
||||||
<table>
|
|
||||||
<tr>
|
|
||||||
<th>Professor</th>
|
|
||||||
<td>Hello?</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<th>Me</th>
|
|
||||||
<td>Hello, my name is Thomas Christensen. I'm a 4-H member interested in learning about EPDs.</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<th>
|
|
||||||
Professor
|
|
||||||
</th>
|
|
||||||
<td>
|
|
||||||
<em>(Repeat slideshow presentation from semen rep, except exclude the pretty pictures, because FaceTime wasn't a thing, yet.)</em>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<th>Professor</th>
|
|
||||||
<td>
|
|
||||||
Does that answer your questions?
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<th>Me</th>
|
|
||||||
<td>Well, I was really looking for information on how they're calculated.</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<th>Professor <small>(indignantly)</small></th>
|
|
||||||
<td>You can't possibly understand that. The Angus Association has all the resource you need to understand EPDs as a producer: you don't need to know how they're calculated.</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td></td>
|
|
||||||
<td><em>Click</em></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</blockquote>
|
|
||||||
<p>
|
|
||||||
Maybe it's a good thing that I've forgotten his name, after all.
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
From that day forward, I read everything I could get my hands on about EPDs, and asked anyone who might know something about how they were calculated.
|
|
||||||
Every time it was the same non-answers that the semen rep had used: usually his exact language.
|
|
||||||
What they all amounted to was "you don't need to know <b>how</b> EPDs are calculated, you just need to know that they work."
|
|
||||||
It sounded like I had stumbled into a cult.
|
|
||||||
Every time I was rebuffed, I grew even more upset at those who perpetuated these hand-waving definitions..
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
I eventually learned how EPDs were calculated after all. In a chance encounter at a library in a far-away state, I read <a href="https://www.worldcat.org/search?q=isbn%3A0646387138"><em>Animal Breeding: Use of New Technologies</em> by Brian Kinghorn, Julius van der Werf and Margaret Ryan</a>.
|
|
||||||
(I highly recommend this book, but it's extremely hard to find a copy.)
|
|
||||||
I learned the truths that the sire rep and the BIF had omitted the entire time.
|
|
||||||
It wasn't that mysterious or difficult, after all.
|
|
||||||
Most of the things that had been said were, false, but only because they had been deprived of their mathematical context.
|
|
||||||
Knowing the truth became a whole new burden, though, as I became more upset every time I heard someone abusing EPDs.
|
|
||||||
And one day I heard an academic who should have known better, and who had a great amount of sway among ranchers getting it blatantly wrong in a way that could directly hurt cow-calf producers.
|
|
||||||
As <a href="https://youtu.be/YLgqgh7qAbU?t=116">Marty Robbins put it</a>, "I couldn't stand no more."
|
|
||||||
</p>
|
|
||||||
<h2>Something had to be done</h2>
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-md-3">
|
|
||||||
<img class="img img-responsive img-rounded" src="/img/milk-is-not-milk-button.jpg" alt="MILK ≠ Milk" />
|
|
||||||
</div>
|
|
||||||
<div class="col-md-9">
|
|
||||||
<p>
|
|
||||||
So I founded the #KeepEPDsReal movement.
|
|
||||||
The movement officially launched at the Albany County Fair 2019
|
|
||||||
<sup><a type="button" data-toggle="tooltip" rel="tooltip" data-placement="top" title="" data-original-title="I was originally going to get them printed and hand them out at an animal science conference that Mulliniks and I were both attending, but thought that might have been too harsh">*</a></sup>,
|
|
||||||
where my colleagues and I wore and gave out buttons with the message MILK ≠ Milk.
|
|
||||||
I know that the message went over most people's heads, but there were a few that understood and heartily agreed.
|
|
||||||
The premise of the movement is simple:
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<h3>Ranchers can do math, too</h3>
|
|
||||||
<p>
|
|
||||||
EPDs are an excellent tool, and they aren't that hard to understand, but as long as sire reps, extension agents and professors continue to
|
|
||||||
shroud them in an air of infallibility, <a href="https://blog.steakgenomics.org/2019/02/epds-and-reasonable-expectations-in.html">people aren't going to trust EPDs</a>.
|
|
||||||
What with matrix algebra built into most scientific calculators, there is no technical reason ranchers shouldn't be taught how to create their own EPDs.
|
|
||||||
I'm convinced that as scientists (and engineers and statstitians and mathematicians), being open and transparent about the methods used to make EPDs will give producers more realistic expectations, wider acceptance, and lower skepticism of EPDs and genomic tools.
|
|
||||||
That means no more defining
|
|
||||||
<a href="https://blog.steakgenomics.org/2019/03/epds-101-use-information-to-improve.html">EPD by defining the individual words</a>,
|
|
||||||
and no more throwing around words like
|
|
||||||
<a href="https://blog.steakgenomics.org/2018/06/experiences-with-implementation-of.html">single-step BLUP without context</a>.
|
|
||||||
<br />
|
|
||||||
<small><em>Sorry, Dr. Decker, your blog was just too available and had all the key phrases: it was too hard to pass up.</em></small>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
In addition to creating the buttons and this rant,
|
|
||||||
I have also created a <a href="https://github.com/millironx/beefblup">computer program for ranchers to be able to calculate their own EPDs</a>
|
|
||||||
and a corresponding <a href="https://github.com/MillironX/beefblup/wiki/How-does-beefblup-find-breeding-values%3F">help document on the statistics that make it work</a> using high school-level math.
|
|
||||||
With the creation of #KeepEPDsReal, maybe — just maybe — we can end all the misinformation surrounding EPDs and start using them to make
|
|
||||||
reliable breeding decisions that actually produce the desired outcomes of animal breeders across America.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<h2>Get Involved</h2>
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-md-6">
|
|
||||||
<div class="panel panel-primary">
|
|
||||||
<div class="panel-heading">
|
|
||||||
<h4><i class="fas fa-medal"></i> Get some buttons!</h4>
|
|
||||||
</div>
|
|
||||||
<div class="panel-body">
|
|
||||||
<p>
|
|
||||||
I have a stash of buttons that are crying out for people to wear them.
|
|
||||||
If you happen to run into me at something to do with livestock, I will likely have a few of them
|
|
||||||
and can give you some. If you are only acquainted with me through the Internet, you will have to
|
|
||||||
get your own buttons printed. Here's how:
|
|
||||||
</p>
|
|
||||||
<ol>
|
|
||||||
<li>
|
|
||||||
Download the button artwork:
|
|
||||||
<br />
|
|
||||||
<a href="/blob/Milk-is-Not-Milk.psd"><i class="fas fa-file-alt"></i> MILK ≠ Milk Button Artwork</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
Order 1 ¾" round buttons with the artwork on them.
|
|
||||||
<br />
|
|
||||||
I got mine from <a href="https://www.purebuttons.com/product/175-custom-buttons">Pure Buttons</a>, but you can get them anywhere that has the right size.
|
|
||||||
</li>
|
|
||||||
</ol>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-6">
|
|
||||||
<div class="panel panel-primary">
|
|
||||||
<div class="panel-heading">
|
|
||||||
<h4><i class="fas fa-laptop-code"></i> Write some code (or docs)</h4>
|
|
||||||
</div>
|
|
||||||
<div class="panel-body">
|
|
||||||
<p>
|
|
||||||
My vision is to have the <a href="https://github.com/millironx/beefblup">beefblup repository</a> become a full-fledged suite
|
|
||||||
of programs to calculate all kinds of EBVs with documentation that explains everything that's going on a a high school math level.
|
|
||||||
I would appreciate help through coding and pull requests on the git repo, from those who know more about EPDs than I do.
|
|
||||||
More details can be found there.
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<p>
|
|
||||||
Through this movement, we hope to stop seeing the MILK EPD used for fertility and milk selection, docility treated as a "quantitative"
|
|
||||||
trait, economic indices used in zero-based profit calculations, and — well, you get the picture. Join me, and together let's <b>#KeepEPDsReal</b>!
|
|
||||||
</p>
|
|
||||||
<h5 class="float-right">— <em>Thomas Christensen</em></h5>
|
|
||||||
<br />
|
|
|
@ -1,336 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en-us">
|
|
||||||
|
|
||||||
<head>
|
|
||||||
|
|
||||||
<!-- A LOT of this code comes from
|
|
||||||
https://www.jonathanbriehl.com/2014/01/17/vertical-menu-for-bootstrap-3/ -->
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
|
||||||
<meta name="description" content="{{ page.description }}">
|
|
||||||
<meta name="author" content="">
|
|
||||||
|
|
||||||
<!-- Search engine ownership verification -->
|
|
||||||
<meta name="google-site-verification" content="3fvDu8JjIAk9qOUVYKcS3jLoev77-QQa3mmm6VlMfDo" />
|
|
||||||
<meta name="msvalidate.01" content="91286D33BFA1A447001733E8680C4A63" />
|
|
||||||
|
|
||||||
|
|
||||||
<title>MILLIRON X - {{ page.title }}</title>
|
|
||||||
|
|
||||||
<!-- Styles -->
|
|
||||||
<!-- Development styles: full toolkits for use in writing web pages -->
|
|
||||||
<!-- dev: bootstrap -->
|
|
||||||
<!-- <link href="https://stackpath.bootstrapcdn.com/bootstrap/3.0.2/css/bootstrap.min.css" rel="stylesheet"
|
|
||||||
integrity="sha384-eumbg33EfHRpbzLIm0lGs0JresLNj7c+5beuRW4d11/vF3Wv3YYmuudfOwMsCmp5" crossorigin="anonymous"
|
|
||||||
type="text/css"> -->
|
|
||||||
<!-- dev: GSDK -->
|
|
||||||
<!-- <link href="/css/gsdk-main.css" rel="stylesheet" type="text/css"> -->
|
|
||||||
<!-- <link href="/css/gsdk-demo.css" rel="stylesheet" type="text/css"> -->
|
|
||||||
<!-- dev: Customcss -->
|
|
||||||
<!-- <link href="/css/millironx_customstyles.css" rel="stylesheet" type="text/css"> -->
|
|
||||||
<!-- Release styles: bundled using purifycss from the dev sources -->
|
|
||||||
<link href="/css/bundle.css" rel="stylesheet" type="text/css">
|
|
||||||
{% if page.title == 'Contact Me' %}
|
|
||||||
<!-- Immutible styles: library styles that can't be bundled -->
|
|
||||||
<!-- Pageclip -->
|
|
||||||
<link rel="stylesheet" href="https://s.pageclip.co/v1/pageclip.css" media="screen">
|
|
||||||
{% endif %}
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body>
|
|
||||||
<div class="modal fade" id="legal-modal" tabindex="-1" role="dialog" aria-labelledby="legal-label">
|
|
||||||
<div class="modal-dialog" role="document">
|
|
||||||
<div class="modal-content">
|
|
||||||
<div class="modal-header">
|
|
||||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
|
||||||
<span aria-hidden="true">×</span>
|
|
||||||
</button>
|
|
||||||
<h4 class="modal-title" id="legal-label">Additional Info</h4>
|
|
||||||
</div>
|
|
||||||
<div class="modal-body">
|
|
||||||
<ul class="nav nav-tabs">
|
|
||||||
<li class="active"><a href="#desc" data-toggle="tab" aria-expanded="true">Description</a></li>
|
|
||||||
<li><a href="#copyright" data-toggle="tab" aria-expanded="false">Copyright</a></li>
|
|
||||||
<li><a href="#oss" data-toggle="tab" aria-expanded="false">Open Source</a></li>
|
|
||||||
<li><a href="#privacy" data-toggle="tab" aria-expanded="false">Privacy</a></li>
|
|
||||||
</ul>
|
|
||||||
<div class="tab-content">
|
|
||||||
<div class="tab-pane fade active in" id="desc">
|
|
||||||
<h4>{{ page.title }}</h4>
|
|
||||||
<p>{{ page.description }}</p>
|
|
||||||
<h6>Header image: <em>{{ page.imageTitle }}</em></h6>
|
|
||||||
<p>{{ page.imageDescription }}</p>
|
|
||||||
</div>
|
|
||||||
<div class="tab-pane fad in" id="copyright">
|
|
||||||
<a rel="license" href="http://creativecommons.org/licenses/by/4.0/">
|
|
||||||
<img class="img img-responsive" alt="Creative Commons License" style="border-width:0; display: block; margin: 0 auto"
|
|
||||||
src="https://i.creativecommons.org/l/by/4.0/88x31.png" />
|
|
||||||
</a>
|
|
||||||
<br />
|
|
||||||
<span class="text-center" style="display: block;">© 2021 Thomas A. Christensen II</span>
|
|
||||||
<br />
|
|
||||||
<p>
|
|
||||||
All my pages are licensed under
|
|
||||||
<a rel="license" href="http://creativecommons.org/licenses/by/4.0/">Creative Commons
|
|
||||||
Attribution 4.0</a>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
Most of my multimedia (photos, music, videos) are licensed under
|
|
||||||
<a href="http://creativecommons.org/licenses/by-nd/4.0/">Creative Commons
|
|
||||||
Attribution-No Derivatives 4.0</a>, instead.
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
The source for this site is licensed under the
|
|
||||||
<a href="https://opensource.org/licenses/MIT">MIT License</a>.
|
|
||||||
</p>
|
|
||||||
<div class="sr-only">
|
|
||||||
<span xmlns:dct="http://purl.org/dc/terms/" href="http://purl.org/dc/dcmitype/Text"
|
|
||||||
property="dct:title" rel="dct:type">{{ page.title }}</span> by <a
|
|
||||||
xmlns:cc="http://creativecommons.org/ns#" href="https://millironx.com"
|
|
||||||
property="cc:attributionName" rel="cc:attributionURL">Thomas A. Christensen
|
|
||||||
II</a> is licensed under a <a rel="license"
|
|
||||||
href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution
|
|
||||||
4.0</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="tab-pane fade in" id="oss">
|
|
||||||
<p>
|
|
||||||
This site is open source!
|
|
||||||
<br />
|
|
||||||
<a class="btn btn-fill" href="https://github.com/millironx/millironx.github.io">
|
|
||||||
<i class="fab fa-github"></i> Get the code! »
|
|
||||||
</a>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
In addition, I used a number of excellent open-source libraries and toolkits in building
|
|
||||||
it.
|
|
||||||
I dedicate this space to acknowledging them all.
|
|
||||||
</p>
|
|
||||||
<table class="table table-condensed table-responsive table-striped">
|
|
||||||
<tr>
|
|
||||||
<td>Jekyll 4</td>
|
|
||||||
<td><a href="https://jekyllrb.com/">jekyllrb.com</a></td>
|
|
||||||
<td><a href="https://github.com/jekyll/jekyll/blob/master/LICENSE">MIT License</a>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Bootstrap 3</td>
|
|
||||||
<td><a href="https://getbootstrap.com/">getbootstrap.com</a></td>
|
|
||||||
<td><a href="https://github.com/twbs/bootstrap/blob/main/LICENSE">MIT License</a>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>JQuery 3</td>
|
|
||||||
<td><a href="https://jquery.com/">jquery.com</a></td>
|
|
||||||
<td><a href="https://jquery.org/license">MIT License</a></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Font Awesome 5</td>
|
|
||||||
<td><a href="https://fontawesome.com/">fontawesome.com</a></td>
|
|
||||||
<td><a href="https://fontawesome.com/license/free">MIT/CC-BY License</a></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Get S*** Done Toolkit</td>
|
|
||||||
<td><a
|
|
||||||
href="https://www.creative-tim.com/product/get-shit-done-kit">creative-tim.com</a>
|
|
||||||
</td>
|
|
||||||
<td><a href="https://github.com/timcreative/freebies/blob/master/LICENSE.md">MIT
|
|
||||||
License</a></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Vertical Menu for Bootstrap 3</td>
|
|
||||||
<td><a
|
|
||||||
href="https://jonathanbriehl.com/posts/vertical-menu-for-bootstrap-3">jonathanbriehl.com</a>
|
|
||||||
</td>
|
|
||||||
<td><a href="#">No license</a></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>FitText</td>
|
|
||||||
<td><a href="http://fittextjs.com/">fittextjs.com</a></td>
|
|
||||||
<td><a href="http://www.wtfpl.net/">WTFPL License</a></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>PurifyCSS</td>
|
|
||||||
<td><a href="https://github.com/purifycss/purifycss">github.com/purifycss</a></td>
|
|
||||||
<td><a href="https://github.com/purifycss/purifycss/blob/master/LICENSE">MIT
|
|
||||||
License</a></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>jQuery Mask Plugin</td>
|
|
||||||
<td><a href="https://igorescobar.github.io/jQuery-Mask-Plugin/">igorescobar.github.io</a></td>
|
|
||||||
<td><a href="https://github.com/igorescobar/jQuery-Mask-Plugin/blob/master/LICENSE">MIT License</a></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<div class="tab-pane fade in" id="privacy">
|
|
||||||
<p>
|
|
||||||
I take privacy very seriously. That said, I do need <i>some</i> info on how many people
|
|
||||||
visit.
|
|
||||||
As a compromise, this site uses <a href="https://simpleanalytics.com">Simple
|
|
||||||
Analytics</a>, a
|
|
||||||
privacy-friendly (as much as possible) web analytics library.
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
You may view all analytics gathered at <a
|
|
||||||
href="https://simpleanalytics.com/millironx.com">simpleanalytics.com/millironx.com</a>.
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
If you do not wish to participate in my site's analytics, there are two ways to opt-out.
|
|
||||||
</p>
|
|
||||||
<h6>Do Not Track Request</h6>
|
|
||||||
<p>
|
|
||||||
This site is programmed to disable all analytics if a Do Not Track request is sent from
|
|
||||||
the browser.
|
|
||||||
For more information on how to setup Do Not Track requests, please visit
|
|
||||||
<a href="https://allaboutdnt.com/">allaboutdnt.com</a>.
|
|
||||||
</p>
|
|
||||||
<h6>Use an Ad-Blocking Extension</h6>
|
|
||||||
<p>
|
|
||||||
You may also install a content-blocking extension into your browser and block the domain
|
|
||||||
<code>simpleanalyticscdn.com</code>. I recommend either
|
|
||||||
<a href="https://github.com/gorhill/uBlock">uBlock Origin</a> (instructions <a
|
|
||||||
href="https://github.com/gorhill/uBlock/wiki/Dashboard:-My-filters">here</a>)
|
|
||||||
or <a href="https://noscript.net">NoScript</a> for this purpose.
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="container" id="top-container">
|
|
||||||
<header class="hidden-xs text-center">
|
|
||||||
<h1 class="font-serif font-small-caps"><object data="/img/MillironX-title.svg"><img
|
|
||||||
src="/img/MillironX-title.svg" alt="Milliron X" /></object> Milliron X</h1>
|
|
||||||
</header>
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-sm-3">
|
|
||||||
<div class="sidebar-nav">
|
|
||||||
<nav class="navbar navbar-inverse" role="navigation" id="nav-link-container">
|
|
||||||
<div class="container">
|
|
||||||
<div class="navbar-header">
|
|
||||||
<button type="button" class="navbar-toggle" data-toggle="collapse"
|
|
||||||
data-target=".sidebar-navbar-collapse">
|
|
||||||
<span class="sr-only">Toggle Navigation</span>
|
|
||||||
<span class="icon-bar"></span>
|
|
||||||
<span class="icon-bar"></span>
|
|
||||||
<span class="icon-bar"></span>
|
|
||||||
</button>
|
|
||||||
<div class="visible-xs navbar-brand">
|
|
||||||
<object style="filter: invert(100%)" data="/img/MillironX-title.svg"><img
|
|
||||||
src="/img/MillironX-title.svg" alt="Milliron X" /></object>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="navbar-collapse collapse sidebar-navbar-collapse">
|
|
||||||
<ul class="nav navbar-nav" id="nav-link-list">
|
|
||||||
<li class="nav-item"><a href="index" class="nav-link">Home</a></li>
|
|
||||||
<li class="nav-item"><a href="Contact" class="nav-link">Contact</a></li>
|
|
||||||
<li class="nav-item"><a href="Academia" class="nav-link">Academia</a></li>
|
|
||||||
<li class="nav-item"><a href="AI">Artificial Insemination</a></li>
|
|
||||||
<li class="nav-item"><a href="Videos">Videos</a></li>
|
|
||||||
<li class="nav-item"><a href="Websites" class="nav-link">Websites</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</nav>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="col-sm-9">
|
|
||||||
<div class="tim-container">
|
|
||||||
<div class="blurred-container">
|
|
||||||
<div class="motto">
|
|
||||||
<h1 id="motto">
|
|
||||||
{{ page.motto }}
|
|
||||||
</h1>
|
|
||||||
</div>
|
|
||||||
<div class="img-src" style="background-image: url({{ page.imageUrl }})"></div>
|
|
||||||
<div class="img-src blur" style="background-image: url({{ page.blurImageUrl }})"></div>
|
|
||||||
</div>
|
|
||||||
<br />
|
|
||||||
<div class="main" id="main-content">
|
|
||||||
{{ content }}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<footer style="background-color: whitesmoke;">
|
|
||||||
<div class="container" style="position: relative;">
|
|
||||||
<img src="/img/brandedbull.png" alt="Branded bull" style="max-height: 72pt;" />
|
|
||||||
<button type="button" class="btn btn-success vertical-center" data-toggle="modal" data-target="#legal-modal"
|
|
||||||
style="position: absolute; right: 0">
|
|
||||||
<i class="fas fa-hat-cowboy-side"></i> Page info &<br />other legal stuff…
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
<!-- Script Bundle: JQuery -->
|
|
||||||
<script src="https://code.jquery.com/jquery-3.4.1.min.js" type="text/javascript"></script>
|
|
||||||
|
|
||||||
<!-- Script Bundle: FitText -->
|
|
||||||
<script src="/js/jquery.fittext.js" type="text/javascript"></script>
|
|
||||||
|
|
||||||
<!-- Script Bundle: Bootstrap -->
|
|
||||||
<script src="https://stackpath.bootstrapcdn.com/bootstrap/3.0.2/js/bootstrap.min.js"
|
|
||||||
integrity="sha384-DKoN2gpE9Yt/u0fuNvcJBn4n7wjnKFKjg4+Iz4ORs52lUc0Qp++smhHtWwHeapVW" crossorigin="anonymous"
|
|
||||||
type="text/javascript"></script>
|
|
||||||
|
|
||||||
<!-- Script Bundle: Font Awesome -->
|
|
||||||
<script src="https://kit.fontawesome.com/0bbd6c0ef3.js" crossorigin="anonymous"></script>
|
|
||||||
|
|
||||||
<!-- Script Bundle: Custom -->
|
|
||||||
<script src="/js/MillironX_CustomScripts.js" type="text/javascript"></script>
|
|
||||||
|
|
||||||
<!-- Simple Analytics -->
|
|
||||||
<script type='text/javascript'>
|
|
||||||
// Enables app insights IF AND ONLY IF user does not send a DNT request
|
|
||||||
// Shamelessly stolen from https://dev.to/spekulatius1984/how-to-check-do-not-track-dnt-in-javascript-57g1
|
|
||||||
let dntActive = () => {
|
|
||||||
// get the value from the various browser implementations.
|
|
||||||
let dnt_active = parseInt(
|
|
||||||
// Internet Explorer 9 and 10 vendor prefix
|
|
||||||
navigator.msDoNotTrack ||
|
|
||||||
|
|
||||||
// IE 11 uses window.doNotTrack
|
|
||||||
window.doNotTrack ||
|
|
||||||
|
|
||||||
// W3C
|
|
||||||
navigator.doNotTrack,
|
|
||||||
10
|
|
||||||
);
|
|
||||||
|
|
||||||
// If this comes to exactly 1 DNT is set.
|
|
||||||
return (dnt_active === 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Check if DNT is active.
|
|
||||||
if (dntActive()) {
|
|
||||||
// active
|
|
||||||
console.log("Simple Analytics has been disabled due to user's Do Not Track request")
|
|
||||||
} else {
|
|
||||||
// inactive
|
|
||||||
console.log("Simple Analytics is active")
|
|
||||||
document.write("<script async defer src=\"https://scripts.simpleanalyticscdn.com/latest.js\"><\/script>")
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
{% if page.title == 'Contact Me' %}
|
|
||||||
<!-- Script Bundle: JQuery Masks -->
|
|
||||||
<script src="https://cdn.jsdelivr.net/npm/jquery-mask-plugin@1.14.16/dist/jquery.mask.min.js" integrity="sha256-Kg2zTcFO9LXOc7IwcBx1YeUBJmekycsnTsq2RuFHSZU=" crossorigin="anonymous"></script>
|
|
||||||
|
|
||||||
<!-- Script Bundle: Pageclip -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
$('#phone').mask('(000) 000-0000')
|
|
||||||
</script>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
20
archetypes/academia.md
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
---
|
||||||
|
title: "{{ replace .Name "-" " " | title }}"
|
||||||
|
date: {{ .Date }}
|
||||||
|
cardImage: library
|
||||||
|
draft: true
|
||||||
|
featured: false
|
||||||
|
keywords:
|
||||||
|
- smart
|
||||||
|
- profound
|
||||||
|
type: "Journal Article"
|
||||||
|
authors:
|
||||||
|
- Christensen, Thomas Allen, II
|
||||||
|
link: 'https://dx.doi.org/...'
|
||||||
|
journal: "Journal of Hard Knocks"
|
||||||
|
location: "Life"
|
||||||
|
awards:
|
||||||
|
- 'Everything is Awesome 2020'
|
||||||
|
---
|
||||||
|
|
||||||
|
Abstract goes here
|
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 4.5 KiB |
Before Width: | Height: | Size: 256 KiB After Width: | Height: | Size: 256 KiB |
Before Width: | Height: | Size: 458 KiB After Width: | Height: | Size: 458 KiB |
Before Width: | Height: | Size: 158 KiB After Width: | Height: | Size: 158 KiB |
Before Width: | Height: | Size: 365 KiB After Width: | Height: | Size: 365 KiB |
Before Width: | Height: | Size: 343 KiB After Width: | Height: | Size: 343 KiB |
Before Width: | Height: | Size: 101 KiB After Width: | Height: | Size: 101 KiB |
Before Width: | Height: | Size: 199 KiB After Width: | Height: | Size: 199 KiB |
Before Width: | Height: | Size: 379 KiB After Width: | Height: | Size: 379 KiB |
Before Width: | Height: | Size: 584 KiB After Width: | Height: | Size: 584 KiB |
38
assets/package-lock.json
generated
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
{
|
||||||
|
"name": "millironx.github.io",
|
||||||
|
"version": "0.0.0",
|
||||||
|
"lockfileVersion": 1,
|
||||||
|
"requires": true,
|
||||||
|
"dependencies": {
|
||||||
|
"@fortawesome/fontawesome-pro": {
|
||||||
|
"version": "5.15.4",
|
||||||
|
"resolved": "https://npm.fontawesome.com/@fortawesome/fontawesome-pro/-/5.15.4/fontawesome-pro-5.15.4.tgz",
|
||||||
|
"integrity": "sha512-ApOqpDdKgA79xfLZH3B5PucZxj+TZyQUSrZ4bKkbJCR+zjmveQ4/gp/uXc5bNNhsdtJUy16BYJ/lAVydca2Y5Q=="
|
||||||
|
},
|
||||||
|
"@popperjs/core": {
|
||||||
|
"version": "2.11.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.2.tgz",
|
||||||
|
"integrity": "sha512-92FRmppjjqz29VMJ2dn+xdyXZBrMlE42AV6Kq6BwjWV7CNUW1hs2FtxSNLQE+gJhaZ6AAmYuO9y8dshhcBl7vA=="
|
||||||
|
},
|
||||||
|
"bootstrap": {
|
||||||
|
"version": "5.1.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.1.3.tgz",
|
||||||
|
"integrity": "sha512-fcQztozJ8jToQWXxVuEyXWW+dSo8AiXWKwiSSrKWsRB/Qt+Ewwza+JWoLKiTuQLaEPhdNAJ7+Dosc9DOIqNy7Q=="
|
||||||
|
},
|
||||||
|
"fittext.js": {
|
||||||
|
"version": "1.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/fittext.js/-/fittext.js-1.2.0.tgz",
|
||||||
|
"integrity": "sha1-51PVJjI5I30o8wFeipaUVpu0PLY="
|
||||||
|
},
|
||||||
|
"jquery": {
|
||||||
|
"version": "3.6.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.0.tgz",
|
||||||
|
"integrity": "sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw=="
|
||||||
|
},
|
||||||
|
"jquery-mask-plugin": {
|
||||||
|
"version": "1.14.16",
|
||||||
|
"resolved": "https://registry.npmjs.org/jquery-mask-plugin/-/jquery-mask-plugin-1.14.16.tgz",
|
||||||
|
"integrity": "sha512-reywdHlYEkPbzWjTpcc1fk9XQ3PLvO5dzEAVqy8zI7NTF22tB1HbeU3iboZTLdkBEPaWAqeI2HtEjsGQ4roZKw=="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
24
assets/package.json
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
{
|
||||||
|
"name": "millironx.github.io",
|
||||||
|
"version": "0.0.0",
|
||||||
|
"description": "My personal website",
|
||||||
|
"devDependencies": {},
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "git+https://github.com/MillironX/millironx.github.io.git"
|
||||||
|
},
|
||||||
|
"author": "Thomas A. Christensen II",
|
||||||
|
"license": "MIT",
|
||||||
|
"bugs": {
|
||||||
|
"url": "https://github.com/MillironX/millironx.github.io/issues"
|
||||||
|
},
|
||||||
|
"homepage": "https://github.com/MillironX/millironx.github.io#readme",
|
||||||
|
"dependencies": {
|
||||||
|
"@fortawesome/fontawesome-pro": "^5.15.4",
|
||||||
|
"@popperjs/core": "^2.11.2",
|
||||||
|
"bootstrap": "^5.1.3",
|
||||||
|
"fittext.js": "^1.2.0",
|
||||||
|
"jquery": "^3.6.0",
|
||||||
|
"jquery-mask-plugin": "^1.14.16"
|
||||||
|
}
|
||||||
|
}
|
1
assets/scripts/phone-masking.js
Normal file
|
@ -0,0 +1 @@
|
||||||
|
$("#phone").mask("(000) 000-0000");
|
5
assets/scripts/scroll-effect.js
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
$(window).scroll(function (e) {
|
||||||
|
oVal = $(window).scrollTop() / 170;
|
||||||
|
$(".blur").css("opacity", oVal);
|
||||||
|
});
|
||||||
|
$("#motto").fitText();
|
6
assets/scripts/tooltip-enable.js
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
var tooltipTriggerList = [].slice.call(
|
||||||
|
document.querySelectorAll('[data-bs-toggle="tooltip"]')
|
||||||
|
);
|
||||||
|
var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
|
||||||
|
return new bootstrap.Tooltip(tooltipTriggerEl);
|
||||||
|
});
|
115
assets/styles/main.css
Normal file
|
@ -0,0 +1,115 @@
|
||||||
|
.blurred-container {
|
||||||
|
position: relative;
|
||||||
|
width: 100%;
|
||||||
|
min-height: 35vh;
|
||||||
|
height: 350px;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.blurred-container .motto {
|
||||||
|
color: #fff;
|
||||||
|
font-size: 76px;
|
||||||
|
font-weight: 600;
|
||||||
|
text-align: center;
|
||||||
|
text-shadow: 0 0 10px rgba(0, 0, 0, 0.33);
|
||||||
|
text-transform: uppercase;
|
||||||
|
top: 7.5vh;
|
||||||
|
z-index: 3;
|
||||||
|
display: block;
|
||||||
|
margin: 0 auto;
|
||||||
|
position: relative;
|
||||||
|
width: 60%;
|
||||||
|
height: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.motto h1 {
|
||||||
|
background: #0000007d;
|
||||||
|
}
|
||||||
|
|
||||||
|
.blurred-container .img-src {
|
||||||
|
position: fixed;
|
||||||
|
width: 100%;
|
||||||
|
min-height: 35vh;
|
||||||
|
height: 350px;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-size: cover;
|
||||||
|
background-position: center center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.blur {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
main {
|
||||||
|
position: relative;
|
||||||
|
background-color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Gives me greater control over fonts */
|
||||||
|
.font-serif {
|
||||||
|
font-family: Georgia, "Times New Roman", Times, serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
.font-sans {
|
||||||
|
font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
.font-mono {
|
||||||
|
font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
|
||||||
|
}
|
||||||
|
|
||||||
|
.font-small-caps {
|
||||||
|
font-variant-caps: small-caps;
|
||||||
|
}
|
||||||
|
|
||||||
|
.strikethrough {
|
||||||
|
text-decoration: line-through;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sfTable {
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-align-left {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-align-right {
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
.float-left {
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.float-right {
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
.media-object {
|
||||||
|
max-height: 100%;
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (min-width: 768px) {
|
||||||
|
.pull-left {
|
||||||
|
max-width: 25%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
h1 small {
|
||||||
|
font-size: 60%;
|
||||||
|
color: #9a9a9a;
|
||||||
|
font-weight: 300;
|
||||||
|
line-height: 1.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
font-weight: 400;
|
||||||
|
margin: 30px 0 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dogear {
|
||||||
|
clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 25%, 75% 0);
|
||||||
|
}
|
12
config.toml
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
baseURL = "https://millironx.com"
|
||||||
|
languageCode = "en-us"
|
||||||
|
title = "MillironX"
|
||||||
|
paginate = 5
|
||||||
|
theme = "ananke"
|
||||||
|
|
||||||
|
[build]
|
||||||
|
writeStats = true
|
||||||
|
|
||||||
|
[Params]
|
||||||
|
cardImage = "saddles"
|
||||||
|
motto = ""
|
35
content/_index.md
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
---
|
||||||
|
title: Home
|
||||||
|
cardImage: charolette
|
||||||
|
motto: <small>My name is Thomas Christensen</small><br />I am Milliron X
|
||||||
|
description: The homepage of Thomas A. Christensen II
|
||||||
|
---
|
||||||
|
|
||||||
|
## Milliron X - The homepage of Thomas A. Christensen II
|
||||||
|
|
||||||
|
I am an engineer by training, a rancher by upbringing, a techie by experience,
|
||||||
|
and a filmmaker at heart. I've got a soft spot for Brown Swiss dairy cows (just
|
||||||
|
in case you couldn't tell by the background image), and am sometimes called "one
|
||||||
|
of those crazy, Wyoming dairy cow people." I love anything to do with cattle or
|
||||||
|
technology, but especially anything to do with both of them.
|
||||||
|
|
||||||
|
_Christian, American, Conservative, Pro-gun, Heterosexual - any questions?_
|
||||||
|
|
||||||
|
### What is a "Milliron X"?
|
||||||
|
|
||||||
|
#### It's a [cattle brand], of course! My cattle brand!
|
||||||
|
|
||||||
|
The **milliron** is the bar with a bend in the middle. It does not represent
|
||||||
|
anything physical or textual _per se_, and is therefore a rather unique element
|
||||||
|
in cattle brands. Millirons are difficult to modify into another brand, and
|
||||||
|
provide a guarantee of authentic ownership.
|
||||||
|
|
||||||
|
**X** is the letter of mystery and mystique. For nerds, it's the unknown in any
|
||||||
|
algebra problem. Ranchers and cowboys will associate it with big names like the
|
||||||
|
"Bar X" and the "Double X." In either case, it lends itself to a sense of
|
||||||
|
withholding, prestige, and power.
|
||||||
|
|
||||||
|
Together, these two symbols represent the qualities I strive for in each of my
|
||||||
|
works: authenticity, originality, power, depth, and prestige.
|
||||||
|
|
||||||
|
[cattle brand]: https://en.wikipedia.org/wiki/Livestock_branding
|
7
content/academia/_index.md
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
---
|
||||||
|
title: Academic Publications and Presentations
|
||||||
|
motto: Academic Publications and Presentations
|
||||||
|
cardImage: library
|
||||||
|
---
|
||||||
|
|
||||||
|
### Academic Papers
|
28
content/academia/cheme-car.md
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
---
|
||||||
|
title: "The ChemE Car that Cud: AIChE ChemE Car Engineering Design Proposal"
|
||||||
|
date: 2019-05-14
|
||||||
|
cardImage: cannulated-cows
|
||||||
|
draft: false
|
||||||
|
featured: true
|
||||||
|
keywords:
|
||||||
|
- chemical engineering
|
||||||
|
- AIChE
|
||||||
|
- radiation
|
||||||
|
- rumen
|
||||||
|
- microbial electrolysis cells
|
||||||
|
type: thesis
|
||||||
|
authors:
|
||||||
|
- Thomas A. Christensen II
|
||||||
|
link: "https://hdl.handle.net/20.500.11919/3817"
|
||||||
|
journal: "University of Wyoming Honors Program"
|
||||||
|
location: "Laramie, Wyoming"
|
||||||
|
---
|
||||||
|
|
||||||
|
The ChemE Car That Cud showcases Wyoming's dominant industries of agriculture
|
||||||
|
and mining by utilizing rumen fluid from a cannulated beef cow to generate
|
||||||
|
hydrogen to be used in a hydrogen fuel cell and radioactive cesium, a byproduct
|
||||||
|
of uranium that is often obtained from Wyoming's mines, to time the car's stop.
|
||||||
|
The concentration of cesium-137 source is measured using the radioactive decay
|
||||||
|
of cesium shielded by aluminum. The painted aluminum chassis was obtained from a
|
||||||
|
previous team at UW, and modified using plastic k'nex toys to adapt to the
|
||||||
|
current power source and stopping mechanism.
|
14
content/academia/how-to-build-a-cow-cud-fuel-cell.md
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
title: "How to Build a Cow-Cud Fuel Cell"
|
||||||
|
date: 2018-08-01
|
||||||
|
cardImage: library
|
||||||
|
draft: false
|
||||||
|
featured: false
|
||||||
|
type: presentation
|
||||||
|
authors:
|
||||||
|
- Thomas A. Christensen II
|
||||||
|
journal: "Idaho INBRE Summer Research Conference"
|
||||||
|
location: "Moscow, Idaho"
|
||||||
|
awards:
|
||||||
|
- "3rd Place Fast-Pitch Science Presentation Contest"
|
||||||
|
---
|
56
content/academia/metagenomics/index.md
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
---
|
||||||
|
title: "Metagenomic analysis of rumen populations in week-old calves as altered by maternal late gestational nutrition and mode of delivery"
|
||||||
|
date: 2019-06-12
|
||||||
|
cardImage: cannulated-cows
|
||||||
|
draft: false
|
||||||
|
featured: true
|
||||||
|
keywords:
|
||||||
|
- gestation
|
||||||
|
- metagenomics
|
||||||
|
- microbiome
|
||||||
|
- rumen
|
||||||
|
type: poster
|
||||||
|
authors:
|
||||||
|
- Thomas A. Christensen II
|
||||||
|
- Kathy J. Austin
|
||||||
|
- Kristi M. Cammack
|
||||||
|
- Hannah C. Cunningham-Hollinger
|
||||||
|
link: "/academia/metagenomics/metagenomics_analysis_of_rumen_populations.pdf"
|
||||||
|
journal: "Westion Section American Society of Animal Science Annual Meeting"
|
||||||
|
location: "Boise, Idaho"
|
||||||
|
awards:
|
||||||
|
- "1st Place Undergraduate Poster Competition"
|
||||||
|
---
|
||||||
|
|
||||||
|
Early colonization of the rumen microbiome is critical to host health and long
|
||||||
|
term performance. Factors that influence early colonization include maternal
|
||||||
|
factors such as gestational nutrition and mode of delivery. Therefore, we
|
||||||
|
hypothesized that late gestational nutrition and mode of delivery would
|
||||||
|
influence the calf rumen microbiome. Our objectives were to determine if
|
||||||
|
nutrient restriction during late gestation alters the calf rumen microbiome and
|
||||||
|
determine if ruminal microbiome composition differs in calves born vaginally
|
||||||
|
versus caesarean. Late gestating Angus cows were randomly allocated to one of
|
||||||
|
three treatment groups: control (**CON**; n = 6), caesarean section (**CS**; n =
|
||||||
|
4), and nutrient restricted (**NR**; n = 5), where CON were fed DDGS and hay to
|
||||||
|
meet NRC requirements and calved naturally; CS were fed similarly to CON and
|
||||||
|
calves were born via caesarean section; and NR were fed at a level to reduce BCS
|
||||||
|
by 1.5-2.0 points over the last trimester compared to CON and calved naturally.
|
||||||
|
Rumen fluid was collected via oral lavage prior to partition from cows and at d
|
||||||
|
7 from calves. Microbial DNA was isolated from the rumen fluid and metagenomic
|
||||||
|
shotgun sequencing was performed using the Illumina HiSeq 2500 platform.
|
||||||
|
Sequence data were analyzed using Metaxa2 for taxonomic assignment followed by
|
||||||
|
QIIME1 and QIIME2 to determine differential abundance and alpha- and
|
||||||
|
beta-diversity differences. There were no significant differences in
|
||||||
|
alpha-diversity as measured by shannon index across treatment groups for cows
|
||||||
|
(_P_ = 0.239), but there were significant differences for calves (_P_ = 0.015).
|
||||||
|
Similarly, there were no significant differences in beta-diversity as measured
|
||||||
|
by the bray-curtis dissimilarity matrix for cows (_P_ = 0.059), but there were
|
||||||
|
significant differences for calves (_P_ = 0.007). Alpha-diversity differed (_P_
|
||||||
|
< 0.001) between cows and calves, with cows having increased species richness
|
||||||
|
compared to calves. Beta-diversity also differed (_P_ = 0.001) between cows and
|
||||||
|
calves. At total of 410 taxa were differentially abundant (_P_ < 0.01) between
|
||||||
|
cows and calves. These results suggest that the mature rumen microbiome of cows
|
||||||
|
is able to withstand changes in feed intake, however the calf microbiome is
|
||||||
|
susceptible to alteration by maternal factors. These data also suggest that
|
||||||
|
there may be opportunities to develop management strategies during late
|
||||||
|
gestation that influence calf health and performance long-term.
|
42
content/academia/pva-aiche/index.md
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
---
|
||||||
|
title: "Measuring Diffusion of Trichlorethylene Breakdown Products in Polyvinylalginate"
|
||||||
|
date: 2018-10-29
|
||||||
|
cardImage: library
|
||||||
|
draft: false
|
||||||
|
featured: false
|
||||||
|
keywords:
|
||||||
|
- bioremediation
|
||||||
|
- polyoxometalate
|
||||||
|
- hydrogel polymers
|
||||||
|
- proton transport
|
||||||
|
- chemical engineering
|
||||||
|
type: poster
|
||||||
|
authors:
|
||||||
|
- Thomas A. Christensen II
|
||||||
|
- Samuel R. Wolfe
|
||||||
|
- Jonathan Counts
|
||||||
|
- Mark F. Roll
|
||||||
|
- Kristopher V. Waynant
|
||||||
|
- James G. Moberly
|
||||||
|
journal: "AIChE Annual Meeting"
|
||||||
|
location: "Pittsburgh, Pennsylvania"
|
||||||
|
awards:
|
||||||
|
- "3rd Place Environmental III Division Undergraduate Poster Competition"
|
||||||
|
link: /academia/pva-aiche/measuring_diffusion_of_trichloroethylene.pdf
|
||||||
|
---
|
||||||
|
|
||||||
|
Trichloroethylene (TCE), a toxic and carcinogenic contaminant, presents unique
|
||||||
|
challenges for cleanup because of its water solubility, density, and volatility.
|
||||||
|
Bioremediation of TCE is a promising cleanup method; however, metabolism of TCE
|
||||||
|
results in acid generation that inhibits remediating microorganisms. Calcium
|
||||||
|
alginate(CA)-polyvinylalcohol (PVA) hydrogels show promise for protecting
|
||||||
|
remediating microbes, however diffusion of TCE or its byproducts through these
|
||||||
|
polymers is unknown. To measure the effective diffusion coefficient of TCE and
|
||||||
|
byproducts through hydrogel membranes, we used a modified diaphragm cell.
|
||||||
|
Measured effective diffusion coefficient of each species was (cm {{< sup 2 >}}/s
|
||||||
|
× 10{{< sup 6 >}}): 14.0 ± 1.91 for H{{< sup "+" >}} ions, 12.4 ± 1.64 for TCE,
|
||||||
|
7.83 ± 0.54 for cis-1,2-dichloroethylene (DCE), and 4.68 ± 4.14 for vinyl
|
||||||
|
chloride. These results aid in engineering biobeads and suggest that CA-PVA
|
||||||
|
hydrogel blends are effective in slowing diffusion of protons, buffering acids
|
||||||
|
produced by trichloroethylene metabolism, and remains suitable for encapsulation
|
||||||
|
of microorganisms involved in bioremediation.
|
32
content/academia/pva-inbre.md
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
---
|
||||||
|
title: "Measuring diffusion of protons in polyvinyalginate"
|
||||||
|
date: 2018-07-31
|
||||||
|
cardImage: library
|
||||||
|
draft: false
|
||||||
|
featured: false
|
||||||
|
type: poster
|
||||||
|
authors:
|
||||||
|
- Thomas A. Christensen II
|
||||||
|
- Jonathan Counts
|
||||||
|
- James G. Moberly
|
||||||
|
journal: "Idaho INBRE Summer Research Conference"
|
||||||
|
location: "Moscow, Idaho"
|
||||||
|
---
|
||||||
|
|
||||||
|
Trichloroethylene (TCE) is a toxic and carcinogenic contaminant that presents
|
||||||
|
unique challenges for cleanup because of its density and volatility. Use of
|
||||||
|
microorganisms may be a promising remediation method, however metabolism of TCE
|
||||||
|
results in acid buildup, which consequently impedes the ability of
|
||||||
|
microorganisms to perform this remediation. Polyvinylalginate (PVA) shows
|
||||||
|
promise as a useful shield for microorganisms carrying out bioremediation of TCE
|
||||||
|
by surrounding them in a protective biofilm-like layer, however, key information
|
||||||
|
is missing which relates diffusion of TCE or its metabolic products through PVA.
|
||||||
|
To measure the effective diffusion coefficient of H{{< sup "+" >}} ions through a PVA membrane
|
||||||
|
cross-linked with boric acid and calcium ions, we used a modified diaphragm
|
||||||
|
cell. We found the effective diffusion coefficient to be 1.40 × 10{{< sup -5 >}}
|
||||||
|
± 1.91 × 10{{<sup -6 >}} cm{{< sup 2 >}}s, a nearly seven-fold decrease in
|
||||||
|
diffusivity compared to protons in water, with an unexpected significant but as
|
||||||
|
of yet unquantified adsorption capacity. These results suggest that
|
||||||
|
polyvinylalginate is effective in slowing diffusion of protons and buffering
|
||||||
|
these acids produced by trichloroethylene metabolism, and remains suitable for
|
||||||
|
encapsulation of microorganisms involved in bioremediation.
|
41
content/academia/thesis.md
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
---
|
||||||
|
title: "Polyoxometalate Incorporation and Effects on Proton Transport in Hydrogel Polymers"
|
||||||
|
date: 2020-08-07
|
||||||
|
cardImage: library
|
||||||
|
draft: false
|
||||||
|
featured: true
|
||||||
|
keywords:
|
||||||
|
- bioremediation
|
||||||
|
- polyoxometalate
|
||||||
|
- hydrogel polymers
|
||||||
|
- proton transport
|
||||||
|
- chemical engineering
|
||||||
|
type: thesis
|
||||||
|
authors:
|
||||||
|
- Thomas A. Christensen II
|
||||||
|
link: "https://www.proquest.com/dissertations-theses/polyoxometalate-incorporation-effects-on-proton/docview/2502214356/se-2"
|
||||||
|
journal: "University of Idaho"
|
||||||
|
location: "Moscow, Idaho"
|
||||||
|
---
|
||||||
|
|
||||||
|
Polyoxometalate clusters embedded into hydrogel biobeads may be able to solve
|
||||||
|
the challenges posed by free proton generation during remediation of
|
||||||
|
trichloroethylene by acting as buffers and reducing protons to hydrogen gas. In
|
||||||
|
this thesis, the challenges posed by systems that contain both diffusion and
|
||||||
|
reaction processes for protons are considered mathematically, and a computer
|
||||||
|
simulation to was developed to prove the relationship between diaphragm cell lag
|
||||||
|
period and reactive capabilities of membranes. Two polyoxometalate compounds,
|
||||||
|
sodium decavanadate and alumina sulfate, were successfully incorporated into a
|
||||||
|
poly(vinyl alcohol) hydrogel membrane, and the diffusivity changes associated
|
||||||
|
with each compound was determined. It was found that the diffusivity of protons
|
||||||
|
through an unmodified 10% w/v poly(vinyl alcohol) membrane was 1.76 ×
|
||||||
|
10{{< sup -5 >}} cm{{< sup 2 >}} s{{< sup -1 >}}, the diffusivity through a
|
||||||
|
10%/2% w/w/v poly(vinyl alcohol)/sodium decavanadate membrane was 3.10 ×
|
||||||
|
10{{< sup -6 >}} cm{{< sup 2 >}} s{{< sup -1 >}}, and the diffusivity through
|
||||||
|
a 10%/2% w/w/v poly(vinyl alcohol)/alumina sulfate membrane was 3.32 ×
|
||||||
|
10{{< sup -7 >}} cm{{< sup 2 >}} s{{< sup -1 >}}. Through analysis of the
|
||||||
|
diaphragm cell lag period, it was found the incorporation of sodium
|
||||||
|
decavanadate did not increase the reactivity of a poly(vinyl alcohol)
|
||||||
|
hydrogel, and incorporation of alumina sulfate lowered the reactivity. These
|
||||||
|
results indicate that polyoxometalate integration into hydrogel membranes is
|
||||||
|
feasible, but does not provide any advantage to a bioremediation scenario.
|
12
content/ai/_index.md
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
---
|
||||||
|
title: Artificial Insemination
|
||||||
|
cardImage: Ai-calf
|
||||||
|
motto: Artificial Insemination
|
||||||
|
---
|
||||||
|
|
||||||
|
I am licensed in the Great State of Wyoming as a food animal artificial
|
||||||
|
insemination technician, which means I can legally AI cows, goats, and sheep.
|
||||||
|
Practically speaking, I have only ever AIed cows, but my conception rates are
|
||||||
|
very good for both beef and dairy cows. When (if?) I standardize my rates, I
|
||||||
|
will include them here. Until then, you will have to [contact me](/contact)
|
||||||
|
directly and we can negotiate prices then.
|
88
content/contact/_index.html
Normal file
|
@ -0,0 +1,88 @@
|
||||||
|
---
|
||||||
|
title: Contact Me
|
||||||
|
cardImage: venice-mailbox
|
||||||
|
motto: Contact Me
|
||||||
|
---
|
||||||
|
|
||||||
|
<form
|
||||||
|
class="form-horizontal"
|
||||||
|
action="https://usebasin.com/f/787df7bfd22e"
|
||||||
|
method="post"
|
||||||
|
>
|
||||||
|
<fieldset>
|
||||||
|
<legend>Contact Me</legend>
|
||||||
|
<input type="hidden" name="_gotcha" />
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="name" class="col-lg-2 control-label">Name</label>
|
||||||
|
<div class="col-lg-10">
|
||||||
|
<input
|
||||||
|
type="text"
|
||||||
|
class="form-control"
|
||||||
|
id="name"
|
||||||
|
name="name"
|
||||||
|
placeholder="Jay Lush"
|
||||||
|
required
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="email" class="col-lg-2 control-label">Email</label>
|
||||||
|
<div class="col-lg-10">
|
||||||
|
<input
|
||||||
|
type="email"
|
||||||
|
class="form-control"
|
||||||
|
id="email"
|
||||||
|
name="email"
|
||||||
|
placeholder="jlush@iastate.edu"
|
||||||
|
required
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="phone" class="col-lg-2 control-label">Phone number</label>
|
||||||
|
<div class="col-lg-10">
|
||||||
|
<input
|
||||||
|
type="tel"
|
||||||
|
class="form-control"
|
||||||
|
id="phone"
|
||||||
|
name="phone"
|
||||||
|
placeholder="(515) 294-2160"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="subject" class="col-lg-2 control-label">Subject</label>
|
||||||
|
<div class="col-lg-10">
|
||||||
|
<input
|
||||||
|
type="text"
|
||||||
|
class="form-control"
|
||||||
|
id="subject"
|
||||||
|
name="subject"
|
||||||
|
placeholder="Beef genetics"
|
||||||
|
required
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="message" class="col-lg-2 control-label">Message</label>
|
||||||
|
<div class="col-lg-10">
|
||||||
|
<textarea
|
||||||
|
rows="5"
|
||||||
|
class="form-control font-sans"
|
||||||
|
id="message"
|
||||||
|
name="body"
|
||||||
|
required
|
||||||
|
style="min-height: 72pt;"
|
||||||
|
></textarea>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<div class="col-lg-10 col-lg-offset-2">
|
||||||
|
<button type="reset" class="btn btn-default">Cancel</button>
|
||||||
|
<button type="submit" class="btn btn-primary pageclip-form__submit">
|
||||||
|
<span>Submit</span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</fieldset>
|
||||||
|
</form>
|
7
content/posts/new-site.md
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
---
|
||||||
|
title: "New Site"
|
||||||
|
date: 2022-01-13T19:09:50-06:00
|
||||||
|
draft: true
|
||||||
|
---
|
||||||
|
|
||||||
|
I have a new website! Narf!
|
16
content/videos/_index.md
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
---
|
||||||
|
title: Videos
|
||||||
|
cardImage: camera
|
||||||
|
motto: Videography Portfolio
|
||||||
|
---
|
||||||
|
|
||||||
|
> ### The culmination of all art forms is that of film.
|
||||||
|
|
||||||
|
A good film must have the plot and language of a good novel, characters as bold
|
||||||
|
and stunning as sculpture, a rhythm as driving and delicate as poetry, frame
|
||||||
|
compositions more stellar that those of photography, and music that speaks to
|
||||||
|
the souls of both the characters on screen and the viewers off.
|
||||||
|
|
||||||
|
But I digress. Most of my forays into the world of film are immortalized on [my
|
||||||
|
Vimeo account](https://vimeo.com/tchristensenii), but I decided to share a few
|
||||||
|
highlights here. Enjoy!
|
12
content/videos/ag-olympics-reel.md
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
---
|
||||||
|
title: "Farm Bureau Ag Olympics Reel"
|
||||||
|
date: 2017-02-16
|
||||||
|
storage: yt
|
||||||
|
storageId: jhLJp3OFsYM
|
||||||
|
thumbnail: https://i.ytimg.com/vi_webp/jhLJp3OFsYM/maxresdefault.webp
|
||||||
|
---
|
||||||
|
|
||||||
|
The Albany County Farm Bureau Young Farmer's and Rancher's committee asked me to
|
||||||
|
come and shoot a highlight reel of the Ag Olympics booth they ran at the Wyoming
|
||||||
|
Football Wyoming Needs Agriculture Day. I gave away all rights to this one
|
||||||
|
except for bragging rights.
|
11
content/videos/if-you-come-out-to-the-fair.md
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
---
|
||||||
|
title: If You Come Out to the Fair
|
||||||
|
date: 2016-10-13
|
||||||
|
storage: vimeo
|
||||||
|
storageId: 191326975
|
||||||
|
thumbnail: https://i.vimeocdn.com/video/604398739-ad61494f60c56836508e11001b39ad5228c2cc41c2b7ab1ca6f1bc8255a173e2-d?mw=1200&mh=675&q=70
|
||||||
|
---
|
||||||
|
|
||||||
|
My extension agent asked me to make a promotional video for our county fair.
|
||||||
|
This is the only film of mine that has drawn an emotional response. I think I
|
||||||
|
retired after this.
|
12
content/videos/in-the-hayfields.md
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
---
|
||||||
|
title: In The Hayfields
|
||||||
|
date: 2015-10-05
|
||||||
|
storage: vimeo
|
||||||
|
storageId: 144811104
|
||||||
|
thumbnail: https://i.vimeocdn.com/video/542754357-e316fb6ef98be3ed442c582ff2982f9a00c79c854c3afd2a07ed17f985bde60d-d?mw=1200&mh=675&q=70
|
||||||
|
---
|
||||||
|
|
||||||
|
I always get the comment that our implements are _old_ whenever I show this
|
||||||
|
video off. I just ignore the naysayers, though, and good thing, too, because a
|
||||||
|
version of this video won a [GoPro Award](https://gopro.com/awards). Still
|
||||||
|
waiting to see my footage on their channel, though.
|
14
content/videos/non-verum.md
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
title: "Non. Verum: The Mystery Killer"
|
||||||
|
date: 2015-06-12
|
||||||
|
storage: vimeo
|
||||||
|
storageId: 130557155
|
||||||
|
thumbnail: https://i.vimeocdn.com/video/522472352-4e0adaa9150464843aff5ffd20540b1cf98912536bcd847892a759fa82fe1725-d?mw=1200&mh=675&q=70
|
||||||
|
---
|
||||||
|
|
||||||
|
My first ~~documentary~~ mockumentary. This film won 2{{< sup nd >}} place at
|
||||||
|
the [2016 National 4-H Film Festival](http://4h.missouri.edu/filmfest4h/), and
|
||||||
|
I've been told that it's more polished than the pieces done by the local TV
|
||||||
|
stations. No one seems to think it's funny, though, so I'm not sure how
|
||||||
|
successful it was. Please do me a favor and google **every** term you don't
|
||||||
|
understand while watching it, and perhaps you'll fare better.
|
10
content/websites/_index.md
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
---
|
||||||
|
title: My Websites
|
||||||
|
cardImage: eclipse
|
||||||
|
motto: Websites
|
||||||
|
---
|
||||||
|
|
||||||
|
I do occasionally build websites for myself and other people. Here is a list of
|
||||||
|
websites I have contributed code to directly, in a vain attempt to gain each of
|
||||||
|
them some
|
||||||
|
[search engine cred](https://en.wikipedia.org/wiki/Search_engine_optimization).
|
11
content/websites/millironx/index.md
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
---
|
||||||
|
title: Milliron X
|
||||||
|
date: 2022-03-01
|
||||||
|
platform: Hugo
|
||||||
|
platformIcon: fab fa-golang
|
||||||
|
platformURL: https://gohugo.io/
|
||||||
|
deployURL: https://millironx.com
|
||||||
|
sourceURL: https://github.com/MillironX/millironx.github.io
|
||||||
|
---
|
||||||
|
|
||||||
|
Lo and behold: I made my own website!
|
BIN
content/websites/millironx/thumbnail.png
Normal file
After Width: | Height: | Size: 1.3 MiB |
14
content/websites/record-books/index.md
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
title: Albany County 4-H Record Books
|
||||||
|
date: 2019-08-10
|
||||||
|
platform: Plain ol' HTML5
|
||||||
|
platformIcon: fab fa-html5
|
||||||
|
platformURL: https://www.w3.org/html/
|
||||||
|
deployURL: http://wyoming4h.org/albany4h/record-book
|
||||||
|
sourceURL: https://github.com/MillironX/4h-record-books
|
||||||
|
---
|
||||||
|
|
||||||
|
I constructed this site to hold the record book helps of the rebellious Albany
|
||||||
|
County, Wyoming. Due to the bureaucratic lag that it takes to update, it got
|
||||||
|
updated just in time for Wyoming 4-H to ditch paper record books entirely. Oh,
|
||||||
|
well.
|
BIN
content/websites/record-books/thumbnail.png
Normal file
After Width: | Height: | Size: 420 KiB |
110
coronavirus.html
|
@ -1,110 +0,0 @@
|
||||||
---
|
|
||||||
title: The Problem with Coronavirus
|
|
||||||
motto: Thoughts on the Coronavirus
|
|
||||||
---
|
|
||||||
|
|
||||||
<p>
|
|
||||||
Under the pretense of saving people from the devistation of 2019 Novel Coronavirus (nCoV 2019),
|
|
||||||
Republicans have justified bribing voters with their own tax money,
|
|
||||||
and Democrats have praised the halt of all meaningful activity.
|
|
||||||
<b>This power grabbing and fearmongering must come to an end.</b>
|
|
||||||
Here are just a few points on how the actions taken in the name of the Coronavirus violate Christian principles.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<div class="panel panel-primary">
|
|
||||||
<div class="panel-heading">
|
|
||||||
<h3><i>God says</i> “Go ye”</h3>
|
|
||||||
</div>
|
|
||||||
<div class="panel-body">
|
|
||||||
<blockquote>
|
|
||||||
And he said unto them, Go ye into all the world, and preach the gospel to every creature.
|
|
||||||
<small>
|
|
||||||
Mark 16:15 (KJV)
|
|
||||||
</small>
|
|
||||||
</blockquote>
|
|
||||||
<h4 class="text-align-right">But <i>‘they’ say</i> “Stay home.”</h4>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="panel panel-primary">
|
|
||||||
<div class="panel-heading">
|
|
||||||
<h3><i>God says</i> “Assemble”</h3>
|
|
||||||
</div>
|
|
||||||
<div class="panel-body">
|
|
||||||
<blockquote>
|
|
||||||
Not forsaking the assembling of ourselves together, as the manner of some <i>is</i>;
|
|
||||||
but exhorting <i>one another</i>: and so much the more, as ye see the day approaching.
|
|
||||||
<small>
|
|
||||||
Hebrews 10:25 (KJV)
|
|
||||||
</small>
|
|
||||||
</blockquote>
|
|
||||||
<h4 class="text-align-right">But <i>‘they’ say</i> “No groups.”</h4>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="panel panel-primary">
|
|
||||||
<div class="panel-heading">
|
|
||||||
<h3><i>God says</i> “The fear of man bringeth a snare.”</h3>
|
|
||||||
</div>
|
|
||||||
<div class="panel-body">
|
|
||||||
<blockquote>
|
|
||||||
The fear of man bringeth a snare: but whoso putteth his trust in the LORD shall be safe.
|
|
||||||
<small>
|
|
||||||
Proverbs 29:25 (KJV)
|
|
||||||
</small>
|
|
||||||
</blockquote>
|
|
||||||
<h4 class="text-align-right">But <i>‘they’ say</i> “Wear a mask so you don't offend anyone.”</h4>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="panel panel-primary">
|
|
||||||
<div class="panel-heading">
|
|
||||||
<h3><i>God says</i> “Greet one another”</h3>
|
|
||||||
</div>
|
|
||||||
<div class="panel-body">
|
|
||||||
<blockquote>
|
|
||||||
Greet one another with an holy kiss.
|
|
||||||
<small>
|
|
||||||
II Corinthians 13:12 (KJV)
|
|
||||||
</small>
|
|
||||||
</blockquote>
|
|
||||||
<h4 class="text-align-right">But <i>‘they’ say</i> “No contact.”</h4>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="panel panel-primary">
|
|
||||||
<div class="panel-heading">
|
|
||||||
<h3><i>God says</i> “Visit the fatherless and widows”</h3>
|
|
||||||
</div>
|
|
||||||
<div class="panel-body">
|
|
||||||
<blockquote>
|
|
||||||
Pure religion and undefiled before God and the Father is this,
|
|
||||||
To visit the fatherless and widows in their affliction,
|
|
||||||
<i>and</i> to keep himself unspotted from the world.
|
|
||||||
<small>
|
|
||||||
James 1:27 (KJV)
|
|
||||||
</small>
|
|
||||||
</blockquote>
|
|
||||||
<h4 class="text-align-right">But <i>‘they’ say</i> “Isolate the vulnerable.”</h4>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
Who are ‘they?’ The CDC, the WHO, congress, legislatures, city councils, schoolteachers, pastors, your coworkers, your neighbors, that guy you met in the park.
|
|
||||||
Anyone who preaches “social distancing,” and demands compliance with the gods of “science falsely so called” (I Timothy 6:20, KJV).
|
|
||||||
It's time for born–again believers to ignore the bullies, scoffers, and regulators and reclaim the “liberty which we have in Christ Jesus” (Galatians 2:4, KJV),
|
|
||||||
and get out of their homes and work the works of God.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
Still not convinced? Listen to this pastor who's from California (of all places), who has way more skin in the game than I do.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<iframe async="" src="https://www.podcastone.com/episodewidget?episodeID=1ac42dba-4cc8-4e98-a4e6-1d4163e12188&logo=true" width="100%" height="70" frameborder="0" scrolling="no"></iframe>
|
|
||||||
|
|
||||||
<br />
|
|
||||||
<hr />
|
|
||||||
<p>
|
|
||||||
Oh, and by the way, if there are any web designers reading, please take down the big red banners proving just how much you care about the ‘Rona.
|
|
||||||
They're just plain annoying, and I've had to start writing custom uBlock filters to get rid of them.
|
|
||||||
</p>
|
|
|
@ -1,5 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
# The command I use to shrink the CSS is so long, I saved it here
|
|
||||||
purifycss ./css/bootstrap.css ./css/gsdk-main.css ./css/gsdk-demo.css ./css/millironx_customstyles.css \
|
|
||||||
./*.html ./_layouts/*.html ./js/jquery.fittext.js ./js/MillironX_CustomScripts.js \
|
|
||||||
--min --out ./css/bundle.css --whitelist collapsing
|
|
7098
css/bootstrap.css
vendored
|
@ -1,403 +0,0 @@
|
||||||
|
|
||||||
.tim-container{
|
|
||||||
background: #ffffff;
|
|
||||||
|
|
||||||
}
|
|
||||||
.tim-row{
|
|
||||||
margin-bottom: 20px;
|
|
||||||
}
|
|
||||||
.tim-title{
|
|
||||||
margin-top: 30px;
|
|
||||||
margin-bottom: 15px;
|
|
||||||
}
|
|
||||||
.tim-typo{
|
|
||||||
padding-left: 25%;
|
|
||||||
margin-bottom: 40px;
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
.tim-typo .tim-note{
|
|
||||||
bottom: 10px;
|
|
||||||
color: #c0c1c2;
|
|
||||||
display: block;
|
|
||||||
font-weight: 400;
|
|
||||||
font-size: 13px;
|
|
||||||
line-height: 13px;
|
|
||||||
left: 0;
|
|
||||||
margin-left: 20px;
|
|
||||||
position: absolute;
|
|
||||||
width: 260px;
|
|
||||||
}
|
|
||||||
.tim-row{
|
|
||||||
margin-top: 50px;
|
|
||||||
}
|
|
||||||
.tim-row h3{
|
|
||||||
margin-top: 0;
|
|
||||||
}
|
|
||||||
.switch{
|
|
||||||
margin-right: 20px;
|
|
||||||
}
|
|
||||||
#navbar-full .navbar{
|
|
||||||
border-radius: 0 !important;
|
|
||||||
margin-bottom: 0;
|
|
||||||
}
|
|
||||||
.navigation-example{
|
|
||||||
margin-top: 0px;
|
|
||||||
}
|
|
||||||
.space{
|
|
||||||
height: 130px;
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
.navigation-example .img-src{
|
|
||||||
background-attachment: scroll;
|
|
||||||
}
|
|
||||||
.main{
|
|
||||||
background-color: #FFFFFF;
|
|
||||||
}
|
|
||||||
.navigation-example{
|
|
||||||
height: 660px;
|
|
||||||
background-image: url('../img/bg.jpg');
|
|
||||||
background-position: center center;
|
|
||||||
background-size: cover;
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
#notifications{
|
|
||||||
background-color: #FFFFFF;
|
|
||||||
display: block;
|
|
||||||
width: 100%;
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
.tim-note{
|
|
||||||
text-transform: capitalize;
|
|
||||||
}
|
|
||||||
|
|
||||||
.card{
|
|
||||||
background-color: #FFFFFF;
|
|
||||||
padding: 10px 0 20px;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
.card h3{
|
|
||||||
margin-bottom: 20px;
|
|
||||||
}
|
|
||||||
.card button{
|
|
||||||
margin-top: 30px;
|
|
||||||
}
|
|
||||||
.subscribe-form{
|
|
||||||
padding-top: 20px;
|
|
||||||
}
|
|
||||||
.subscribe-form .form-control{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.space-100{
|
|
||||||
height: 100px;
|
|
||||||
display: block;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.be-social{
|
|
||||||
padding-bottom: 20px;
|
|
||||||
/* border-bottom: 1px solid #aaa; */
|
|
||||||
margin: 0 auto 40px;
|
|
||||||
}
|
|
||||||
.txt-white{
|
|
||||||
color: #FFFFFF;
|
|
||||||
}
|
|
||||||
.txt-gray{
|
|
||||||
color: #ddd !important;
|
|
||||||
}
|
|
||||||
.footer{
|
|
||||||
background-color: #DDDDDD;
|
|
||||||
background-image: url('../img/cover_4_blur.jpg');
|
|
||||||
background-attachment: fixed;
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
.heart{
|
|
||||||
color: #FF3B30;
|
|
||||||
}
|
|
||||||
.footer .overlayer{
|
|
||||||
background-color: rgba(27, 27, 27, 0.7);
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
.footer .credits {
|
|
||||||
margin-top: 25px;
|
|
||||||
padding: 20px 0 15px;
|
|
||||||
text-align: center;
|
|
||||||
color: #EEE;
|
|
||||||
}
|
|
||||||
.footer .credits a{
|
|
||||||
color: #FFFFFF;
|
|
||||||
}
|
|
||||||
.social-share{
|
|
||||||
float: left;
|
|
||||||
margin-right: 8px;
|
|
||||||
}
|
|
||||||
.social-share a{
|
|
||||||
color: #FFFFFF;
|
|
||||||
}
|
|
||||||
#subscribe_email{
|
|
||||||
border-radius: 0;
|
|
||||||
border-left: 0;
|
|
||||||
border-right: 0;
|
|
||||||
}
|
|
||||||
.pick-class-label{
|
|
||||||
border-radius: 8px;
|
|
||||||
color: #ffffff;
|
|
||||||
cursor: pointer;
|
|
||||||
display: inline;
|
|
||||||
font-size: 75%;
|
|
||||||
font-weight: bold;
|
|
||||||
line-height: 1;
|
|
||||||
margin-right: 10px;
|
|
||||||
padding: 15px 23px;
|
|
||||||
text-align: center;
|
|
||||||
vertical-align: baseline;
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
|
|
||||||
.parallax-pro{
|
|
||||||
width:100%;
|
|
||||||
display: block;
|
|
||||||
position: relative;
|
|
||||||
background-color: #000;
|
|
||||||
}
|
|
||||||
.parallax-pro > .img-src{
|
|
||||||
background-position: center center;
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
background-size: cover;
|
|
||||||
position: absolute;
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
z-index: 0;
|
|
||||||
|
|
||||||
}
|
|
||||||
.parallax-pro:after{
|
|
||||||
position: absolute;
|
|
||||||
left: 0;
|
|
||||||
top: 0;
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
background-color: rgba(0,0,0,.3);
|
|
||||||
display: block;
|
|
||||||
content: "";
|
|
||||||
z-index: 0;
|
|
||||||
}
|
|
||||||
.parallax-pro .container{
|
|
||||||
padding-top: 20px;
|
|
||||||
z-index: 1;
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
.parallax-pro .hello a{
|
|
||||||
color: #fff;
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
.parallax-pro .hello{
|
|
||||||
font-size: 48px;
|
|
||||||
font-weight: 300;
|
|
||||||
position: relative;
|
|
||||||
/* width: 430px; */
|
|
||||||
margin: 30px auto 50px;
|
|
||||||
}
|
|
||||||
.parallax-pro .label{
|
|
||||||
font-size: 18px;
|
|
||||||
position: absolute;
|
|
||||||
text-transform: uppercase;
|
|
||||||
background-color: #FF9500;
|
|
||||||
color: #FFFFFF;
|
|
||||||
width: 60px;
|
|
||||||
margin-top: 10px;
|
|
||||||
margin-left: 10px;
|
|
||||||
padding: 0;
|
|
||||||
line-height: 30px;
|
|
||||||
text-align: center;
|
|
||||||
font-weight: 500;
|
|
||||||
letter-spacing: 0;
|
|
||||||
}
|
|
||||||
.parallax-pro small{
|
|
||||||
padding-top: 15px;
|
|
||||||
font-size: 20px;
|
|
||||||
display: block;
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
.parallax-pro ul{
|
|
||||||
width: 280px;
|
|
||||||
margin: 0 auto;
|
|
||||||
}
|
|
||||||
.parallax-pro li{
|
|
||||||
padding: 9px 0;
|
|
||||||
border-bottom: 1px solid #777;
|
|
||||||
}
|
|
||||||
.parallax-pro .actions{
|
|
||||||
margin-top: 40px;
|
|
||||||
}
|
|
||||||
.parallax-pro .actions{
|
|
||||||
margin-left: 10px;
|
|
||||||
}
|
|
||||||
.parallax-pro .motto{
|
|
||||||
color: #FFFFFF;
|
|
||||||
font-size: 64px;
|
|
||||||
font-weight: 600;
|
|
||||||
position: relative;
|
|
||||||
text-align: center;
|
|
||||||
text-shadow: 0 0 10px rgba(0, 0, 0, 0.27);
|
|
||||||
text-transform: uppercase;
|
|
||||||
z-index: 3;
|
|
||||||
margin: 0 auto;
|
|
||||||
top: 22%;
|
|
||||||
width: 285px;
|
|
||||||
}
|
|
||||||
.parallax-pro .motto .pro{
|
|
||||||
position: absolute;
|
|
||||||
font-size: 18px;
|
|
||||||
background-color: #FFFFFF;
|
|
||||||
width: 70px;
|
|
||||||
height: 70px;
|
|
||||||
border-radius: 50%;
|
|
||||||
text-align: center;
|
|
||||||
line-height: 70px;
|
|
||||||
color: #333333;
|
|
||||||
text-shadow: 0 0 0;
|
|
||||||
}
|
|
||||||
.parallax-pro .motto .square{
|
|
||||||
padding: 7px 14px;
|
|
||||||
height: auto;
|
|
||||||
width: auto;
|
|
||||||
line-height: inherit;
|
|
||||||
border-radius: 6px;
|
|
||||||
bottom: 22px;
|
|
||||||
right: -25px;
|
|
||||||
color: #FFFFFF;
|
|
||||||
background-color: #ff9500;
|
|
||||||
font-weight: 300;
|
|
||||||
background-color: #ff9500;
|
|
||||||
}
|
|
||||||
.social-share{
|
|
||||||
margin-right: 0px;
|
|
||||||
margin-top: 10px;
|
|
||||||
}
|
|
||||||
.footer h4{
|
|
||||||
margin: 0px 0 20px;
|
|
||||||
}
|
|
||||||
.space-30{
|
|
||||||
height: 30px;
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
.credits{
|
|
||||||
display: block;
|
|
||||||
margin: 15px 0;
|
|
||||||
color: #ddd;
|
|
||||||
opacity: .8;
|
|
||||||
}
|
|
||||||
.credits a{
|
|
||||||
color: #FFFFFF;
|
|
||||||
}
|
|
||||||
.sharing-title{
|
|
||||||
margin: 10px;
|
|
||||||
line-height: 40px;
|
|
||||||
}
|
|
||||||
.social-line{
|
|
||||||
padding: 5px 0;
|
|
||||||
}
|
|
||||||
.section-gray{
|
|
||||||
padding: 10px 0;
|
|
||||||
background-color: #EEE;
|
|
||||||
}
|
|
||||||
.section-gray h5{
|
|
||||||
margin: 0;
|
|
||||||
line-height: 40px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* EXTRA SHIT */
|
|
||||||
/* @cristina: fisier singular, folosit pentru efectul de blur la parallax in header */
|
|
||||||
|
|
||||||
.blurred-container{
|
|
||||||
position:relative;
|
|
||||||
width:100%;
|
|
||||||
height:440px;
|
|
||||||
top:0;
|
|
||||||
left:0;
|
|
||||||
}
|
|
||||||
.blurred-container > .img-src{
|
|
||||||
position:fixed;
|
|
||||||
width:100%;
|
|
||||||
/*Modified from original to adapt to my sidebar layout better*/
|
|
||||||
height:440px;
|
|
||||||
background-repeat:no-repeat;
|
|
||||||
background-size:cover;
|
|
||||||
background-position: center center;
|
|
||||||
}
|
|
||||||
.blur{
|
|
||||||
opacity:0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.logo-container{
|
|
||||||
margin-top: 10px;
|
|
||||||
}
|
|
||||||
.logo-container .logo{
|
|
||||||
overflow: hidden;
|
|
||||||
border-radius: 50%;
|
|
||||||
border: 1px solid #333333;
|
|
||||||
height: 50px;
|
|
||||||
width: 50px;
|
|
||||||
float: left;
|
|
||||||
}
|
|
||||||
.logo-container .logo img{
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
.logo-container .brand{
|
|
||||||
font-size: 18px;
|
|
||||||
color: #FFFFFF;
|
|
||||||
float: left;
|
|
||||||
height: 50px;
|
|
||||||
line-height: 20px;
|
|
||||||
margin-left: 10px;
|
|
||||||
margin-top: 5px;
|
|
||||||
width: 60px;
|
|
||||||
}
|
|
||||||
.blurred-container .motto{
|
|
||||||
color: #FFFFFF;
|
|
||||||
font-size: 76px;
|
|
||||||
font-weight: 600;
|
|
||||||
|
|
||||||
text-align: center;
|
|
||||||
text-shadow: 0 0 10px rgba(0, 0, 0, 0.33);
|
|
||||||
text-transform: uppercase;
|
|
||||||
/*Modified from the original to suit my sidebar layout*/
|
|
||||||
top: 120px;
|
|
||||||
z-index: 3;
|
|
||||||
|
|
||||||
display: block;
|
|
||||||
margin: 0 auto;
|
|
||||||
position: relative;
|
|
||||||
width: 80%;
|
|
||||||
height: 0;
|
|
||||||
}
|
|
||||||
.blurred-container .motto .border{
|
|
||||||
float: left;
|
|
||||||
border: 3px solid #FFFFFF;
|
|
||||||
padding: 0px 30px;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
.blurred-container .motto .no-right-border{
|
|
||||||
border-right: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width: 768px){
|
|
||||||
.blurred-container .motto{
|
|
||||||
font-size: 60px;
|
|
||||||
width: 268px;
|
|
||||||
/*Modified from original to suit my sidebar layout*/
|
|
||||||
top: 75px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.main{
|
|
||||||
background-color: #FFFFFF;
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
|
|
||||||
#buttons .btn, #tooltips .btn{
|
|
||||||
margin-bottom: 15px;
|
|
||||||
}
|
|
||||||
.img-dog{
|
|
||||||
display: inline-block;
|
|
||||||
margin-bottom: 25px;
|
|
||||||
}
|
|
2025
css/gsdk-main.css
|
@ -1,208 +0,0 @@
|
||||||
/* Used for making the vertical bootstrap menu work */
|
|
||||||
@media (min-width: 768px) {
|
|
||||||
.sidbar-nav .navbar .navbar-collapse {
|
|
||||||
padding: 0;
|
|
||||||
max-height: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar-nav .navbar ul {
|
|
||||||
float: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar-nav .navbar ul:not {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar-nav .navbar li {
|
|
||||||
float: none;
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar-nav .navbar li a {
|
|
||||||
padding-top: 12px;
|
|
||||||
padding-bottom: 12px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Gives me greater control over fonts */
|
|
||||||
.font-serif {
|
|
||||||
font-family: Georgia, "Times New Roman", Times, serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-sans {
|
|
||||||
font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-mono {
|
|
||||||
font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-small-caps {
|
|
||||||
font-variant-caps: small-caps;
|
|
||||||
}
|
|
||||||
|
|
||||||
.strikethrough {
|
|
||||||
text-decoration: line-through;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sfTable {
|
|
||||||
margin: 0 auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-align-left {
|
|
||||||
text-align: left
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-align-right {
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
|
|
||||||
.float-left {
|
|
||||||
float: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
.float-right {
|
|
||||||
float: right;
|
|
||||||
}
|
|
||||||
|
|
||||||
.media-object {
|
|
||||||
max-height: 100%;
|
|
||||||
max-width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (min-width: 768px) {
|
|
||||||
.pull-left {
|
|
||||||
max-width: 25%;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* This embed responsive stuff is included in future versions of Bootstrap, but I am using
|
|
||||||
an old version because of other toolkit compatibilities, so I will need to add it here
|
|
||||||
*/
|
|
||||||
.embed-responsive {
|
|
||||||
position: relative;
|
|
||||||
display: block;
|
|
||||||
height: 0;
|
|
||||||
padding: 0;
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
.embed-responsive .embed-responsive-item,
|
|
||||||
.embed-responsive iframe,
|
|
||||||
.embed-responsive embed,
|
|
||||||
.embed-responsive object,
|
|
||||||
.embed-responsive video {
|
|
||||||
position: absolute;
|
|
||||||
top: 0;
|
|
||||||
bottom: 0;
|
|
||||||
left: 0;
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
border: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.embed-responsive-16by9 {
|
|
||||||
padding-bottom: 56.25%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.embed-responsive-4by3 {
|
|
||||||
padding-bottom: 75%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.math {
|
|
||||||
margin: 8px auto;
|
|
||||||
text-align: center;
|
|
||||||
vertical-align: middle;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (min-width: 768px) {
|
|
||||||
.small-margins {
|
|
||||||
margin: inherit !important;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
body {
|
|
||||||
word-wrap: break-word;
|
|
||||||
}
|
|
||||||
|
|
||||||
.web-logo {
|
|
||||||
margin: 0 5pt;
|
|
||||||
}
|
|
||||||
|
|
||||||
.motto > h1 {
|
|
||||||
background: #0000007d;
|
|
||||||
}
|
|
||||||
|
|
||||||
h1 {
|
|
||||||
word-wrap: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
dl {
|
|
||||||
font-size: 16px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-black {
|
|
||||||
background-color: #222222;
|
|
||||||
border-color: #080808;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-black:hover,
|
|
||||||
.btn-black:focus,
|
|
||||||
.btn-black:active,
|
|
||||||
.btn-black.active,
|
|
||||||
.open .dropdown-toggle.btn-black {
|
|
||||||
color: #ffffff;
|
|
||||||
background-color: #3276b1;
|
|
||||||
border-color: #285e8e;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-black:active,
|
|
||||||
.btn-black.active,
|
|
||||||
.open .dropdown-toggle.btn-black {
|
|
||||||
background-image: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-black.disabled,
|
|
||||||
.btn-black[disabled],
|
|
||||||
fieldset[disabled] .btn-black,
|
|
||||||
.btn-black.disabled:hover,
|
|
||||||
.btn-black[disabled]:hover,
|
|
||||||
fieldset[disabled] .btn-black:hover,
|
|
||||||
.btn-black.disabled:focus,
|
|
||||||
.btn-black[disabled]:focus,
|
|
||||||
fieldset[disabled] .btn-black:focus,
|
|
||||||
.btn-black.disabled:active,
|
|
||||||
.btn-black[disabled]:active,
|
|
||||||
fieldset[disabled] .btn-black:active,
|
|
||||||
.btn-black.disabled.active,
|
|
||||||
.btn-black[disabled].active,
|
|
||||||
fieldset[disabled] .btn-black.active {
|
|
||||||
background-color: #428bca;
|
|
||||||
border-color: #357ebd;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tooltip-inner {
|
|
||||||
min-width: 300px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Give tab contents a bit more room to breathe */
|
|
||||||
.tab-pane {
|
|
||||||
margin-top: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.vertical-center {
|
|
||||||
margin: 0;
|
|
||||||
position: absolute;
|
|
||||||
top: 50%;
|
|
||||||
-ms-transform: translateY(-50%);
|
|
||||||
transform: translateY(-50%);
|
|
||||||
}
|
|
||||||
|
|
||||||
footer {
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Give forms elements style */
|
|
||||||
input.invalid {
|
|
||||||
border-color: red;
|
|
||||||
}
|
|
|
@ -1,10 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<body>
|
|
||||||
<code id="dname"></code>
|
|
||||||
|
|
||||||
<script src="/js/docker-names.min.js"></script>
|
|
||||||
<script>
|
|
||||||
namediv = document.getElementById('dname');
|
|
||||||
namediv.innerHTML = generateNameWithDate()
|
|
||||||
</script>
|
|
||||||
</body>
|
|
|
@ -1,7 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<head>
|
|
||||||
<link rel="search" type="application/opensearchdescription+xml" href="duckduckpost.xml" title="DuckDuckPost">
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<p>Check your search bar for the DuckDuckGo using POST requests search provider</p>
|
|
||||||
</body>
|
|
|
@ -1,10 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
|
|
||||||
<ShortName>DuckDuckPost</ShortName>
|
|
||||||
<Description>Search DuckDuckGo using POST requests</Description>
|
|
||||||
<InputEncoding>UTF-8</InputEncoding>
|
|
||||||
<Image height="16" width="16">https://duckduckgo.com/favicon.ico</Image>
|
|
||||||
<Url type="text/html" method="POST" template="https://duckduckgo.com/">
|
|
||||||
<Param name="q" value="{searchTerms}"/></Url>
|
|
||||||
<Url type="application/x-suggestions+json" method="GET" template="https://duckduckgo.com/ac/?q={searchTerms}&type=list"/>
|
|
||||||
</OpenSearchDescription>
|
|
BIN
img/404_blur.jpg
Before Width: | Height: | Size: 44 KiB |
BIN
img/404_tmp29837
Before Width: | Height: | Size: 256 KiB |
Before Width: | Height: | Size: 243 KiB |
Before Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 40 KiB |
Before Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 44 KiB |
Before Width: | Height: | Size: 35 KiB |
Before Width: | Height: | Size: 78 KiB |
Before Width: | Height: | Size: 1 MiB |
Before Width: | Height: | Size: 303 KiB |
Before Width: | Height: | Size: 280 KiB |
Before Width: | Height: | Size: 281 KiB |
Before Width: | Height: | Size: 4.2 KiB |
Before Width: | Height: | Size: 642 KiB |
Before Width: | Height: | Size: 69 KiB |
51
index.html
|
@ -1,51 +0,0 @@
|
||||||
---
|
|
||||||
title: Home
|
|
||||||
imageUrl: /img/charolette.jpg
|
|
||||||
imageTitle: Swiss Cow in the hayyard
|
|
||||||
imageDescription: She almost looks like she's in her native country again.
|
|
||||||
blurImageUrl: /img/charolette_blur.jpg
|
|
||||||
motto: <small>My name is Thomas Christensen</small><br />I am Milliron X
|
|
||||||
description: The homepage of Thomas A. Christensen II
|
|
||||||
---
|
|
||||||
|
|
||||||
<h2>Milliron X - The homepage of Thomas A. Christensen II</h2>
|
|
||||||
<p>
|
|
||||||
I am an engineer by training, a rancher by upbringing, a techie by experience, and a filmmaker at heart.
|
|
||||||
I've got a soft spot for Brown Swiss dairy cows (just in case you couldn't tell by the background image),
|
|
||||||
and am sometimes called "one of those crazy, Wyoming dairy cow people."
|
|
||||||
I love anything to do with cattle or technology, but especially anything to do with both of them.
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<em>Christian, American, Conservative, Pro-gun, Heterosexual - any questions?</em>
|
|
||||||
</p>
|
|
||||||
<h3>What is a “Milliron X”?</h3>
|
|
||||||
<h5>It's a <a href="https://en.wikipedia.org/wiki/Livestock_branding">cattle brand</a>, of course! My cattle brand!</h5>
|
|
||||||
<p>
|
|
||||||
<span style="font-size: larger; font-weight: bolder">The milliron</span>
|
|
||||||
is the bar with a bend in the middle. It does not represent anything physical
|
|
||||||
or textual <em>per se</em>, and is therefore a rather unique element in cattle brands.
|
|
||||||
Millirons are difficult to modify into another brand, and provide a guarantee of
|
|
||||||
authentic ownership.
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<span style="font-size: larger; font-weight: bolder">X</span> is the letter of mystery and
|
|
||||||
mystique. For nerds, it's the unknown in any algebra problem. Ranchers and cowboys will associate
|
|
||||||
it with big names like the "Bar X" and the "Double X." In either case, it lends itself to a
|
|
||||||
sense of withholding, prestige, and power.
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
Together, these two symbols represent the qualities I strive for in each of my works: authenticity, originality, power, depth, and prestige.
|
|
||||||
</p>
|
|
||||||
<hr />
|
|
||||||
<div class="panel panel-warning">
|
|
||||||
<div class="panel-heading">
|
|
||||||
<h5><i class="fas fa-hard-hat"></i> Warning: Construction Zone!</h3>
|
|
||||||
</div>
|
|
||||||
<div class="panel-body">
|
|
||||||
<p>This is sort of my landing page, but it also doubles as my internet workshop.
|
|
||||||
I'm always testing things here that I want to put in other sites I'm working on,
|
|
||||||
and its code isn't always the cleanest.
|
|
||||||
Please forgive any layout or content mistakes you find here. </p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
|
@ -1,58 +0,0 @@
|
||||||
/*!
|
|
||||||
* Custom scripts for millironx.github.io
|
|
||||||
*/
|
|
||||||
|
|
||||||
// Resize the window image on first page load
|
|
||||||
$(".img-src").width($("#main-content").width());
|
|
||||||
if ($("#top-container").width() > 768) {
|
|
||||||
$("#nav-link-container").height($("#nav-link-list").height());
|
|
||||||
}
|
|
||||||
|
|
||||||
// Resize the window image if the screen size changes
|
|
||||||
$(window).resize(function () {
|
|
||||||
$(".img-src").width($("#main-content").width());
|
|
||||||
if ($("#top-container").width() > 768) {
|
|
||||||
$("#nav-link-container").height($("#nav-link-list").height());
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
$("#nav-link-container").css('height', '');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// Squeeze the heading text into the proper box
|
|
||||||
$("#motto").fitText();
|
|
||||||
$("[rel='tooltip']").tooltip();
|
|
||||||
|
|
||||||
// Animate the transparency for the glossy scroll effect
|
|
||||||
var transparentDemo = true;
|
|
||||||
var fixedTop = false;
|
|
||||||
|
|
||||||
$(window).scroll(function(e) {
|
|
||||||
oVal = ($(window).scrollTop() / 170);
|
|
||||||
$(".blur").css("opacity", oVal);
|
|
||||||
if (oVal >= 3) {
|
|
||||||
$(".img-src").css("visibility", "hidden")
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
$(".img-src").css("visibility", "")
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
// Add class to invalid elements
|
|
||||||
var invalidClassName = 'invalid'
|
|
||||||
var inputs = document.querySelectorAll('input, select, textarea')
|
|
||||||
inputs.forEach(function (input) {
|
|
||||||
// Add a css class on submit when the input is invalid.
|
|
||||||
input.addEventListener('invalid', function () {
|
|
||||||
input.classList.add(invalidClassName)
|
|
||||||
})
|
|
||||||
|
|
||||||
// Remove the class when the input becomes valid.
|
|
||||||
// 'input' will fire each time the user types
|
|
||||||
input.addEventListener('input', function () {
|
|
||||||
if (input.validity.valid) {
|
|
||||||
input.classList.remove(invalidClassName)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
})
|
|
2002
js/bootstrap.js
vendored
7
js/bootstrap.min.js
vendored
1
js/docker-names.min.js
vendored
|
@ -1,249 +0,0 @@
|
||||||
/* ============================================================
|
|
||||||
* bootstrapSwitch v1.3 by Larentis Mattia @spiritualGuru
|
|
||||||
* http://www.larentis.eu/switch/
|
|
||||||
* ============================================================
|
|
||||||
* Licensed under the Apache License, Version 2.0
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
* ============================================================ */
|
|
||||||
|
|
||||||
!function ($) {
|
|
||||||
"use strict";
|
|
||||||
|
|
||||||
$.fn['bootstrapSwitch'] = function (method) {
|
|
||||||
var methods = {
|
|
||||||
init: function () {
|
|
||||||
return this.each(function () {
|
|
||||||
var $element = $(this)
|
|
||||||
, $div
|
|
||||||
, $switchLeft
|
|
||||||
, $switchRight
|
|
||||||
, $label
|
|
||||||
, myClasses = ""
|
|
||||||
, classes = $element.attr('class')
|
|
||||||
, color
|
|
||||||
, moving
|
|
||||||
, onLabel = "ON"
|
|
||||||
, offLabel = "OFF"
|
|
||||||
, icon = false;
|
|
||||||
|
|
||||||
$.each(['switch-mini', 'switch-small', 'switch-large'], function (i, el) {
|
|
||||||
if (classes.indexOf(el) >= 0)
|
|
||||||
myClasses = el;
|
|
||||||
});
|
|
||||||
|
|
||||||
$element.addClass('has-switch');
|
|
||||||
|
|
||||||
if ($element.data('on') !== undefined)
|
|
||||||
color = "switch-" + $element.data('on');
|
|
||||||
|
|
||||||
if ($element.data('on-label') !== undefined)
|
|
||||||
onLabel = $element.data('on-label');
|
|
||||||
|
|
||||||
if ($element.data('off-label') !== undefined)
|
|
||||||
offLabel = $element.data('off-label');
|
|
||||||
|
|
||||||
if ($element.data('icon') !== undefined)
|
|
||||||
icon = $element.data('icon');
|
|
||||||
|
|
||||||
$switchLeft = $('<span>')
|
|
||||||
.addClass("switch-left")
|
|
||||||
.addClass(myClasses)
|
|
||||||
.addClass(color)
|
|
||||||
.html(onLabel);
|
|
||||||
|
|
||||||
color = '';
|
|
||||||
if ($element.data('off') !== undefined)
|
|
||||||
color = "switch-" + $element.data('off');
|
|
||||||
|
|
||||||
$switchRight = $('<span>')
|
|
||||||
.addClass("switch-right")
|
|
||||||
.addClass(myClasses)
|
|
||||||
.addClass(color)
|
|
||||||
.html(offLabel);
|
|
||||||
|
|
||||||
$label = $('<label>')
|
|
||||||
.html(" ")
|
|
||||||
.addClass(myClasses)
|
|
||||||
.attr('for', $element.find('input').attr('id'));
|
|
||||||
|
|
||||||
if (icon) {
|
|
||||||
$label.html('<i class="' + icon + '"></i>');
|
|
||||||
}
|
|
||||||
|
|
||||||
$div = $element.find(':checkbox').wrap($('<div>')).parent().data('animated', false);
|
|
||||||
|
|
||||||
if ($element.data('animated') !== false)
|
|
||||||
$div.addClass('switch-animate').data('animated', true);
|
|
||||||
|
|
||||||
$div
|
|
||||||
.append($switchLeft)
|
|
||||||
.append($label)
|
|
||||||
.append($switchRight);
|
|
||||||
|
|
||||||
$element.find('>div').addClass(
|
|
||||||
$element.find('input').is(':checked') ? 'switch-on' : 'switch-off'
|
|
||||||
);
|
|
||||||
|
|
||||||
if ($element.find('input').is(':disabled'))
|
|
||||||
$(this).addClass('deactivate');
|
|
||||||
|
|
||||||
var changeStatus = function ($this) {
|
|
||||||
$this.siblings('label').trigger('mousedown').trigger('mouseup').trigger('click');
|
|
||||||
};
|
|
||||||
|
|
||||||
$element.on('keydown', function (e) {
|
|
||||||
if (e.keyCode === 32) {
|
|
||||||
e.stopImmediatePropagation();
|
|
||||||
e.preventDefault();
|
|
||||||
changeStatus($(e.target).find('span:first'));
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
$switchLeft.on('click', function (e) {
|
|
||||||
changeStatus($(this));
|
|
||||||
});
|
|
||||||
|
|
||||||
$switchRight.on('click', function (e) {
|
|
||||||
changeStatus($(this));
|
|
||||||
});
|
|
||||||
|
|
||||||
$element.find('input').on('change', function (e) {
|
|
||||||
var $this = $(this)
|
|
||||||
, $element = $this.parent()
|
|
||||||
, thisState = $this.is(':checked')
|
|
||||||
, state = $element.is('.switch-off');
|
|
||||||
|
|
||||||
e.preventDefault();
|
|
||||||
|
|
||||||
$element.css('left', '');
|
|
||||||
|
|
||||||
if (state === thisState) {
|
|
||||||
|
|
||||||
if (thisState)
|
|
||||||
$element.removeClass('switch-off').addClass('switch-on');
|
|
||||||
else $element.removeClass('switch-on').addClass('switch-off');
|
|
||||||
|
|
||||||
if ($element.data('animated') !== false)
|
|
||||||
$element.addClass("switch-animate");
|
|
||||||
|
|
||||||
$element.parent().trigger('switch-change', {'el': $this, 'value': thisState})
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
$element.find('label').on('mousedown touchstart', function (e) {
|
|
||||||
var $this = $(this);
|
|
||||||
moving = false;
|
|
||||||
|
|
||||||
e.preventDefault();
|
|
||||||
e.stopImmediatePropagation();
|
|
||||||
|
|
||||||
$this.closest('div').removeClass('switch-animate');
|
|
||||||
|
|
||||||
if ($this.closest('.has-switch').is('.deactivate'))
|
|
||||||
$this.unbind('click');
|
|
||||||
else {
|
|
||||||
$this.on('mousemove touchmove', function (e) {
|
|
||||||
var $element = $(this).closest('.switch')
|
|
||||||
, relativeX = (e.pageX || e.originalEvent.targetTouches[0].pageX) - $element.offset().left
|
|
||||||
, percent = (relativeX / $element.width()) * 100
|
|
||||||
, left = 25
|
|
||||||
, right = 75;
|
|
||||||
|
|
||||||
moving = true;
|
|
||||||
|
|
||||||
if (percent < left)
|
|
||||||
percent = left;
|
|
||||||
else if (percent > right)
|
|
||||||
percent = right;
|
|
||||||
|
|
||||||
$element.find('>div').css('left', (percent - right) + "%")
|
|
||||||
});
|
|
||||||
|
|
||||||
$this.on('click touchend', function (e) {
|
|
||||||
var $this = $(this)
|
|
||||||
, $target = $(e.target)
|
|
||||||
, $myCheckBox = $target.siblings('input');
|
|
||||||
|
|
||||||
e.stopImmediatePropagation();
|
|
||||||
e.preventDefault();
|
|
||||||
|
|
||||||
$this.unbind('mouseleave');
|
|
||||||
|
|
||||||
if (moving)
|
|
||||||
$myCheckBox.prop('checked', !(parseInt($this.parent().css('left')) < -25));
|
|
||||||
else $myCheckBox.prop("checked", !$myCheckBox.is(":checked"));
|
|
||||||
|
|
||||||
moving = false;
|
|
||||||
$myCheckBox.trigger('change');
|
|
||||||
});
|
|
||||||
|
|
||||||
$this.on('mouseleave', function (e) {
|
|
||||||
var $this = $(this)
|
|
||||||
, $myCheckBox = $this.siblings('input');
|
|
||||||
|
|
||||||
e.preventDefault();
|
|
||||||
e.stopImmediatePropagation();
|
|
||||||
|
|
||||||
$this.unbind('mouseleave');
|
|
||||||
$this.trigger('mouseup');
|
|
||||||
|
|
||||||
$myCheckBox.prop('checked', !(parseInt($this.parent().css('left')) < -25)).trigger('change');
|
|
||||||
});
|
|
||||||
|
|
||||||
$this.on('mouseup', function (e) {
|
|
||||||
e.stopImmediatePropagation();
|
|
||||||
e.preventDefault();
|
|
||||||
|
|
||||||
$(this).unbind('mousemove');
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
);
|
|
||||||
},
|
|
||||||
toggleActivation: function () {
|
|
||||||
$(this).toggleClass('deactivate');
|
|
||||||
},
|
|
||||||
isActive: function () {
|
|
||||||
return !$(this).hasClass('deactivate');
|
|
||||||
},
|
|
||||||
setActive: function (active) {
|
|
||||||
if (active)
|
|
||||||
$(this).removeClass('deactivate');
|
|
||||||
else $(this).addClass('deactivate');
|
|
||||||
},
|
|
||||||
toggleState: function (skipOnChange) {
|
|
||||||
var $input = $(this).find('input:checkbox');
|
|
||||||
$input.prop('checked', !$input.is(':checked')).trigger('change', skipOnChange);
|
|
||||||
},
|
|
||||||
setState: function (value, skipOnChange) {
|
|
||||||
$(this).find('input:checkbox').prop('checked', value).trigger('change', skipOnChange);
|
|
||||||
},
|
|
||||||
status: function () {
|
|
||||||
return $(this).find('input:checkbox').is(':checked');
|
|
||||||
},
|
|
||||||
destroy: function () {
|
|
||||||
var $div = $(this).find('div')
|
|
||||||
, $checkbox;
|
|
||||||
|
|
||||||
$div.find(':not(input:checkbox)').remove();
|
|
||||||
|
|
||||||
$checkbox = $div.children();
|
|
||||||
$checkbox.unwrap().unwrap();
|
|
||||||
|
|
||||||
$checkbox.unbind('change');
|
|
||||||
|
|
||||||
return $checkbox;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
if (methods[method])
|
|
||||||
return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
|
|
||||||
else if (typeof method === 'object' || !method)
|
|
||||||
return methods.init.apply(this, arguments);
|
|
||||||
else
|
|
||||||
$.error('Method ' + method + ' does not exist!');
|
|
||||||
};
|
|
||||||
}(jQuery);
|
|
||||||
|
|
||||||
|
|
|
@ -1,109 +0,0 @@
|
||||||
!function ($) {
|
|
||||||
|
|
||||||
/* CHECKBOX PUBLIC CLASS DEFINITION
|
|
||||||
* ============================== */
|
|
||||||
|
|
||||||
var Checkbox = function (element, options) {
|
|
||||||
this.init(element, options);
|
|
||||||
}
|
|
||||||
|
|
||||||
Checkbox.prototype = {
|
|
||||||
|
|
||||||
constructor: Checkbox
|
|
||||||
|
|
||||||
, init: function (element, options) {
|
|
||||||
var $el = this.$element = $(element)
|
|
||||||
|
|
||||||
this.options = $.extend({}, $.fn.checkbox.defaults, options);
|
|
||||||
$el.before(this.options.template);
|
|
||||||
this.setState();
|
|
||||||
}
|
|
||||||
|
|
||||||
, setState: function () {
|
|
||||||
var $el = this.$element
|
|
||||||
, $parent = $el.closest('.checkbox');
|
|
||||||
|
|
||||||
$el.prop('disabled') && $parent.addClass('disabled');
|
|
||||||
$el.prop('checked') && $parent.addClass('checked');
|
|
||||||
}
|
|
||||||
|
|
||||||
, toggle: function () {
|
|
||||||
var ch = 'checked'
|
|
||||||
, $el = this.$element
|
|
||||||
, $parent = $el.closest('.checkbox')
|
|
||||||
, checked = $el.prop(ch)
|
|
||||||
, e = $.Event('toggle')
|
|
||||||
|
|
||||||
if ($el.prop('disabled') == false) {
|
|
||||||
$parent.toggleClass(ch) && checked ? $el.removeAttr(ch) : $el.prop(ch, ch);
|
|
||||||
$el.trigger(e).trigger('change');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
, setCheck: function (option) {
|
|
||||||
var d = 'disabled'
|
|
||||||
, ch = 'checked'
|
|
||||||
, $el = this.$element
|
|
||||||
, $parent = $el.closest('.checkbox')
|
|
||||||
, checkAction = option == 'check' ? true : false
|
|
||||||
, e = $.Event(option)
|
|
||||||
|
|
||||||
$parent[checkAction ? 'addClass' : 'removeClass' ](ch) && checkAction ? $el.prop(ch, ch) : $el.removeAttr(ch);
|
|
||||||
$el.trigger(e).trigger('change');
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* CHECKBOX PLUGIN DEFINITION
|
|
||||||
* ======================== */
|
|
||||||
|
|
||||||
var old = $.fn.checkbox
|
|
||||||
|
|
||||||
$.fn.checkbox = function (option) {
|
|
||||||
return this.each(function () {
|
|
||||||
var $this = $(this)
|
|
||||||
, data = $this.data('checkbox')
|
|
||||||
, options = $.extend({}, $.fn.checkbox.defaults, $this.data(), typeof option == 'object' && option);
|
|
||||||
if (!data) $this.data('checkbox', (data = new Checkbox(this, options)));
|
|
||||||
if (option == 'toggle') data.toggle()
|
|
||||||
if (option == 'check' || option == 'uncheck') data.setCheck(option)
|
|
||||||
else if (option) data.setState();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
$.fn.checkbox.defaults = {
|
|
||||||
template: '<span class="icons"><span class="first-icon fa fa-square-o"></span><span class="second-icon fa fa-check-square-o"></span></span>'
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* CHECKBOX NO CONFLICT
|
|
||||||
* ================== */
|
|
||||||
|
|
||||||
$.fn.checkbox.noConflict = function () {
|
|
||||||
$.fn.checkbox = old;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* CHECKBOX DATA-API
|
|
||||||
* =============== */
|
|
||||||
|
|
||||||
$(document).on('click.checkbox.data-api', '[data-toggle^=checkbox], .checkbox', function (e) {
|
|
||||||
var $checkbox = $(e.target);
|
|
||||||
if (e.target.tagName != "A") {
|
|
||||||
e && e.preventDefault() && e.stopPropagation();
|
|
||||||
if (!$checkbox.hasClass('checkbox')) $checkbox = $checkbox.closest('.checkbox');
|
|
||||||
$checkbox.find(':checkbox').checkbox('toggle');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
$(function () {
|
|
||||||
$('[data-toggle="checkbox"]').each(function () {
|
|
||||||
var $checkbox = $(this);
|
|
||||||
$checkbox.checkbox();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
}(window.jQuery);
|
|
||||||
|
|
|
@ -1,9 +0,0 @@
|
||||||
var transparentDemo = true;
|
|
||||||
var fixedTop = false;
|
|
||||||
|
|
||||||
$(window).scroll(function(e) {
|
|
||||||
oVal = ($(window).scrollTop() / 170);
|
|
||||||
$(".blur").css("opacity", oVal);
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
126
js/gsdk-main.js
|
@ -1,126 +0,0 @@
|
||||||
/*!
|
|
||||||
|
|
||||||
=========================================================
|
|
||||||
* Get Shit Done Kit - v1.4.1.0
|
|
||||||
=========================================================
|
|
||||||
|
|
||||||
* Product Page: http://www.creative-tim.com/product/get-shit-done-kit
|
|
||||||
* Copyright 2017 Creative Tim (http://www.creative-tim.com)
|
|
||||||
* Licensed under MIT (https://github.com/timcreative/get-shit-done/blob/master/LICENSE.md)
|
|
||||||
|
|
||||||
=========================================================
|
|
||||||
|
|
||||||
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
searchVisible = 0;
|
|
||||||
transparent = true;
|
|
||||||
|
|
||||||
$(document).ready(function(){
|
|
||||||
/* Activate the switches with icons */
|
|
||||||
$('.switch')['bootstrapSwitch']();
|
|
||||||
|
|
||||||
/* Activate regular switches */
|
|
||||||
$("[data-toggle='switch']").wrap('<div class="switch" />').parent().bootstrapSwitch();
|
|
||||||
|
|
||||||
$('[data-toggle="search"]').click(function(){
|
|
||||||
if(searchVisible == 0){
|
|
||||||
searchVisible = 1;
|
|
||||||
$(this).parent().addClass('active');
|
|
||||||
$('.navbar-search-form').fadeIn(function(){
|
|
||||||
$('.navbar-search-form input').focus();
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
searchVisible = 0;
|
|
||||||
$(this).parent().removeClass('active');
|
|
||||||
$(this).blur();
|
|
||||||
$('.navbar-search-form').fadeOut(function(){
|
|
||||||
$('.navbar-search-form input').blur();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
$('[data-toggle="gsdk-collapse"]').hover(
|
|
||||||
function(){
|
|
||||||
console.log('on hover');
|
|
||||||
var thisdiv = $(this).attr("data-target");
|
|
||||||
|
|
||||||
if(!$(this).hasClass('state-open')){
|
|
||||||
$(this).addClass('state-hover');
|
|
||||||
$(thisdiv).css({
|
|
||||||
'height':'30px'
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
},
|
|
||||||
function(){
|
|
||||||
var thisdiv = $(this).attr("data-target");
|
|
||||||
$(this).removeClass('state-hover');
|
|
||||||
|
|
||||||
if(!$(this).hasClass('state-open')){
|
|
||||||
$(thisdiv).css({
|
|
||||||
'height':'0px'
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
$('[data-toggle="gsdk-collapse"]').click(
|
|
||||||
function(event){
|
|
||||||
event.preventDefault();
|
|
||||||
|
|
||||||
var thisdiv = $(this).attr("data-target");
|
|
||||||
var height = $(thisdiv).children('.panel-body').height();
|
|
||||||
|
|
||||||
if($(this).hasClass('state-open')){
|
|
||||||
$(thisdiv).css({
|
|
||||||
'height':'0px',
|
|
||||||
});
|
|
||||||
$(this).removeClass('state-open');
|
|
||||||
} else {
|
|
||||||
$(thisdiv).css({
|
|
||||||
'height':height,
|
|
||||||
});
|
|
||||||
$(this).addClass('state-open');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
);
|
|
||||||
});
|
|
||||||
|
|
||||||
$(function () {
|
|
||||||
$('[data-toggle="gsdk-collapse"]').each(function () {
|
|
||||||
var thisdiv = $(this).attr("data-target");
|
|
||||||
$(thisdiv).addClass("gsdk-collapse");
|
|
||||||
});
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
/* Remove the transparent navbar controls, because they get in the way of my cooler sidebar nav */
|
|
||||||
/*
|
|
||||||
$(document).scroll(function() {
|
|
||||||
if( $(this).scrollTop() > 260 ) {
|
|
||||||
if(transparent) {
|
|
||||||
transparent = false;
|
|
||||||
$('nav[role="navigation"]').removeClass('navbar-transparent');
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if( !transparent ) {
|
|
||||||
transparent = true;
|
|
||||||
$('nav[role="navigation"]').addClass('navbar-transparent');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
140
js/gsdk-radio.js
|
@ -1,140 +0,0 @@
|
||||||
/* =============================================================
|
|
||||||
* flatui-radio v0.0.3
|
|
||||||
* ============================================================ */
|
|
||||||
|
|
||||||
!function ($) {
|
|
||||||
|
|
||||||
/* RADIO PUBLIC CLASS DEFINITION
|
|
||||||
* ============================== */
|
|
||||||
|
|
||||||
var Radio = function (element, options) {
|
|
||||||
this.init(element, options);
|
|
||||||
}
|
|
||||||
|
|
||||||
Radio.prototype = {
|
|
||||||
|
|
||||||
constructor: Radio
|
|
||||||
|
|
||||||
, init: function (element, options) {
|
|
||||||
var $el = this.$element = $(element)
|
|
||||||
|
|
||||||
this.options = $.extend({}, $.fn.radio.defaults, options);
|
|
||||||
$el.before(this.options.template);
|
|
||||||
this.setState();
|
|
||||||
}
|
|
||||||
|
|
||||||
, setState: function () {
|
|
||||||
var $el = this.$element
|
|
||||||
, $parent = $el.closest('.radio');
|
|
||||||
|
|
||||||
$el.prop('disabled') && $parent.addClass('disabled');
|
|
||||||
$el.prop('checked') && $parent.addClass('checked');
|
|
||||||
}
|
|
||||||
|
|
||||||
, toggle: function () {
|
|
||||||
var d = 'disabled'
|
|
||||||
, ch = 'checked'
|
|
||||||
, $el = this.$element
|
|
||||||
, checked = $el.prop(ch)
|
|
||||||
, $parent = $el.closest('.radio')
|
|
||||||
, $parentWrap = $el.closest('form').length ? $el.closest('form') : $el.closest('body')
|
|
||||||
, $elemGroup = $parentWrap.find(':radio[name="' + $el.attr('name') + '"]')
|
|
||||||
, e = $.Event('toggle')
|
|
||||||
|
|
||||||
if ($el.prop(d) == false) {
|
|
||||||
$elemGroup.not($el).each(function () {
|
|
||||||
var $el = $(this)
|
|
||||||
, $parent = $(this).closest('.radio');
|
|
||||||
|
|
||||||
if ($el.prop(d) == false) {
|
|
||||||
$parent.removeClass(ch) && $el.removeAttr(ch).trigger('change');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
if (checked == false) $parent.addClass(ch) && $el.prop(ch, true);
|
|
||||||
$el.trigger(e);
|
|
||||||
|
|
||||||
if (checked !== $el.prop(ch)) {
|
|
||||||
$el.trigger('change');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
, setCheck: function (option) {
|
|
||||||
var ch = 'checked'
|
|
||||||
, $el = this.$element
|
|
||||||
, $parent = $el.closest('.radio')
|
|
||||||
, checkAction = option == 'check' ? true : false
|
|
||||||
, checked = $el.prop(ch)
|
|
||||||
, $parentWrap = $el.closest('form').length ? $el.closest('form') : $el.closest('body')
|
|
||||||
, $elemGroup = $parentWrap.find(':radio[name="' + $el['attr']('name') + '"]')
|
|
||||||
, e = $.Event(option)
|
|
||||||
|
|
||||||
$elemGroup.not($el).each(function () {
|
|
||||||
var $el = $(this)
|
|
||||||
, $parent = $(this).closest('.radio');
|
|
||||||
|
|
||||||
$parent.removeClass(ch) && $el.removeAttr(ch);
|
|
||||||
});
|
|
||||||
|
|
||||||
$parent[checkAction ? 'addClass' : 'removeClass'](ch) && checkAction ? $el.prop(ch, ch) : $el.removeAttr(ch);
|
|
||||||
$el.trigger(e);
|
|
||||||
|
|
||||||
if (checked !== $el.prop(ch)) {
|
|
||||||
$el.trigger('change');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* RADIO PLUGIN DEFINITION
|
|
||||||
* ======================== */
|
|
||||||
|
|
||||||
var old = $.fn.radio
|
|
||||||
|
|
||||||
$.fn.radio = function (option) {
|
|
||||||
return this.each(function () {
|
|
||||||
var $this = $(this)
|
|
||||||
, data = $this.data('radio')
|
|
||||||
, options = $.extend({}, $.fn.radio.defaults, $this.data(), typeof option == 'object' && option);
|
|
||||||
if (!data) $this.data('radio', (data = new Radio(this, options)));
|
|
||||||
if (option == 'toggle') data.toggle()
|
|
||||||
if (option == 'check' || option == 'uncheck') data.setCheck(option)
|
|
||||||
else if (option) data.setState();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
$.fn.radio.defaults = {
|
|
||||||
template: '<span class="icons"><span class="first-icon fa fa-circle-o"></span><span class="second-icon fa fa-dot-circle-o"></span></span>'
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* RADIO NO CONFLICT
|
|
||||||
* ================== */
|
|
||||||
|
|
||||||
$.fn.radio.noConflict = function () {
|
|
||||||
$.fn.radio = old;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* RADIO DATA-API
|
|
||||||
* =============== */
|
|
||||||
|
|
||||||
$(document).on('click.radio.data-api', '[data-toggle^=radio], .radio', function (e) {
|
|
||||||
var $radio = $(e.target);
|
|
||||||
e && e.preventDefault() && e.stopPropagation();
|
|
||||||
if (!$radio.hasClass('radio')) $radio = $radio.closest('.radio');
|
|
||||||
$radio.find(':radio').radio('toggle');
|
|
||||||
});
|
|
||||||
|
|
||||||
$(function () {
|
|
||||||
$('[data-toggle="radio"]').each(function () {
|
|
||||||
var $radio = $(this);
|
|
||||||
$radio.radio();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
}(window.jQuery);
|
|
||||||
|
|