⚠️ This page is meant to be read from the Site Configuration Guide website!
Most frequently updated website values (recruitment status, featured projects, etc.) on the UBC Launch Pad website can be updated by changing the values in src/config.ts
, a configuration file written in TypeScript. This site describes the different configuration options available and guidance on what each value should be.
To make a change, simply edit the values in src/config.ts
based on the guidance in the type documentation on this website and open a pull request in ubclaunchpad/ubclaunchpad.com
. Your changes will be automatically deployed when your pull request is accepted and merged!
If something you want to change that cannot be configured with config.ts
, refer to the contribution guide for more detailed documentation on making changes to the website.
One example of an easily configurable component of the website is recruitment and applications information. To open applications for a new season, simply update recruitmentConfig
with the appropriate values, for example:
- season: 'Fall 2019'
+ season: 'Spring 2020'
- applicationsOpen: false
+ applicationsOpen: true
More details are available in the recruitmentConfig
documentation. Make sure the relevant rolePageURL
pages are up to date as well!
When preparing an event, you might want to be able to share https://ubclaunchpad.com/my-amazing-event
as a nicer URL for people to access, which could then redirect them to another website. To add such a redirect, just add a new Redirect
to redirectsConfig
:
{
path: '/my-amazing-event',
target: 'https://my-amazing-event-website.com',
}
We use these redirects instead of using a third-party link shortener to create short links.
Also refer to USING.md for more details. You can also check redirects.txt
for a full list of currently active redirects.
Projects featured on the website are configured in clubConfig
under clubConfig.currentProjects
and clubConfig.featuredProjects
, which currently provides the projects in the "Teams" and "Past Projects" sections of the website respectively.
To make a change, simply add/remove/update one of the entries in clubConfig.currentProjects
or clubConfig.featuredProjects
- see the Project
type for more details.
Many of the configuration options pertain to providing image assets through a URL (for the most part, avoid committing images to this repository to help prevent it from growing needlessly). When providing such an URL, make sure the provided link is a direct link to the image, i.e. instead of:
https://github.com/ubclaunchpad/inertia/blob/master/.static/inertia-with-name.png
the link should look something like:
https://raw.githubusercontent.com/ubclaunchpad/inertia/master/.static/inertia-with-name.png
On most browsers, you can get this link by right-clicking the image and selecting "Copy Image Location".
Be wary of the image size! Large images load slowly and can directly impact the experience of using the website - try an online image compressor, such as compresspng, to keep file sizes to <100kB.
Note that in some cases, if you use the gif or similar format, provided images can be animated, which looks pretty cool in the right situations!
When you open a pull request, Netlify will automatically deploy a preview website for us, where we can verify the output of a configuration change.
To check how changes look locally, refer to the contribution guide.
This documentation site is generated using npm run docs
from type definitions and inline documentation.
Club configuration (projects, members, etc.)
The current or most recent active Launch Pad projects.
Each element must satisfy Project
.
Feature past Launch Pad projects.
Each element must satisfy Project
.
The current club member membership count.
Links to Launch Pad online!
Recruitment configuration.
Toggle whether applications are open or not - this activates CTAs on the website for signup, such as a 'Join Us' button and the 'Join Us' section.
Define positions we are recruiting for. Each position will get a redirect generated under
https://ubclaunchpad.com/join/$POSITION_NAME
Each element must satisfy ClubPosition
.
Recruitment season name.
Sponsorship configuration.
Link to the most recent sponsorship package.
We will generate a redirect for this link under https://ubclaunchpad.com/sponsorship
Current sponsors.
Each element must satisfy ClubSponsor
.
Describes a Launch Pad position (e.g. 'Developer', 'Designer')
Position name.
Link to learn more and apply to this position.
Describes set of links to Launch Pad online.
We will generate redirects for most links here, for example https://ubclaunchpad.com/facebook
Buttondown is a newsletter provider - see https://buttondown.email
Describes a club sponsor.
Sponsor logo - the url
must be PNG, with transparent backgrounds, and roughly 140px by 120px
(or a 3:2 aspect ratio).
Try to source logos from online. If the company does not have a linkable logo suitable for
the sponsors section, add the logo to /src/assets/logos
.
To make simple adjustments to help the logo look better against the website's background, use
logoFilter
to apply some simple CSS effects.
Simple CSS filters for the sponsor logo - see https://developer.mozilla.org/en-US/docs/Web/CSS/filter
Sponsor name.
How much support this sponsor provided. Refer to the sponsorship package for more details.
Link to sponsor website.
Describes an image.
Describes a video. Currently, we only support YouTube embeds.
The video ID, usually found at the end of the link. For example, the following link:
https://youtu.be/gNtLn0EDFeQ
has video ID gNtLn0EDFeQ
.
Number of seconds into the video to start at by default.
Describes a Launch Pad project.
Small 640px by 320px banner image (or equivalent 2:1 image of reasonable resolution, i.e. less than 1mb) for featuring your project.
Bonus: note that this image format is also used by GitHub to provide link previews when you share your repository - just go to your repository's Settings and upload the same image under the "Social preview" option.
Indicate if the banner has project name, and that a name should not be generated on the website.
Super short one-line description about this project, around 5-10 words.
Two or three sentences diving into your project - what does it do? How does it do it?
Links to further information about this project.
If the project is an app, link to the app and type of app.
Link to GitHub repository
Link to deployed website
Link to a blog post or similar writeup
Detailed or more descriptive media to showcase your project - featured in project modals.
This can be one of:
type: 'youtube'
- see MediaYouTube
)type: 'image'
- see MediaImage
)Human-readable name for project.
Defines a redirect - see redirectsConfig
.
Path to redirect, such as /my/amazing-link
. This will translate to ubclaunchpad.com/my/amazing-link
.
URL or path to redirect to, such as https://my-event-page.com
.
Generated using TypeDoc
Declare additional redirects to generate on each build. Make sure it does not conflict with any existing redirects - a complete list is available in
redirects.txt
.See
Redirect
for options.