Topbanner/fundraising box (#1726)
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Max Mehl 2020-12-07 10:43:01 +00:00
parent 10009161c1
commit e4ced217ca
19 changed files with 242 additions and 136 deletions

2
.gitignore vendored
View File

@ -8,7 +8,7 @@ news/????/index.sources
news/????/index.xsl
news/*/.*.??.xml
global/data/texts/.texts.??.xml
.fundraising.??.xml
global/data/topbanner/.topbanner.??.xml
.default.xsl
.localmenu.*.xml
.*.xmllist

View File

@ -75,7 +75,7 @@ $(SUBDIRS): .FORCE
# After this step, the following symlinks will exist:
# * global/data/texts/.texts.<lang>.xml for each language
# * ./fundraising.<lang>.xml for each language
# * global/data/topbanner/.topbanner.<lang>.xml for each language
# Each of these symlinks will point to the corresponding file without a dot at
# the beginning of the filename, if present, and to the English version
# otherwise. This symlinks make sure that phase 2 can easily use the right file
@ -93,14 +93,14 @@ global/data/texts/.texts.%.xml: .FORCE
ln -sf texts.en.xml $@; \
fi
FUNDRAISING_LINKS := $(foreach lang,$(LANGUAGES),.fundraising.$(lang).xml)
TOPBANNER_LINKS := $(foreach lang,$(LANGUAGES),global/data/topbanner/.topbanner.$(lang).xml)
all: $(FUNDRAISING_LINKS)
.fundraising.%.xml: .FORCE
if [ -f fundraising.$*.xml ]; then \
ln -sf fundraising.$*.xml $@; \
all: $(TOPBANNER_LINKS)
global/data/topbanner/.topbanner.%.xml: .FORCE
if [ -f global/data/topbanner/topbanner.$*.xml ]; then \
ln -sf topbanner.$*.xml $@; \
else \
ln -sf fundraising.en.xml $@; \
ln -sf topbanner.en.xml $@; \
fi
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

View File

@ -57,7 +57,7 @@ EOF
for lang in ${languages}; do
cat<<EOF
\$(filter %.${lang}.html,\$(HTML_DST_FILES)): \$(OUTPUTDIR)/%.${lang}.html: \$(INPUTDIR)/%.*.xhtml \$\$(XMLLIST_DEP) \$\$(XSL_DEP) \$(INPUTDIR)/global/data/texts/.texts.${lang}.xml \$(INPUTDIR)/global/data/texts/texts.en.xml \$(INPUTDIR)/.fundraising.${lang}.xml \$(INPUTDIR)/fundraising.en.xml
\$(filter %.${lang}.html,\$(HTML_DST_FILES)): \$(OUTPUTDIR)/%.${lang}.html: \$(INPUTDIR)/%.*.xhtml \$\$(XMLLIST_DEP) \$\$(XSL_DEP) \$(INPUTDIR)/global/data/texts/.texts.${lang}.xml \$(INPUTDIR)/global/data/texts/texts.en.xml \$(INPUTDIR)/global/data/topbanner/.topbanner.${lang}.xml
echo "* Building \$*.${lang}.html"
\${PROCESSOR} \${PROCFLAGS} process_file "\$(INPUTDIR)/\$*.${lang}.xhtml" > "\$@"
EOF
@ -144,7 +144,7 @@ EOF
for lang in ${languages}; do
cat<<EOF
\$(OUTPUTDIR)/%.${lang}.rss: \$(INPUTDIR)/%.*.xhtml \$\$(XMLLIST_DEP) \$(INPUTDIR)/%.rss.xsl \$(INPUTDIR)/global/data/texts/.texts.${lang}.xml \$(INPUTDIR)/global/data/texts/texts.en.xml \$(INPUTDIR)/.fundraising.${lang}.xml \$(INPUTDIR)/fundraising.en.xml
\$(OUTPUTDIR)/%.${lang}.rss: \$(INPUTDIR)/%.*.xhtml \$\$(XMLLIST_DEP) \$(INPUTDIR)/%.rss.xsl \$(INPUTDIR)/global/data/texts/.texts.${lang}.xml \$(INPUTDIR)/global/data/texts/texts.en.xml
echo "* Building \$*.${lang}.rss"
\${PROCESSOR} \${PROCFLAGS} process_file "\$(INPUTDIR)/\$*.${lang}.xhtml" "\$(INPUTDIR)/\$*.rss.xsl" > "\$@"
EOF
@ -176,7 +176,7 @@ EOF
for lang in ${languages}; do
cat<<EOF
\$(OUTPUTDIR)/%.${lang}.ics: \$(INPUTDIR)/%.*.xhtml \$\$(XMLLIST_DEP) \$(INPUTDIR)/%.ics.xsl \$(INPUTDIR)/global/data/texts/.texts.${lang}.xml \$(INPUTDIR)/global/data/texts/texts.en.xml \$(INPUTDIR)/.fundraising.${lang}.xml \$(INPUTDIR)/fundraising.en.xml
\$(OUTPUTDIR)/%.${lang}.ics: \$(INPUTDIR)/%.*.xhtml \$\$(XMLLIST_DEP) \$(INPUTDIR)/%.ics.xsl \$(INPUTDIR)/global/data/texts/.texts.${lang}.xml \$(INPUTDIR)/global/data/texts/texts.en.xml
echo "* Building \$*.${lang}.ics"
\${PROCESSOR} \${PROCFLAGS} process_file "\$(INPUTDIR)/\$*.${lang}.xhtml" "\$(INPUTDIR)/\$*.ics.xsl" > "\$@"
EOF

View File

@ -66,15 +66,15 @@ auto_sources(){
build_xmlstream(){
# assemble the xml stream for feeding into xsltproc
# the expected shortname and language flag indicate
# the expected shortname and language flag indicate
# a single xhtml page to be built
shortname="$1"
lang="$2"
olang="$(echo "${shortname}".[a-z][a-z].xhtml "${shortname}".[e]n.xhtml |sed -rn 's;^.*\.([a-z]{2})\.xhtml.*$;\1;p')"
dirname="${shortname%/*}/"
topbanner_xml="$basedir/global/data/topbanner/.topbanner.${lang}.xml"
texts_xml="$basedir/global/data/texts/.texts.${lang}.xml"
fundraising_xml="$basedir/.fundraising.${lang}.xml"
date="$(date +%Y-%m-%d)"
time="$(date +%H:%M:%S)"
outdated=no
@ -97,14 +97,14 @@ build_xmlstream(){
language="$lang"
outdated="$outdated"
>
<trlist>
$(list_langs "$shortname")
</trlist>
<topbanner>$(include_xml "$topbanner_xml")</topbanner>
<textsetbackup>$(include_xml "$basedir/global/data/texts/texts.en.xml")</textsetbackup>
<textset>$(include_xml "$texts_xml")</textset>
<fundraising>$(include_xml "$fundraising_xml")</fundraising>
<document
language="$act_lang"
@ -113,10 +113,10 @@ build_xmlstream(){
<set>
$(auto_sources "${shortname}" "$lang")
</set>
$(include_xml "$infile")
</document>
</buildinfo>
EOF
}

View File

@ -2,6 +2,7 @@
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:include href="fsfe_pageclass.xsl" />
<xsl:include href="fsfe_topbanner.xsl" />
<xsl:include href="translation_list.xsl" />
<xsl:include href="fsfe_pageheader.xsl" />
<xsl:include href="notifications.xsl" />
@ -22,6 +23,7 @@
<xsl:call-template name="translation_list" />
<xsl:call-template name="fsfe_pageheader" />
<xsl:call-template name="fsfe_topbanner" />
<xsl:call-template name="notifications" />
<xsl:call-template name="fsfe_mainsection" />
<xsl:call-template name="fsfe_followupsection" />
@ -32,4 +34,3 @@
</xsl:template>
</xsl:stylesheet>

View File

@ -6,10 +6,10 @@
<xsl:template match="
buildinfo/document/translator|
buildinfo/set|
buildinfo/topbanner|
buildinfo/textset|
buildinfo/textsetbackup|
buildinfo/trlist|
buildinfo/fundraising|
buildinfo/localmenuset|
buildinfo/document/legal|
buildinfo/document/author|

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template name="fsfe_topbanner">
<xsl:element name="div">
<xsl:attribute name="class">topbanner</xsl:attribute>
<xsl:element name="div">
<xsl:attribute name="id">topbanner-border</xsl:attribute>
<xsl:element name="div">
<xsl:attribute name="id">topbanner-inner</xsl:attribute>
<xsl:apply-templates select="/buildinfo/topbanner/node()" />
</xsl:element>
</xsl:element>
</xsl:element>
</xsl:template>
</xsl:stylesheet>

View File

@ -108,50 +108,6 @@
</xsl:if>
</xsl:element><!-- End Info Box -->
<!-- Fundraising box
<xsl:element name="div">
<xsl:attribute name="id">fundraising</xsl:attribute>
<xsl:element name="h2">
<xsl:apply-templates select="/buildinfo/fundraising/call1/node()"/>
</xsl:element>
<xsl:element name="div">
<xsl:attribute name="class">button</xsl:attribute>
<xsl:apply-templates select="/buildinfo/fundraising/call2/node()"/>
</xsl:element>
<xsl:element name="div">
<xsl:attribute name="class">button</xsl:attribute>
<xsl:apply-templates select="/buildinfo/fundraising/call3/node()"/>
</xsl:element>
<xsl:element name="img">
<xsl:attribute name="src">/graphics/wreath.png</xsl:attribute>
<xsl:attribute name="alt">wreath</xsl:attribute>
<xsl:attribute name="class">right</xsl:attribute>
</xsl:element>
<xsl:element name="p">
<xsl:attribute name="class">call4</xsl:attribute>
<xsl:apply-templates select="/buildinfo/fundraising/call4/node()"/>
</xsl:element>
disabling the progress bar
<xsl:if test="/buildinfo/fundraising/current">
<xsl:element name="div">
<xsl:attribute name="class">percentbox</xsl:attribute>
<xsl:element name="div">
<xsl:attribute name="class">percentbar</xsl:attribute>
<xsl:attribute name="style">width: 45.9%</xsl:attribute>
</xsl:element>
</xsl:element>
<xsl:element name="p">
<xsl:attribute name="class">current</xsl:attribute>
<xsl:apply-templates select="/buildinfo/fundraising/current/node()"/>
<xsl:text>€ 45 860</xsl:text>
</xsl:element>
<xsl:element name="p">
<xsl:attribute name="class">target</xsl:attribute>
<xsl:text>€ 100 000</xsl:text>
</xsl:element>
</xsl:if> c
</xsl:element> -->
<!-- End Fundraising box -->
</xsl:element>
</xsl:template>

View File

@ -1,18 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<fundraising>
<version>1</version>
<call1>
FSFE Needs Your Help!
</call1>
<call2>
<a href="/about/overview2010.html">Our work in 2010</a>
</call2>
<call3>
<a href="https://my.fsfe.org/donate">Donate to FSFE</a>
</call3>
<call4>
Digital freedoms are worth fighting for. Please support our work - donate today
</call4>
</fundraising>

View File

@ -1,18 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<fundraising>
<version>1</version>
<call1>
La FSFE a besoin de votre aide!
</call1>
<call2>
<a href="/about/overview2010.html">Notre travail en 2010</a>
</call2>
<call3>
<a href="https://my.fsfe.org/donate">Faire un don</a>
</call3>
<call4>
Les libertés numériques valent le coup qu'on se batte pour elles. Merci de soutenir notre travail - faites un don aujourd'hui
</call4>
</fundraising>

View File

@ -1,18 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<fundraising>
<version>1</version>
<call1>
Aiuta la FSFE!
</call1>
<call2>
<a href="/about/overview2010.html">Il nostro lavoro nel 2010</a>
</call2>
<call3>
<a href="https://my.fsfe.org/donate">Dona alla FSFE</a>
</call3>
<call4>
Combattere per le libertà digitali: ne vale la pena. Sostieni il nostro lavoro, dona oggi!
</call4>
</fundraising>

View File

@ -1,18 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<fundraising>
<version>1</version>
<call1>
FSFE-së i Duhet Ndihma Juaj!
</call1>
<call2>
<a href="/about/overview2010.html">Puna jonë gjatë 2010</a>
</call2>
<call3>
<a href="https://my.fsfe.org/donate">Dhuroni për FSFE-në</a>
</call3>
<call4>
Ia vlen të luftohet për lirinë dixhitale. Ju lutemi, përkrahni punën tonë - dhuroni sot
</call4>
</fundraising>

View File

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<data>
<version>1</version>
<div class="text-button-box">
<div class="row">
<div class="col-xs-12 col-sm-9 col-md-10">
<p>
2020 war ein herausforderndes Jahr für alle, aber <strong>wir haben
unser weiter eingesetzt</strong> für Softwarefreiheit in vielen
Bereichen. <strong>Wir brauchen jetzt Ihre Unterstützung</strong>, um
diese Arbeit im nächsten Jahr fortzusetzen. Wenn es Ihnen möglich ist,
<strong>spenden Sie uns bitte heute</strong>.
</p>
<p>
Wir brauchen auch Ihre Hilfe, um mehr Menschen zu erreichen. Also
<strong>erzählen Sie bitte Ihren Freunden und Ihrer Familie</strong>
von unserer Arbeit und diesem Aufruf. Vielen Dank von allen bei der
FSFE!
</p>
</div>
<div class="col-xs-12 col-sm-3 col-md-2">
<a class="btn btn-lg btn-success" href="https://my.fsfe.org/donate?referrer=topbanner">Jetzt spenden</a>
</div>
</div>
</div>
</data>

View File

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<data>
<version>1</version>
<div class="text-button-box">
<div class="row">
<div class="col-xs-12 col-sm-9 col-md-10">
<p>
2020 has been a challenging year for everyone, but <strong>we have
kept fighting</strong> for the freedom of software users everywhere.
<strong>We need your support now</strong> to carry on this work next
year. If you are in a position to do so, <strong>please donate to us
today</strong>.
</p>
<p>
We also need your help to spread the word, so do not forget to
<strong>tell your friends and family</strong> about our work and
fundraising efforts. Thank you so much from everyone at the FSFE!
</p>
</div>
<div class="col-xs-12 col-sm-3 col-md-2">
<a class="btn btn-lg btn-success" href="https://my.fsfe.org/donate?referrer=topbanner">Donate Now</a>
</div>
</div>
</div>
</data>

View File

@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?>
<data>
<version>1</version>
<div class="text-button-box">
<div class="row">
<div class="col-xs-12 col-sm-9 col-md-10">
<p>
2020 ha sido un año difícil para todo el mundo, pero <strong>nos
mantuvimos en la lucha</strong> por la libertad de los usuarios del
software en todo lugar. <strong>Necesitamos tu apoyo ahora</strong>
para conseguir llevar adelante este trabajo el año que viene. Si tu
situación te lo permite, <strong>considera por favor hacernos una
donación hoy</strong>.
</p>
<p>
Además necesitamos tu ayuda para difundir nuestro mensaje, así que no
te olvides de <strong>contarles a tus amigos y familia</strong> acerca
de nuestro trabajo y esfuerzos por financiarnos. ¡Muchas gracias de
parte de cada uno de nosotros en la FSFE!
</p>
</div>
<div class="col-xs-12 col-sm-3 col-md-2">
<a class="btn btn-lg btn-success" href="https://my.fsfe.org/donate?referrer=topbanner">Donar ahora</a>
</div>
</div>
</div>
</data>

View File

@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?>
<data>
<version>1</version>
<div class="text-button-box">
<div class="row">
<div class="col-xs-12 col-sm-9 col-md-10">
<p>
2020 a été une année éprouvante pour tout le monde, mais <strong>nous
avons continué de lutter</strong> partout pour la liberté des
utilisateurs de logiciels. <strong>Nous avons besoin de votre soutien
maintenant</strong> pour continuer ce travail l'année prochaine. Si
vous le pouvez, <strong>merci de nous faire un don dès
aujourd'hui</strong>.
</p>
<p>
Nous avons aussi besoin de votre aide pour faire passer le mot, alors
n'oubliez pas <strong>d'informer vos amis et votre famille</strong>
sur notre travail et notre levée de fonds. Merci beaucoup de la part
de toute l'équipe de la FSFE!
</p>
</div>
<div class="col-xs-12 col-sm-3 col-md-2">
<a class="btn btn-lg btn-success" href="https://my.fsfe.org/donate?referrer=topbanner">Faire un don</a>
</div>
</div>
</div>
</data>

View File

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<data>
<version>1</version>
<div class="text-button-box">
<div class="row">
<div class="col-xs-12 col-sm-9 col-md-10">
<p>
2020 herkes için oldukça zordu, ama her yerdeki yazılım kullanıcılarının
özgürlüğü için <strong>mücadelemizi sürdürdük</strong>. Bu çabamızı önümüzdeki
yıla taşımak için <strong>şimdi desteğinize ihtiyacımız var</strong>. Eğer
imkanınız varsa <strong>hemen bugün bize bağış yapın</strong>.
</p>
<p>
Özgürlüğü yaymak için de yardımınız gerekiyor, bu nedenle çalışmalarımızı ve
bağış toplama çabalarımızı <strong>arkadaşlarınıza ve ailenize
söylemeyi</strong> unutmayın. FSFE'deki herkes size çok çok teşekkür ediyor!
</p>
</div>
<div class="col-xs-12 col-sm-3 col-md-2">
<a class="btn btn-lg btn-success" href="https://my.fsfe.org/donate?referrer=topbanner">Şimdi bağış yap</a>
</div>
</div>
</div>
</data>

View File

@ -0,0 +1,52 @@
// ============================================================================
// Style for topbanner
// ============================================================================
div.topbanner {
.container;
padding: 0 15px 20px 15px;
@media (min-width: @screen-sm-min) {
padding: 0 0 20px 0;
}
#topbanner-border {
position: relative;
background: linear-gradient(160deg, rgba(208,244,0,1) 0%, rgba(74,210,240,1) 50%, rgba(32,45,121,1) 100%);
padding: 5px;
#topbanner-inner {
background: #fff;
padding: 2rem;
// 2-column box with text on the left, and a centered button on the right
.text-button-box {
// Make all columns same height by using flexbox
// This is used to have the button centered also vertically
.row {
display: flex;
flex-wrap: wrap;
& > [class*='col-'] {
display: flex;
flex-direction: column;
}
// Style and position button (2nd column)
& div:nth-child(2) {
align-items: center;
justify-content: center;
// Make button as significant as on the front-page donation modules
.btn-success {
font-weight: 500;
font-size: 125%;
}
}
}
} // /.text-button-box
}
}
}

View File

@ -5,6 +5,7 @@
@import "elements/search-box";
@import "elements/sharebuttons";
@import "elements/people";
@import "elements/topbanner";
@import "pages/frontpage";
@import "pages/news";
@import "pages/interview";