Template:Insert Project Description/doc

Quick Reference
For a more in-depth understanding, continue reading below.
 * 1) Find out what projects you want to put on your user page, make a list
 * 2) Copy the code found in the usage section.
 * 3) Replace "PROJECTNAME" with the names of your projects, adding more pipes after each project.
 * 4) Three projects would look like this:
 * 5) Paste the entire length of code near the bottom of your User Page
 * 6) This template creates a new section titled "HGAPS Project Involvement," and lists your projects under this section

Introduction
This is the home of our HGAPS Member Roles. This page contains all of our projects as well as the associated roles involved with that project. This page is meant to serve as a menu that HGAPS members can pick and choose from in order to customize their HGAPS experience on their User pages. Along with HGAPS User Boxes, this is a great way to tell your HGAPS narrative!

To use this page, browse the available projects to see what applies to you. If you do not see your project, post in the discuss page or tell your water carrier and we can get one made! (if you are the water carrier, speak with Eric or Cody) After finding relevant projects, navigate to the Current Projects Supported section to find the project name. For each project you want to add to your user page, copy the name of the project surrounded by pipes "|" onto the template code below. Also know that this template adds a new section into your user page called "HGAPS Project Involvment" with your projects listed underneath. I recommend pasting the template near the bottom of your User page. Check out Cody Naccarato's user page to see what this formatting might look like. This is also a great place to help talk about HGAPS in your resume!

Usage
To use this template, please copy the code below, replacing "PROJECTNAME" with the projects you would like to insert into your user page. The projects will appear in the order you insert them. You must EXACTLY match the name given in the table for it to appear (table below).

The First part of the code is telling Wiki to insert a project description. Each successive chunk of code is telling Wiki which projects to insert. It is very important to separate projects using the pipe "|" character! When you have selected all of your desired projects, terminate the code with double curly bracket:

Advanced Settings If you are planning on editing this template's code, please read the "Adding New Projects and Updating Descriptions (must read for template editors)" section at the bottom.

Tldr: Three steps MUST be completed in order to add a brand new project to this template: To add more projects to this template's search algorithm: Template:HGAPS Project Helper Template 1 1. follow guide in main template space to add to the search algorithm To edit descriptions of existing projects: Template:HGAPS Project Library 2. add name of project to the main template space 3. add/edit project description found in the documentation page of this template (the reason for keeping the description in the documentation page is that the main template space makes a transclusion call to its own documentation page, this is done to allow us to transclude specific sections while also maintaining the section heading for each)

Example
One Project Let's say you are new to HGAPS and only have history in one project, Assessment Center. No worries! Glad to have you. This is the code for you:

Two Projects Let's say you wanted to insert the project description for the Assessment Center and Anti-Racism into your User page. As we can see, we replaced "PROJECTNAME" with the title of our projects of interest, Assessment Center and Anti-Racism.
 * 1) First, open a browser tab with your user page on Wikiversity.
 * 2) Next, click "edit source" on your user page.
 * 3) Near the bottom of your source code, paste the code for Assessment Center and Anti-Racism:

Three Projects If we wanted to add another project, just add another pipe followed by the name of the project (note: project order does not matter, insert projects in the order with which you want them to appear): or.

More than three projects As the code is written now, you can have up to 15 projects on your HGAPS involvement page. Just keep adding pipes and names!

NOTE: you can revisit the code in your user box to easily add more projects to your list as your involvement grows

To see all of the currently supported projects, please view the next section.

Current Projects Supported
This section contains a list of all of projects, along with the EXACT name of the project to be entered in between the pipes in the code above.

Adding New Projects and Updating Descriptions (must read for template editors)
This template uses two helper templates to manage code logic and workflow. In order to successfully update this template, you must edit both of these helper templates. The original call to "Insert Project Description" allows for any number of projects to be added when the template is called. Each new name you add between pipes generates a new parameter that we can pass through our helper templates. For each project you add, we pass that projects parameter through the first of our helper templates: Template:HGAPS Project Helper Template 1.

This HGAPS Project Helper Template handles our search algorithm. It does this by taking the name of the project you entered and comparing it with a list of projects we have on file. In order to add a new project, you must first add the name of the project to this file. visit that page to learn more.

Once Template:HGAPS Project Helper Template 1 finds the appropriate file and checks to make sure the name is correct, it then makes another call to our second template, Template:HGAPS Project Library. While the first template checks the name of your project, the second template is where the actual description resides. Technically, the description is in the documentation page of this template, while the actual template itself is transcluding from the documentation page. This adds a little bit more code to the end editing process. However, this gives us the benefit of transcluding wiki-formatted headers along with content (traditional transclusion methods does not allow for selective transcluding based on section name while keeping the header of that section; traditional selective transclusion basically decapitates your content)

You may be asking why it is separated this way. The answer is that by keeping the descriptions separate from the search algorithm, we keep the code on each template clean and easy to edit for those who may not be familiar with template editing. That way, we do not have improper edits while trying to balance a bunch of logic in our code.

shortcut: adding a new project to this template: 1) you must update the search algorithm with your new project name at Template:HGAPS Project Helper Template 1 2) you must create the project description for your new project at Template:HGAPS Project Library 2.1) in the main template page of Template:HGAPS Project Library, you add a function call to the documentation page, which has the desired header for the project you are looking for 2.2) the actual description you write is held within the documentation page of Template:HGAPS Project Library, not the template itself. this is so we can transclude headers to our pages