* Add folder for Dutch translation with images Copied images from English version. No changes were made at all, _titlecard.png should be changed! * Add Dutch language to files outside language dir * Add Dutch nonpage language files and index page Added files to public/nl/ dir: _concat.json _disclaimer.hbs _menu.hbs _strings.js index.md * Add first Dutch pages Pages: wat-is-gender (what-is-gender) geschiedenis (history) euforie (euphoria) fysieke-dysforie (physical-dysphoria) * Suggestion: Add link for androgyne gender Add link for androgyne gender to the what-is-gender pages for the following languages: English Dutch French Hungarian Portuguese Missing for languages: Chinese (zh) German (de) Polish (pl) Spanish (es) * Add empty files to enable the build to run * Add language tags and fix language-menu Added the 'lang' tag to all .md files for the Dutch language Fixed bug where Dutch line in language-menu was set to Portuguese class * Fix language-menu bug for Spanish language Fixed bug where Spanish line in language-menu was set to Portuguese class * Update TWEET_DATE_FORMAT Shortened month (LLL) already contains a period, remove double period * Complete and review Dutch biochemical-dysphoria * Add&review Dutch translation for social-dysphoria * Fix contibution link in disclaimer Link to contributions page was wrongfully translated * Add&review Dutch translation of societal-dysphoria * Add&review Dutch translation for sexual-dysphoria * Fix broken link to next page Link to next page (presentationele-dysforie) was broken on newly translated page (seksuele-dysforie) * Add&review Dutch translation of presentational-dysphoria * Add comments for broken link The presentational-dysphoria page contains a broken YouTube link. This commit adds HTML comments to the Dutch and English pages notifying about the broken link. Should be reverted when https://github.com/GenderDysphoria/GenderDysphoria.fyi/issues/139 is fixed. * Add&review Dutch existential-dysphoria page * Add&review Dutch managed-dysphoria page Also rename dutch page file and rename links to the page * Check translated Dutch files for mixups Sometimes 'gender' and 'sex' were wrongfully interchanged during translation. Fix these mixups for the following pages: - index.md (index.md) - wat-is-gender.md (what-is-gender.md) - geschiedenis.md (history.md) - euforie.md (euphoria.md) - fysieke-dysforie.md (physical-dysphoria.md) - biochemische-dysforie.md (biochemical-dysphoria.md) - sociale-dysforie.md (social-dysphoria.md) - maatschappelijke-dysforie.md (societal-dysphoria.md) - seksuele-dysforie.md (sexual-dysphoria.md) - presentationele-dysforie.md (presentational-dysphoria.md) - existentiele-dysforie.md (existential-dysphoria.md) - beheerste-dysforie.md (managed-dysphoria.md) * Add&review Dutch impostor-syndrome page * Add the Dutch translation for the am-i-trans page Warning! This page hasn't been reviewed yet! * Add & review Dutch translation for diagnoses page * Revert "Add comments for broken link" This reverts commit 6692acb9f7d13663036b1e210584f844e7077046. * Update broken link in Dutch translation Fix link from Issue #139 in Dutch translation after new link was provided and other languages fixed * Review and update first half of am-i-trans page Only got to about the first half while on a plane * Update text&complete review of am-i-trans in Dutch Update headers to capitalize them correctly Update all uses of quotes to fix their use Complete last part of page * Proposed typo fix in treatment.md * Add&review Dutch translation of causes page * Add unreviewed Dutch translation of chromosomes * Add unreviewed Dutch translation of hormones page * Review&update Dutch chromosomes page * Review&update Dutch translation of hormones page * Add&review Dutch translation of treatment page * Start Dutch (manual) translation of conclusion * Update&Review Dutch translation of conclusion page * Finish reviewing Dutch translation of hormones * Add unreviewed Dutch translation of masc 2nd pub * Remove double space from second-puberty-masc page * Start reviewing Dutch translation of masc puberty * Complete reviewing translation of masc puberty * Small change in the first note on Dutch masc pub * Add&review Dutch translation of fem 2nd puberty * Resolve ToDo in Dutch geschiedenis page Did some research to confirm the meaning of the WV abbreviation in the quote on the original English page * Resolve ToDo in Dutch ben-ik-trans page Resolve ToDo about the translation of a sentence * Change page name in link to Dutch 2nd fem puberty Page link from Dutch conclusion page to the previous 2nd fem puberty page was incorrectly named * Fix link on Dutch conclusion page Dutch Conclusion page linked back to the English 2nd fem puberty page * Fix Dutch printable page view Dutch version of _concat.json was collecting the pages to the wrong output
Codebase for the Gender Dysphoria Bible.
Code for this site is distributed as MIT licensed.
Site content such as essays and photo materials are copyright Jocelyn Badgley & other contributors, and are licensed Creative Commons, Attribution-NonCommercial-ShareAlike (see LICENSE.txt).
How to use this repository
The GDB is a static content site generated using a custom built framework written in Node.js. The majority of the code that drives the build process sits in the build
directory. This code is activated via a GulpJS command interface.
You do not need to be able to execute the generation code in order to contribute content. All site content is stored in the public
folder, with the GDB content under public/gdb
. Changes to this content can be done to anyone who is experienced with HTML and git source control.
Site Content
Page content is in markdown format, extended with a custom form of Handlebars for content injection. Sections wrapped {!{like this}!}
are blocks of handlebar code that will be rendered as embedded HTML.
The beginning of each markdown file contains a YAML formatted header block with metadata relevant to that file. The keywords at the start of each line are significant to the page generation process.
date
: This defines the creation date of the page and should never be changed unless a new page is created.title
: This is the title of the page as it appears in the browser titlebar and when embedded on social media.description
: This is the description of the page that appears when linked on social media.preBody
: This defines the file to use for the block of text that appears at the top of each page in the GDB.- siblings`: This controls the navigation links that appear at the bottom of each page.
classes
: These are the css classes to apply to the page body for styling the page.tweets
: This is a list of twitter urls or tweet ids that are embedded on the page. This is necessary for the engine to gather those tweets during the pre-render process so that they are available for embedding.
There are various content templates used throughout the pages that render common page elements, such as images and tweet blocks. These are imported using {{import }}
handlebars blocks. Reference existing pages for examples of how to use these.
The img
block can access any images stored either in the _images
directory on the same level as the markdown file. They are made available by name, without the file extension. Any image prefixed with an underscore (such as _titlecard.png
) is treated as a pre-made asset and will NOT be processed into different resolutions for site optimization.
Site Styling
All stylesheets for the site are built using SCSS and are are stored in the scss
directory. Styling is broken into various subset files, organized by purpose. The site styling is built on top of Bootstrap 4 and makes used of its variables, mixins and components.
Building the site with NodeJS
To execute this codebase you will need to have Node.js and npm installed on your computer and be familiar with the command line interface. Your computer will also need to have the gd
and graphicsmagick
libraries installed. See the build instructions below.
After cloning this repository to your computer you will need to run npm install
in the project directory to install all of the dependency modules. If you haven't previously used gulp, you will also need to install the gulp CLI tools with npm install --global gulp-cli
. Once this install is complete you can build the site by running the gulp
command. This will compile all of the image assets, render the site stylesheets, and build the individual pages, before launching a local webserver to host the site for previewing the rendered content. Any changes made to the content while this server is running will trigger a recompile so that the page can simply be reloaded.
The command gulp uat
will build the site as if it is prepared for deployment to the website. This performs extra optimizations to reduce the size of the site.
You can use npm run build
to trigger the Gulp build process for production.
Tweet Content
The file twitter-backup.json
contains the contents of all tweets used on the site. In order to add new tweets to the website (and be able to have them displayed), you will need to create a twitter-config.json
file in the site root containing your own personal twitter API credentials.
The file is in this format:
{
"consumer_key": "YOUR",
"consumer_secret": "TWITTER",
"access_token_key": "CREDENTIALS",
"access_token_secret": "HERE"
}
Site Publishing
Publishing the site content requires AWS credentials which are not stored in this repository. Attempts to use the gulp publish
command will fail.