Giter Site home page Giter Site logo

biouno.github.io's Introduction

BioUno.org

Deploy Hugo site to Pages

BioUno website.

Building

You must install Hugo to build the project locally. The Hugo website contains information to install it on Linux, macOS, and Windows. Hugo is written in Go, so you will have to install Go as well — refer to Hugo website.

Go into the directory where you cloned this repository, and run Hugo to build or to serve the website locally.

# This will build
$ hugo

# This will serve and watch for changes
$ hugo server --watch

If you want to have a more verbose output, you can use this variation.

$ hugo server --navigateToChanged --buildDrafts --buildFuture --watch --verbose

And if you want to make sure that you are not having problems with caching, you can remove the public directory, which is used by Hugo to build the blog.

$ rm -rf public && hugo server --navigateToChanged --buildDrafts --buildFuture --watch --verbose

Creating a new page

If you create a new section (e.g. faq), you will have to create a directory with a _index.md file. See existing directories like ./content/blog/ or ./content/tutorials/ for example.

To add a page to an existing section, the simplest option is to just copy an existing page. You can also create an empty Markdown page (e.g. ./content/faq/new-file.md).

If you are building the site with --watch, you should be able to navigate to that page already at http://localhost:1313/faq/new-file.html.

Existing pages (and posts) contain a YAML header, called “front matter”. You can copy an existing header as example.

---
title: Give it some nice title
---

This is markdown.

<p>Or HTML...</p>

Creating a new post

Blog posts are created in the directory /content/blog/. The existing posts were migrated from Jekyll, so we need to follow the existing pattern for consistency.

  • 2020-01-20-url-friendly-title.md

In the example above, 2020-01-20 is the post date. This is not really used, but it can be added just for the sake of keeping up with the existing pattern.

The url-friendly-title is the part that will be used in the URL, so choose one that is unique and simple, with dashes or underscores.

Before writing the post content, the front matter YAML header needs to be added, as in the example below.

---
title: "Advanced Cross-Project Linking of Jenkins Artifacts"
description: "Linking Data-Source Builds and their Metadata"
tags: [Jenkins, workflow, data-sciences, analysis, bioinformatics, metadata]
author: Ioannis K. Moutsatsos
date: 2020-02-02
---

Any markdown **content** here. Like in GitHub.

<p>Or some <strong>HTML</strong>.</p>

The front matter header above defines a title, that appears in the web page generated. The description is used in the blog listing as a summary for the post (when visiting the URL /blog/).

The tags are used to classify the post. Fill in the author name and the date. The date will be used to produce the URL slug name (/2020/02/02/advanced... in the example above).

Preview your post locally — building and serving locally, as per instructions above — and commit to a pull request or to a branch like master once you are done. In a few seconds the GitHub Actions pipeline will run, and if it succeeds the site will be updated with your post.

GitHub Actions builds take seconds to one or minutes.

Contributing

All contributions are welcome! Send us your issues, pull requests or suggestions.

License

MIT

biouno.github.io's People

Contributors

dependabot[bot] avatar imoutsatsos avatar kinow avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

Forkers

kinow

biouno.github.io's Issues

Favicon

@imoutsatsos take a look at the new favicon. I used the old one first (the one that said Bio1), but it looked too small...

So tried B1... which is also a vitamin import for humans... life-sciences.... dad-joke level-up!!!

dad -joke

Anyway, here's the preview.

screenshot from 2019-03-02 00-25-09

WDYT? Feel free to close the issue if it's good enough!

Add a way to cite plug-ins

We could provide a screen or button that would provide the necessary information to cite the plug-ins and BioUno

Update website layout

This has been a topic in several of our hangouts. @imoutsatsos and myself discussed it and chose a couple of options (minimal-mistakes jekyll theme, and Groovy project web site).

I will start with minimal-mistakes, as our current site is using Jekyll, so it will be easier :-)

Prefer HTTPS

Our site allows HTTP or HTTPS. It shouldn't matter much, but it would be nicer I think to give users HTTPS by default if possible for privacy. I also think SEO were giving preference to sites with HTTPS over HTTP.

Use remote theme

Seeing

Your site is having problems building: A file was included in _pages/archive.md that is a symlink or does not exist in your _includes directory. For more information, see https://help.github.com/en/articles/page-build-failed-file-is-a-symlink.

After pushing the latest changes. Funny that it worked on my repository kinow.github.io. From the docs of the theme, they say

100% compatible with GitHub Pages when used as a remote theme.

So let's try to use it as a remote theme.

Image displayed when sharing links from biouno.org

Follow-up from #27

@imoutsatsos, should we have one image used for all links, or should we specify one per page? Google/YouTube/Twitter/FaceBook/etc try to get one image from the link shared.

But it also looks for Open Graph tags. They are special tags used in the HTML code to tell the other sites which information we have (it's some vocabulary from semantic web, you probably use something similar for metadata).

We can test it with a tool like this one: https://opengraphcheck.com/

Here's a post from NIWA: https://opengraphcheck.com/result.php?url=https%3A%2F%2Fniwa.co.nz%2Fnews%2Finternational-climate-experts-gather-in-wellington

And here's our main page: https://opengraphcheck.com/result.php?url=http%3A%2F%2Fbiouno.org%2F

So we have a few options:

  • Add an image to landing page, with the open graph tags.
  • When a post has an image, we have to remember to copy the example HTML with Open Graph annotations (or we can look for a Jekyll plugin that does that)
  • Add a general image for Open Graph. But that way I don't believe we would be able to overwrite it. So it would be always the same image.

WDYT?

Move to Hugo

I've had issues with Jekyll and Ruby on Ubuntu LTS over past years (several times), but never had with Hugo in Apache sites and on my personal site.

@imoutsatsos also had issues with Ruby on Windows, so let's move the site to Hugo, and also add archetypes for the blog post, so that we can document the commands used to create a blog post, and the process to deploy a draft or final article, and how to run everything locally (and faster) with Hugo.

Add image that hides video.

Once the user clicks on the image, the video is ajax-loaded. This way, users behind proxies won't see an error message.

Only cosmetics.

Add roadmap

We must formalize the project roadmap in the web site.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.