2021-12-29 06:46:09 -08:00
const { Event , day , week , month , dayYear , EventLevel , Day } = require ( "../../../src/calendar/helpers" ) ;
2021-08-14 07:22:30 -07:00
2021-09-16 03:52:10 -07:00
module . exports = [
2021-12-23 08:22:02 -08:00
// --- months ---
2021-09-14 07:13:50 -07:00
new Event ( 'LGBT History Month (UK/Hungary/Netherlands)' , 'Progress Pride' , 2 , month , EventLevel . Month ) ,
2021-09-14 05:12:17 -07:00
new Event ( 'LGBT History Month (US/Canada/Australia)' , 'Progress Pride' , 10 , month , EventLevel . Month ) ,
2021-09-14 07:13:50 -07:00
new Event ( 'LGBT History Month (Ireland/Germany)' , 'Progress Pride' , 5 , month , EventLevel . Month ) ,
2021-10-16 12:18:05 -07:00
new Event ( '{/terminology#transgender=Trans} Visibility Month (Brazil)' , 'Transgender' , 1 , month , EventLevel . Month , [ 'transgender' ] ) ,
new Event ( '{/terminology#lesbian=Lesbian} Visibility Month (Brazil)' , 'Lesbian' , 8 , month , EventLevel . Month , [ 'lesbian' ] ) ,
2021-09-27 11:55:01 -07:00
new Event ( 'Diversity Month (Uruguay)' , 'LGBTQ' , 9 , month , EventLevel . Month ) ,
2021-10-16 12:18:05 -07:00
new Event ( '{/terminology#asexual=Asexual} Visibility Month (Brazil)' , 'Asexual' , 10 , month , EventLevel . Month , [ 'asexual' , 'asexual spectrum' ] ) ,
new Event ( '{/terminology#transgender=Transgender} History Month (US)' , 'Transgender' , 8 , month , EventLevel . Month , [ 'transgender' ] ) ,
2021-09-23 23:37:40 -07:00
2021-12-23 08:22:02 -08:00
// --- static date ---
2021-09-25 07:25:40 -07:00
new Event ( 'Harvey Milk Day' , null , 5 , day ( 22 ) , EventLevel . Day ) ,
new Event ( 'Pink Triangle Day (Canada)' , null , 2 , day ( 14 ) , EventLevel . Day ) ,
2021-12-03 05:32:13 -08:00
new Event ( 'Marriage Equality Day (US)' , '_hrc' , 6 , day ( 26 ) , EventLevel . Day ) ,
new Event ( 'Marriage Equality Day (England and Wales)' , '_hrc' , 3 , day ( 13 ) , EventLevel . Day ) ,
new Event ( 'Marriage Equality Day (Scotland)' , '_hrc' , 12 , day ( 16 ) , EventLevel . Day ) ,
new Event ( 'Marriage Equality Day (Northern Ireland)' , '_hrc' , 1 , day ( 13 ) , EventLevel . Day ) ,
new Event ( 'Marriage Equality Day (Canada)' , '_hrc' , 7 , day ( 20 ) , EventLevel . Day ) ,
new Event ( 'Marriage Equality Day (Australia)' , '_hrc' , 12 , day ( 9 ) , EventLevel . Day ) ,
new Event ( 'Marriage Equality Day (New Zealand)' , '_hrc' , 8 , day ( 19 ) , EventLevel . Day ) ,
new Event ( 'Marriage Referendum Anniversary (Ireland)' , '_hrc' , 5 , day ( 22 ) , EventLevel . Day ) ,
2021-12-03 16:08:24 -08:00
new Event ( 'Freedom to Marry Day (US)' , '_hrc' , 2 , day ( 12 ) , EventLevel . Day ) ,
2021-12-03 02:15:02 -08:00
new Event ( '{https://www.cdc.gov/hiv/library/awareness/nthtd.html=Transgender HIV Testing Day} (US)' , 'Transgender' , 4 , day ( 18 ) , EventLevel . Day , [ 'aids' , 'transgender' ] ) ,
2021-12-03 05:32:13 -08:00
new Event ( '{https://www.cdc.gov/hiv/library/awareness/nbhaad.html=Black HIV Testing Day} (US/Canada)' , '_red-ribbon' , 2 , day ( 7 ) , EventLevel . Day , [ 'aids' ] ) ,
2021-09-25 07:25:40 -07:00
new Event ( 'Anniversary of the Decriminalisation of Homosexuality in England and Wales (1967)' , null , 7 , day ( 27 ) , EventLevel . Day ) ,
2021-12-08 05:43:57 -08:00
new Event ( 'Anniversary of the Decriminalisation of Homosexuality in Scotland (1981)' , '_law' , 2 , day ( 1 ) , EventLevel . Day ) ,
2021-10-23 21:22:10 -07:00
new Event ( '{/terminology#two%20spirit=Two Spirit} Awareness Day' , 'Two Spirit' , 7 , day ( 11 ) , EventLevel . Day , [ 'two spirit' ] ) ,
2021-12-03 05:32:13 -08:00
new Event ( '{https://www.cdc.gov/hiv/library/awareness/ngmhaad.html=Gay Men\'s HIV/AIDS Awareness Day} (US)' , '_red-ribbon' , 9 , day ( 27 ) , EventLevel . Day , [ 'aids' , 'gay' ] ) ,
new Event ( '{https://www.cdc.gov/hiv/library/awareness/nhaad.html=HIV/AIDS and Aging Awareness Day} (US/Canada)' , '_red-ribbon' , 9 , day ( 18 ) , EventLevel . Day , [ 'aids' ] ) ,
2021-09-25 07:25:40 -07:00
new Event ( 'LGBT Center Awareness Day (US)' , null , 10 , day ( 19 ) , EventLevel . Day ) ,
new Event ( '{https://twitter.com/_EQUALGROUND_/status/1440232964286124050=Lesbian Visibility Day} (Sri Lanka)' , 'Lesbian' , 9 , day ( 21 ) , EventLevel . Day ) ,
2021-12-03 05:32:13 -08:00
new Event ( '{https://www.cdc.gov/hiv/library/awareness/nlaad.html=Latinx AIDS Awareness Day} (US)' , '_red-ribbon' , 10 , day ( 15 ) , EventLevel . Day , [ 'aids' ] ) ,
new Event ( '{https://www.cdc.gov/hiv/library/awareness/shaad.html=Southern HIV/AIDS Awareness Day} (US)' , '_red-ribbon' , 8 , day ( 20 ) , EventLevel . Day , [ 'aids' ] ) ,
new Event ( '{https://www.cdc.gov/hiv/library/awareness/napihaad.html=Asian and Pacific Islander HIV/AIDS Awareness Day} (US)' , '_red-ribbon' , 5 , day ( 19 ) , EventLevel . Day , [ 'aids' ] ) ,
new Event ( '{https://www.cdc.gov/hiv/library/awareness/nyhaad.html=Youth HIV/AIDS Awareness Day} (US)' , '_red-ribbon' , 4 , day ( 10 ) , EventLevel . Day , [ 'aids' ] ) ,
new Event ( '{https://www.cdc.gov/hiv/library/awareness/nwghaad.html=Women and Girls HIV/AIDS Awareness Day} (US)' , '_red-ribbon' , 3 , day ( 10 ) , EventLevel . Day , [ 'aids' ] ) ,
new Event ( '{https://www.cdc.gov/hiv/library/awareness/nnhaad.html=Native HIV/AIDS Awareness Day} (US)' , '_red-ribbon' , 3 , day ( 20 ) , EventLevel . Day , [ 'aids' ] ) ,
new Event ( '{https://www.hiv.gov/events/awareness-days/hiv-long-term-survivors-day=HIV Long-Term Survivors Awareness Day} (US)' , '_red-ribbon' , 6 , day ( 5 ) , EventLevel . Day , [ 'aids' ] ) ,
2021-10-16 12:18:05 -07:00
new Event ( '{/terminology#transgender=Trans} Visibility Day (Brazil)' , 'Transgender' , 1 , day ( 29 ) , EventLevel . Day , [ 'transgender' ] ) ,
new Event ( 'National {/terminology#pride=Gay Pride} Day (Brazil)' , 'LGBTQ' , 3 , day ( 25 ) , EventLevel . Day ) ,
new Event ( '{/terminology#lesbian=Lesbian} Visibility Day (Brazil)' , 'Lesbian' , 8 , day ( 29 ) , EventLevel . Day , [ 'lesbian' ] ) ,
2022-01-08 03:04:54 -08:00
new Event ( '{/terminology#lesbian=Lesbian} Rebelliousness Day (Latin America)' , 'Lesbian' , 10 , day ( 13 ) , EventLevel . Day , [ 'lesbian' ] ) ,
2021-10-16 12:18:05 -07:00
new Event ( '{/terminology#lesbian=Lesbian} Visibility Day (Chile)' , 'Lesbian' , 7 , day ( 9 ) , EventLevel . Day , [ 'lesbian' ] ) ,
new Event ( '{/terminology#lesbian=Lesbian} Visibility Day (Argentina)' , 'Lesbian' , 3 , day ( 7 ) , EventLevel . Day , [ 'lesbian' ] ) ,
new Event ( '{/terminology#lesbian=Lesbian} Visibility Day (Paraguay)' , 'Lesbian' , 9 , day ( 16 ) , EventLevel . Day , [ 'lesbian' ] ) ,
2021-09-25 07:25:40 -07:00
new Event ( 'Day of Activism for Sexual Diversity (Argentina)' , 'LGBTQ' , 8 , day ( 20 ) , EventLevel . Day ) ,
2021-10-16 12:18:05 -07:00
new Event ( '{/terminology#transgender=Trans} Rights Day (Argentina)' , 'Transgender' , 3 , day ( 18 ) , EventLevel . Day , [ 'transgender' ] ) ,
new Event ( '{/terminology#nonbinary=Nonbinary} People\'s Day (Poland)' , 'Nonbinary' , 3 , day ( 9 ) , EventLevel . Day , [ 'nonbinary' ] ) ,
2021-12-03 05:32:13 -08:00
new Event ( '{https://en.wikipedia.org/wiki/Matthew_Shepard=Matthew Shepard} Day of Remembrance' , '_black-ribbon' , 10 , day ( 12 ) , EventLevel . Day ) ,
2021-10-16 10:51:09 -07:00
new Event ( '{/terminology#transgender=Trans-}, {/terminology#travesti=Travesti} and {{/terminology#nonbinary=Non-Binary} Visibility Day (Paraguay)' , 'Transgender' , 10 , day ( 15 ) , EventLevel . Day , [ 'transgender' , 'nonbinary' , 'travesti' ] ) ,
2021-10-23 21:22:10 -07:00
new Event ( 'Missing and Murdered Indigenous Women, Girls, and {/terminology#two%20spirit=Two Spirit} Awareness Day' , 'Two Spirit' , 5 , day ( 5 ) , EventLevel . Day , [ 'two spirit' ] ) ,
2021-11-27 21:22:08 -08:00
new Event ( '{/terminology#travesti=Travesti} and {/terminology#transgender=Transgender} Pride Day (Brazil)' , 'Transgender' , 5 , day ( 15 ) , EventLevel . Day , [ 'transgender' , 'travesti' ] ) ,
2021-12-03 05:32:13 -08:00
new Event ( 'National AIDS Day (Uruguay)' , '_red-ribbon' , 7 , day ( 29 ) , EventLevel . Day , [ 'aids' ] ) ,
2021-12-03 02:15:02 -08:00
new Event ( 'National Day Against Violence and Homophobia Towards LGBTI People (Colombia)' , null , 8 , day ( 23 ) , EventLevel . Day , [ 'homophobia' , 'transphobia' , 'biphobia' ] ) ,
new Event ( 'LGBTI Rights Day (Paraguay)' , 'LGBTQ' , 9 , day ( 30 ) , EventLevel . Day , [ 'lgbtq' ] ) ,
new Event ( 'Day Against Hate Crime (Peru)' , null , 5 , day ( 31 ) , EventLevel . Day , [ 'homophobia' , 'transphobia' , 'biphobia' ] ) ,
2021-12-03 05:32:13 -08:00
new Event ( 'National HIV Testing Day (Spain)' , '_red-ribbon' , 10 , day ( 20 ) , EventLevel . Day , [ 'aids' ] ) ,
new Event ( 'National HIV Testing Day (Mexico)' , '_red-ribbon' , 11 , day ( 23 ) , EventLevel . Day , [ 'aids' ] ) ,
new Event ( 'National HIV Testing Day (Peru)' , '_red-ribbon' , 6 , day ( 10 ) , EventLevel . Day , [ 'aids' ] ) ,
2021-12-04 03:56:43 -08:00
new Event ( 'Suicide Prevention Day (Uruguay)' , '_yellow-ribbon' , 7 , day ( 17 ) , EventLevel . Day ) ,
new Event ( 'Sucide Prevention Day (Puerto Rico)' , '_yellow-ribbon' , 8 , day ( 12 ) , EventLevel . Day ) ,
2021-12-04 02:48:20 -08:00
2021-12-23 08:22:02 -08:00
// --- dynamic date ---
2021-12-04 02:48:20 -08:00
2021-12-23 08:22:02 -08:00
// last Friday of August
2021-09-16 10:58:17 -07:00
new Event ( 'Wear it Purple Day (Australia)' , null , 8 , function * ( monthDays ) {
let lastFriday = null ;
for ( let d of monthDays ) {
if ( d . dayOfWeek === 5 ) {
lastFriday = d ;
}
}
yield lastFriday ;
2021-09-25 07:25:40 -07:00
} , EventLevel . Day ) ,
2021-09-16 10:58:17 -07:00
2021-12-23 08:22:02 -08:00
// third Thursday of October
2021-09-16 10:58:17 -07:00
new Event ( 'Spirit Day' , null , 10 , function * ( monthDays ) {
2021-09-24 02:35:05 -07:00
let thursdays = 0 ;
2021-09-23 23:45:59 -07:00
for ( let d of monthDays ) {
if ( d . dayOfWeek === 4 ) {
thursdays ++ ;
if ( thursdays === 3 ) {
yield d ;
return ;
}
}
}
2021-09-25 07:25:40 -07:00
} , EventLevel . Day ) ,
2021-09-23 23:45:59 -07:00
2021-12-23 08:22:02 -08:00
// last Friday of February
2021-09-24 02:35:05 -07:00
new Event ( 'Purple Friday (UK)' , null , 2 , function * ( monthDays ) {
2021-09-23 23:45:59 -07:00
let lastFriday = null ;
for ( let d of monthDays ) {
if ( d . dayOfWeek === 5 ) {
lastFriday = d ;
}
}
yield lastFriday ;
2021-09-25 07:25:40 -07:00
} , EventLevel . Day ) ,
2021-09-23 23:45:59 -07:00
2021-12-23 08:22:02 -08:00
// last Friday of October
2021-12-03 16:08:24 -08:00
new Event ( 'Rainbow Friday (Poland)' , 'LGBTQ' , 10 , function * ( monthDays ) {
2021-09-23 23:45:59 -07:00
let lastFriday = null ;
for ( let d of monthDays ) {
if ( d . dayOfWeek === 5 ) {
lastFriday = d ;
}
}
yield lastFriday ;
2021-09-25 07:25:40 -07:00
} , EventLevel . Day ) ,
2021-09-23 23:45:59 -07:00
2021-12-23 08:22:02 -08:00
// second Friday of December
2021-09-23 23:45:59 -07:00
new Event ( 'Purple Friday (Netherlands)' , null , 12 , function * ( monthDays ) {
2021-09-16 10:58:17 -07:00
let fridays = 0 ;
for ( let d of monthDays ) {
if ( d . dayOfWeek === 5 ) {
fridays ++ ;
2021-09-23 23:45:59 -07:00
if ( fridays === 2 ) {
2021-09-16 10:58:17 -07:00
yield d ;
return ;
}
}
}
2021-09-25 07:25:40 -07:00
} , EventLevel . Day ) ,
2021-09-17 16:27:23 -07:00
2021-12-03 01:48:39 -08:00
// week (Sun-Sun) containing Dec 1st
2021-12-03 05:32:13 -08:00
new Event ( 'Aboriginal and Torres Strait Islander HIV Awareness Week (Australia)' , '_red-ribbon' , 12 , function * ( monthDays ) {
2021-12-03 01:48:39 -08:00
const decFirst = [ ... monthDays ] [ 0 ] ;
const days = new Set ( [ decFirst ] ) ;
let d = decFirst ;
while ( d . dayOfWeek !== 7 ) {
d = d . prev ( ) ;
days . add ( d )
}
d = decFirst ;
while ( days . size < 8 ) {
d = d . next ( ) ;
days . add ( d )
}
yield * days ;
2021-12-03 02:15:02 -08:00
} , EventLevel . Week , [ 'aids' ] ) ,
2021-12-03 01:48:39 -08:00
// Dec 1 - 7
2021-12-03 05:32:13 -08:00
new Event ( 'Indigenous AIDS Awareness Week (Canada)' , '_red-ribbon' , 12 , week ( function * ( monthDays ) {
2021-12-03 01:48:39 -08:00
for ( let d of monthDays ) {
if ( d . day <= 7 ) {
yield d ;
}
}
2021-12-03 02:15:02 -08:00
} ) , EventLevel . Week , [ 'aids' ] ) ,
2021-12-03 01:48:39 -08:00
// Nov 24 - Dec 1
2021-12-03 05:32:13 -08:00
new Event ( 'AIDS Awareness Week (Canada)' , '_red-ribbon' , 11 , function * ( monthDays ) {
2021-12-03 01:48:39 -08:00
let lastDay = null ;
for ( let d of monthDays ) {
if ( d . day >= 24 ) {
yield d ;
}
lastDay = d ;
}
yield new Day ( lastDay . year , 12 , 1 ) ;
2021-12-03 02:15:02 -08:00
} , EventLevel . Week , [ 'aids' ] ) ,
2021-12-03 01:48:39 -08:00
2021-09-17 16:27:23 -07:00
// one-off events
2021-09-25 07:25:40 -07:00
new Event ( 'Day of Silence' , null , 4 , dayYear ( 23 , 2021 ) , EventLevel . Day ) ,
2021-12-03 05:32:13 -08:00
new Event ( 'LGBTQIA+ Equal Pay Awareness Day' , '_hrc' , 6 , dayYear ( 16 , 2021 ) , EventLevel . Day ) ,
2021-08-14 07:22:30 -07:00
] ;