Jekyll: Static site generator.
All files are grouped by their function:
-
Contains teams data. These variables are needed by a
teamto build theteamslist and its own page:order: Order of where it will show up in theteamspageheaderMenuName: Name that will show up in the header menulocationImage: Image that will be used to show in the/teamspage
-
Contains chapters' projects data. These variables are needed by a
chapterto build thechaptersmap and list and its own page:province: Name of the provinceregency: Name of the regencyplace: Name of the place/villagechapter: Chapter number (Must be in number!)status: Status of the project (Must be either "Completed" or "In Progress")chapterTitle: Chapter's title used in the projects' list
-
Contains reusable data. i.e: Solar Chapter's projects' regencies coordinates
-
Contains all pages' content All page content have a file extension, namely
.md(Markdown). This type of file is used to format your text. See what formatting you can do to your text using this cheatsheet.
- File name normally follow the link's name. i.e: content of solarchapter.com/donate page should live under
content/donate.md
-
Contains assets data. i.e: logo, small images.
- All image resources for gallery/sizeable images use should be stored outside of this repository. See Where to store image resources? section
-
[Developer friendly] Contains repeatable component to be reused. i.e: header/footer
-
[Developer friendly] Contains layout files to be reused by your pages
-
[Developer friendly] Contains styling files for your pages
- Open content and find the page's content you want to edit. File name should be similar or same with the page you want to edit.
- You should see the following
key-valuepairs. The key names should be self-explanatory. i.e:
title: "Chapter One: Water for Umutnana"
This means that this pair should correspond to the page's title. I would recommend to refer to the actual page's content and backtrack the content to the markdown file.
- Configuration are classified by two groups:
- Page specific. Stored in the content directory
permalink: Page's link URL. i.e:/donatewill make the page be accessible throughsolarchapter.com/donatelayout: Page's layouttitle: Page's titledescription: Page's description. Used in page's metadata for SEOmetadataImage: Page's metadata image. Used in page's metadata for SEOcustom_css: List of CSS files for the pagecustom_js: List of JS files for the page
- Layout specific. Stored in the _layouts
menu-color: Color of the menu. Eitherdarkorlightcustom_css: List of CSS files for the layoutcustom_js: List of JS files for the layout
- Value can be in
htmlformat too for complex styling if needed.
Create a new .md file at _chapters directory. Place the file based on the chapter number of the project.
Check the first project page and use it as an example. Note that a project does not need a permalink. It's been configured at the _config file.
- Add coordinates data into the regencies coordinates file. (Use Google Maps to find the regency's coordinates)
Note: The name of the regency must be the same as what is set in the chapter's
.mdfile! - Done! Chapters' projects will appear in the map by the
regencyvalue defined in its file.
Fundraising box are generated by the fundraisingLinks variable set in the chapter page.
Follow kain makna page as an example A landing layout will need these variables:
landingLogo: Landing logo image URLlandingLogoTopLocation: Landing logo location from the top in percentagelandingLogoLeftLocation: Landing logo location from the left in percentagelandingLogoWidth: Landing logo's widthlandingLogoHeight: Landing logo's heightlandingLogoButton: Landing logo's button right below the logo if neededtitle: Button's textlink: Buttons' link URL
mainParagraph: First paragraph in the landing pagesections: List of sections in the landing pagebackgroundColor: Background colorgalleryType: Gallery used to display images. Types can only be "carousel" or "composition-wheel"images: Images used in the gallery. For gallery type "composition-wheel", there can only be 3 images.contentPosition: Position of the content ("left"/"right")content: Content of the section
If possible, always serve files through Google Photos because repository is not designed to control revision of images. Other than that, storing images in the CDN will make them be highly available and accessed quicker.
- Store images at Google Photos. Contact Solar Chapter for account access
- Upload media files (pictures/videos) at Solar Chapter's Google Photos account at the "SolarChapter.com Website" album. Contact Solar Chapter for account access.
- View the image and right-click the image and select "Copy image address". The image address should be hosted at
lh3.googleusercontent.com. Make sure that the image/album of the image is marked as share-able
- Store videos at Cloudinary. Contact Solar Chapter for account access
SEO is used for search engine and social media post's preview data. i.e: Google, Facebook/Twitter/Linkedin post preview These variables are for SEO:
title: Title of the pagedescription: Description of the pagemetadataImage: Main image of the page. Normally shown in FB/Twitter/Linkedin's preview post
- Don't forget to have
---to start and end yourMarkdownfiles! - Read Jekyll
- To set up local development environment:
jekyll serve --livereload