HQ:Code Documentation

CODE DOCUMENTATION

Website Visuals

Colors

The colors used on 2019.igem.org are:

#00A19B #007B8A #085156 #00BFD6 #FF9012 #FFB819 #F42534

Creating a new page

Pages created in the 2019.igem.org website must follow a naming convention in order fit the website structure and to be reflected properly in the menu system. The naming convention should make them fall under these categories:

  • About
  • Calendar
  • Teams
  • Competition
    • Team Registration
    • Rules of Conduct
    • Deliverables
    • Tracks
  • Giant Jamboree
  • Judging
  • Safety
  • Human Practices
  • Measurement
  • Resources
    • Cloning Help
  • Sponsors
    • Special Offers
  • Sitemap


Here is an example for creating a new application page under the Teams namespace and within the Mentorship submenu:
2019.igem.org/Teams/Mentorship/Apply

If a page that doesn't fall under the previous categories needs to be created, please contact Ana or Traci before creating said page.

Adding a menu item

The first tier of the menu is reserved for highly important pages, usually hubs that showcase the subpages within that namespace. To create a menu item on the first tier, you can use the following code. This example creates a menu button for "Colors".

<div class="igem_menu_item">

<a href="https://2019.igem.org/Colors">
<div class="hub_icon">
<img src="https://static.igem.org/mediawiki/2019/8/81/colors_icon.svg">
</div>

<div class="hub_title">
COLORS
</div>
</a>

</div>

Adding a submenu and submenu items

To add another submenu page to the menu, just copy the following code and place it inside the desired submenu wrapper. In this example we are creating three subpages ("Yellow" and"Red") under the "Colors Hub" The "submenu_item subsection_title" class will create an empty button where you can place the title of that particular section of pages.

<div class="igem_menu_item">

<a href="https://2019.igem.org/Colors">
<div class="hub_icon">
<img src="https://static.igem.org/mediawiki/2019/8/81/colors_icon.svg">
</div>

<div class="hub_title">
COLORS
</div>
</a>

<div class="submenu_access"></div>
<div class="igem_submenu">

<div class="submenu_item subsection_title"> Warm Colors </div>

<a href="https://2019.igem.org/Colors/Red">
<div class="submenu_item">
Red
</div>
</a>

<a href="https://2019.igem.org/Colors/Yellow">
<div class="submenu_item">
Yellow
</div>
</a>

</div>


</div>

Adding a subsubmenu and subsubmenu items

If the subpage you created has pages under it, you will have to add a subsubmenu. First you need to indicate that the subpage, in this case we will use 'Reds' has a subsubmenu by adding the class "with_subsub_menu" and then you will have to follow a similar nesting process to adding a submenu. The following code shows the example of adding 'Colors/Reds/Scarlet'.

<div class="igem_menu_item">

<a href="https://2019.igem.org/Colors">
<div class="hub_icon">
<img src="https://static.igem.org/mediawiki/2019/8/81/colors_icon.svg">
</div>

<div class="hub_title">
COLORS
</div>
</a>

<div class="submenu_access"></div>
<div class="igem_submenu">

<div class="submenu_item subsection_title"> Warm Colors </div>

<a href="https://2019.igem.org/Colors/Reds">
<div class="submenu_item with_subsub_menu">
Reds
</div>
</a>

<div class="submenu_access"></div>
<div class="igem_subsubmenu">

<a href="https://2019.igem.org/Colors/Reds/Scarlet">
<div class="subsubmenu_item">
Scarlet
</div>
</a>
</div>


<a href="https://2019.igem.org/Colors/Yellow">
<div class="submenu_item">
Yellow
</div>
</a>

</div>

</div>

HTML

Hypertext Markup Language, or HTML, is a standardized system for tagging text to create font, color, graphic, and hyperlink styling on websites. Below we will go voer the general tags used to create a standard wiki page

Text

To write text use the < p > tag

<p> Text </p>

Titles

You can add title using the h tag, here is how the different sizes look:

Title one

Title two

Title three

Title four

Title five
Title six

<h1>Title one </h1>
<h2>Title two </h2>
<h3>Title three </h3>
<h4>Title four </h4>
<h5>Title five </h5>
<h6>Title six </h6>

<a href="link url "> LINK </a>

Images

You can add images to your website by using the img tag, remember all your images must be hosted on the iGEM server.

<img src="image URL ">

Unordered Lists

Use the following example to create a simple list.
Painting materials:

  • Brushes
  • Acrylic paint
  • Watercolors

<b>Painting Materials</b>
<ul>
<li> Brushes </li>
<li> Acrylic paint </li>
<li> Watercolors </li>
</ul>

Numbered Lists

To create an ordered list, use:
Things to buy:

  1. Milk
  2. Eggs
  3. Flour

<b>Things to buy: </b>
<ol>
<li> Milk </li>
<li> Eggs </li>
<li> Flour </li>
</ol>

Nested Lists

Here is an example of a nested list.

  • Cold Colors
  • Warm Colors
    1. Red
    2. Orange
    3. Yellow

<ul>
<li> Cold Colors </li>
<li> Warm Colors
<ol>
<li> Red </li>
<li> Orange </li>
<li> Yellow </li>
</ol>
</li>
</ul>

Tables

Tables created within in a page already have styling and will display:

Header 1 Header 2
Content A 1 Content B 1
Content A 2 Content B 2

<table>
<tr>
<th> Header 1 </th> <th> Header 2 </th>
</tr>
<tr>
<td> Content A 1 </td> <td> Content B 1 </td>
</tr>
<tr>
<td> Content A 2 </td> <td> Content B 2 </td>
</tr>
</table>

Layout classes

Columns

Layout classes will help structure your page. You will need to call it when you start your page to have the proper layout and make it responsive. There are four types of layout options, which vary between one column up to four in the same row.

  • One column (100%) : class="column full_size"
  • Three quarters column (75%) : class="column three_quarter_size"
  • Two thirds column (66%) : class="column two_thirds_size"
  • Two columns (50%) : class="column half_size"
  • Three columns (33%): class="column third_size"
  • Four columns (25%) : class="column quarter_size"

<div class="column half_size" >
<p> Content goes here </p>
</div>

Support Classes

Highlight

Highlight will need to be declared inside another layout box, this highlight class will make the background gray and the size will be slightly smaller.

<div class="column half_size" >
<div class="highlight">

</div>
</div>

Styling highlight class

There are ways to style the highlight class, you can add:

  • class="highlight gray" to add a gray background
  • class="highlight decoration_top" to add a decorative line on top
  • class="highlight decoration_full" to add a border around the div
  • class="highlight decoration_red_top" to add a red line on top
  • class="highlight decoration_red_full" to add a red border around the div

These classes can be combined to create different effects, as seen in the next examples.

<div class="column quarter_size" >
<div class="highlight decoration_full">

</div>
</div>

<div class="column quarter_size" >
<div class="highlight gray decoration_top">

</div>
</div>

Post items

Post items is a class that has multiple purposes and can be styled and divided as needed. They can be a standard way of highlighting information, making it easy to recognize types of announcements such as notes or alerts. They are also used as a structural type of class, to easily delineate between a list of items,for example meetups or news items.

The icons that can be used as part of the post item class are:

announcement
alert
note
notice
reminder
pinned
Title
Date

Description

<div class="highlight post_item">
<div class="details ">
<span class="icon announcement"></span>
<div class="title"> Title </div>
<div class="date"> Date </div>
</div>
<p>Description </p>
</div>

Title
Date

25%

65%

<div class="highlight post_item">
<div class="details">
<div class="title"> Title </div>
<div class="date"> Date </div>
</div>
<div class="column quarter_size">
<p> 25% </p>
</div>
<div class="column three_quarter_size">
<p>65%</p>
</div>
<div class="clear"></div>
</div>

Button

You can use the button class to highlight a link in your wiki.

<div class="button"> <a href="URL"> REGISTER NOW! </a> </div>

Clear

This class clears the content, it is basically the same as clicking "enter" when you are writing a text.
If you add the "extra_space" class, it will add extra vertical spacing between your divs.


<div class="clear extra_space"> </div>

line divider

This class draws a line to more easily separate sections on a page. You can add "soft" or "dark" to make the line lighter or softer.
This class should ideally be used in between clear extra_space to add the appropiate padding.

<div class="clear extra_space"> </div>
<div class="line_divider"> </div>
<div class="clear extra_space"> </div>

Calendar

The Calendar uses a set of special classes that display and control the viewing of the deadlines in each month. Information is divided in the date of the event and the information pertinent to it. The following code shows how to create a month with one event, the final result can be seen bellow. This class can also be use for expand and collapsing content.

MONTH

DATE

Title

Description

<div class="collapsible_accordion">
<h1> MONTH <div class="collapsible_accordion_access content_control displaying_content"></div> </h1>
<div class="collapsible_accordion_content" >
<div class="deadline_date">
DATE
</div>
<div class="deadline_content">
<H3> Title</H3>
<p> Description</p>
</div>
</div>
</div>

Read more..

This class hides text unless the user wishes to read more, therefore it should only be used when the content is not essential for the reader.


Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

<span class="read_more_text">
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. </span>

<span class="read_more"></span>
</p>

Image Slider

Remember to keep the same number of items in both lists so the numbers match and work correctly.

  • 1
  • 2
  • 3

<div id="image_carrousel">

<ul class="image_slider" >
<li class="current_image"><img src="https://placehold.it/550x200"></li>
<li><img src="https://placehold.it/550x200"></li>
<li><img src="https://placehold.it/550x200"></li>
</ul>

<div class="image_controller prev"> </div>
<ul class="image_number">
<li class="current_image_number"> 1</li>
<li> 2</li>
<li> 3</li>
</ul>

<div class="image_controller next"> </div>
</div>

Image caption

This class allows commenting on an image to further explain what is happening in the picture.

This is caption for the image

<img src="https://placehold.it/550x200">
<p class="image_caption">This is caption for the image</p>

On this page

This class should be used on every page to give users an at a glance list of the topics covered on the page.

On this page you will find information on:

For dividing the sections on the page, you should use the classes clear extra_space and line divider adding the section id to the last clear div. Below is an example.

<div class="clear extra_space"> </div>
<div class="line_divider"> </div>
<div class="clear extra_space"> id="section" </div>

<p>
<span class="on_page"></span><b>On this page</b>
you will find information on:
<a href="#link"> section 1 </a>,
<a href="#link"> section 2 </a>, and
<a href="#link"> section 3 </a>.
</p>

Center content

This class can help center content, it should be used instead the "center" tag, as this is a deprecreated tag in html.

Centered Text

Centered title

<p class="center_content">Centered Text</p>

<h1 class="center_content">Centered title</h1>

Multiple links

This class should be used when a lot of links are being used in a list, for example the list of tracks.


<div class="multiple_links">

<h5> List of links </h5>

<ul>
<li><a href="link url"> Link 1</a></li>
<li><a href="link url"> Link 2</a></li>
<li><a href="link url"> Link 3</a></li>
</ul>

</div>

Red text

Red text can be used to highlight text that is crucial for users to read. For example:

Make sure to follow the Safety rules!

<div class="red_text"> Make sure to follow the Safety rules! </div>

Navigation Support

This class can be used for navigating between pages in a Hub. This is used in the Competition Hub to browse between the team requirements. The structure is the following: Main link (either to the main hub or a particular section) and then links in a list adding the class active_navigation_button to the current page. See the example below.

The goal will be to make this code automatically recognize which page it is currently.*

<div class="column full_size navigation_support">

<a href="https://2019.igem.org/Competition#requirements">
<div class="navigation_support_title">
MAIN LINK
</div>
</a>

<a href="url">
<div class="navigation_button active_navigation_button">
1
<div class="title_extra" > Link 1 </div>
</div>
</a>

<a href="url">
<div class="navigation_button" >
2
</div>
<div class="title_extra"> Link 2 </div>
</a>

</div>

Hidding content

If content needs to be hidden for general users while it is being worked on, you can place said section in the HQ_info id. For example this section can only be viewed by members of HQ.

<div id="HQ_info">

<p> Content will be hidden inside this div </p>

</div>

Template:Footer2019