<?xml version="1.0" encoding="UTF-8"?>
<article xmlns="http://docbook.org/ns/docbook" xmlns:xl="http://www.w3.org/1999/xlink" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="index" xml:lang="en">
<info>
<title>shlomifish.org INSTALL [by Shlomi Fish]</title>
<date>2022-10-27</date>
<authorgroup>
<author>
<personname>
<firstname>Shlomi</firstname>
<surname>Fish</surname>
</personname>
<affiliation>
<address>
<email>shlomif@shlomifish.org</email>
<uri type="homepage" xlink:href="http://www.shlomifish.org/">Shlomi Fish’s Homepage</uri>
</address>
</affiliation>
</author>
</authorgroup>
<copyright>
<year>2022</year>
<holder>Shlomi Fish</holder>
</copyright>
<legalnotice xml:id="main_legal_notice">
<info>
<title>CC-by dedication</title>
</info>
<para>
<!--Creative Commons License-->
This work is licensed under the <link xlink:href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 License (CC-by)</link> (or at your option a greater version of it).
</para>
</legalnotice>
</info>

<section xml:id="docker">

<info>
<title>Docker script</title>
</info>

<programlisting>
perl bin/docker-ci-run.pl --cleanrun 2&gt;&amp;1 | tee "${HOME}/shlomif-homepage.build.out.txt"
</programlisting>

</section>

<section xml:id="main">

<info>
<title>Main</title>
</info>

<para>
Follow the following steps to build the homesite:
</para>
<orderedlist numeration="arabic">
<listitem>
<para>
Install git - <link xlink:href="http://git-scm.com/">http://git-scm.com/</link> .
</para>
</listitem>
<listitem>
<para>
Install perl 5.16.x (or later) in case it’s not already installed.
You should have a package for it for your system.
</para>
</listitem>
<listitem>
<para>
Install Website Meta Language (version 2.28.0 or later):
</para>
<para>
<link xlink:href="https://github.com/thewml/website-meta-language/releases">https://github.com/thewml/website-meta-language/releases</link>
</para>
</listitem>
<listitem>
<para>
Run and configure CPAN (see - <link xlink:href="https://perl-begin.org/topics/cpan/">https://perl-begin.org/topics/cpan/</link>
) and type:
</para>
<programlisting language="bash">
export PERL_MM_USE_DEFAULT=1
perl -MCPAN -e 'install App::Deps::Verify Task::Sites::ShlomiFish'
</programlisting>
<para>
or:
</para>
<programlisting language="bash">
export PERL_MM_USE_DEFAULT=1
perl -MCPANPLUS -e 'install App::Deps::Verify Task::Sites::ShlomiFish'
</programlisting>
<para>
or:
</para>
<programlisting language="bash">
export PERL_MM_USE_DEFAULT=1
cpanm App::Deps::Verify Task::Sites::ShlomiFish
</programlisting>
</listitem>
<listitem>
<para>
Install Latemp:
</para>
<para>
See <link xlink:href="https://web-cpan.shlomifish.org/latemp/">https://web-cpan.shlomifish.org/latemp/</link> and
<link xlink:href="https://github.com/thewml/latemp">https://github.com/thewml/latemp</link> .
</para>
</listitem>
<listitem>
<para>
Add Latemp to the beginning of your path:
</para>
<programlisting language="bash">
PATH=&quot;$HOME/apps/latemp/bin:$PATH&quot;
</programlisting>
</listitem>
<listitem>
<para>
Install the latest version of Quad-Pres from:
</para>
<para>
See <link xlink:href="https://www.shlomifish.org/quad-pres/">https://www.shlomifish.org/quad-pres/</link> and
<link xlink:href="https://github.com/shlomif/quad-pres">https://github.com/shlomif/quad-pres</link> :
</para>
<programlisting language="bash">
git clone https://github.com/shlomif/quad-pres
cd quad-pres/installer
</programlisting>
<para>
See its INSTALL file. Put a working <literal>quadp</literal>
executable in your shell’s PATH.
</para>
</listitem>
<listitem>
<para>
Install the wml-affiliations.
</para>
<programlisting language="bash">
git clone https://github.com/shlomif/wml-affiliations trunk
cd trunk/wml
bash Install.bash
</programlisting>
</listitem>
<listitem override="9">
<para>
Install the wml-extended-apis:
</para>
<programlisting language="bash">
git clone https://github.com/thewml/wml-extended-apis trunk
cd trunk/xhtml/1.x/
bash Install.bash
</programlisting>
</listitem>
<listitem override="10">
<para>
Install <link xlink:href="https://inkscape.org/">inkscape</link> -
version 1.0.x-or-later is recommended, and put its executable in
the path.
</para>
</listitem>
<listitem>
<para>
Install jing and put it in the path:
</para>
<para>
<link xlink:href="http://www.thaiopensource.com/relaxng/jing.html">http://www.thaiopensource.com/relaxng/jing.html</link>
</para>
</listitem>
<listitem override="12">
<para>
Install Apache FOP and put it in the path:
</para>
<para>
<link xlink:href="http://xmlgraphics.apache.org/fop/">http://xmlgraphics.apache.org/fop/</link>
</para>
</listitem>
<listitem override="13">
<para>
Install
<link xlink:href="http://optipng.sourceforge.net/">optipng</link>
and put it in the path
</para>
</listitem>
<listitem>
<para>
Put the XHTML 1.1 DTDs , the XHTML 1.0 DTDs , etc. in your
<literal>XML_CATALOG_FILES</literal> environment variable.
</para>
<para>
An easy way to do that is to do:
</para>
<programlisting language="bash">
git clone https://github.com/w3c/markup-validator.git
</programlisting>
<para>
And set the <literal>XML_CATALOG_FILES</literal> enviroment variable to
<quote>/etc/xml/catalog
$(pwd)/markup-validator/htdocs/sgml-lib/catalog.xml</quote>
</para>
</listitem>
<listitem override="15">
<para>
Do the following to build the site, after all dependencies were
installed:
</para>
<programlisting language="bash">
git clone https://github.com/shlomif/shlomi-fish-homepage.git trunk
cd trunk
if test "${WANT_TO_TEST_SPELLING}" = "1"
then
    # May require having Fedora 42 - compatible hunspell wordlists
    export SKIP_SPELL_CHECK=",en:lax,"
    # export SKIP_SPELL_CHECK=""
else
    export SKIP_SPELL_CHECK=",en,"
fi
./gen-helpers
gmake
gmake docbook_extended
gmake test
</programlisting>
<para>
The site’s pages and data files should be in
<literal>dest/post-incs/t2/</literal> .
</para>
</listitem>
<listitem>
<para>
An optional test is:
</para>
<programlisting language="bash">
bash -x bin/link-checker-for-shlomifish.org.bash
</programlisting>
</listitem>
</orderedlist>
</section>
</article>
