This repository is home to the files for the VTK-m website. Below you will find building and deployment instructions as well as documentation for plugins and packages that this website depends on.
Our Netlify build is live at https://vtk-m.vtk.org (this is a temporary domain and will be pointed to https://m.vtk.org when our work is done).
Note: This site will not build on GitHub pages. It can be optimized to do so, however the "jekyll-scholar" plugin does not work on GitHub Pages, so we opted for deploying on Netlify.
Start by cloning this repository followed by cd vtkm-web
.
Tailwind and our other dev packages need to be built prior to Jekyll, as it needs the manifest.yml
file to link to the properly built CSS.
- Open a new tab in your shell application
- Install dev dependencies -
npm install
- Run one of the build commands:
- To build for development run
npm run dev
- To build for production run
npm run prod
- If you are making a lot of changes, you might want to watch for changes using
npm run watch
- To build for development run
- Install gem dependencies using bundler -
bundle install
(if you don't have bundler installed, you may need to rungem install bundler
)- You may need to update the bundler gems. If so, run
bundle update
.
- You may need to update the bundler gems. If so, run
- Serve the site using
bundle exec jekyll serve
, or build usingbundle exec jekyll build
- All pages (including index) will be found in the
_pages
directory.permalink: /page_name
is required on all pages.
We are using Netlify to deploy the site. Committing and pushing your changes should be all that is needed to deploy.
If you should need to set this up again, refer to https://www.netlify.com/blog/2020/04/02/a-step-by-step-guide-jekyll-4.0-on-netlify/#connecting-to-netlify
This website utilizes the Jekyll Scholar plugin to parse bibliography files.
We are using Remix Icon to handle all iconography on the website. Add something like <i class="ri-pencil-fill"></i>
to use an icon.
This website utilizes TailwindCSS as a CSS framework. The benefit is that it gives you access to the full palette of CSS attributes as clases without writing any CSS.
We've extended our configuration of Tailwind CSS in the following ways:
- Support for primary, secondary and accent color classes, ie.
bg-primary-500
ortext-accent-700
- Support for 2 smaller font size classes,
text-2xs
andtext-3xs
- Support for 2 smaller min-width/max-width sizes, ie.
max-w-2xs
ormin-w-3xs
- Added plugin to support
text-shadow
classes- Extended the plugin's classes to include
text-shadow-2xl
for a larger shadow.
- Extended the plugin's classes to include
We've also added NON-Tailwind helper classes to improve the overall Tailwind experience.
- Content - We've added a
.content
class to a wrapper of the content for the purpose of adding styles to<ul>
's,<ol>
's and<p>
's (since Tailwind strips those bare).- Please note, that the elements listed above that are outside of
<main class="content">
will not have those styles.
- Please note, that the elements listed above that are outside of
- Buttons - use the class
button
on any<a>
- Append these classes for different types of buttons
is-sm
- Small buttonis-xs
- Extra small buttonis-shadowed
- Adds drop shadow to buttonis-primary
- Button will use the primary color set in the Tailwind configis-secondary
- Button will use the secondary color set in the Tailwind configis-accent
- Button will use the accent color set in the Tailwind configis-outline
- Will make an outlined button
- Append these classes for different types of buttons
- Bibliography - The jekyll-scholar plugin addes an
<ol>
with a class ofbibliography
. The bibliography class has been added to the CSS to add some simple styles