Remove old files
parent
5d60ae67d1
commit
f47d0c60d4
|
@ -1,9 +1,3 @@
|
||||||
[submodule "docs/papers/coope"]
|
|
||||||
path = docs/papers/coope
|
|
||||||
url = git@gitorious.org:easejs/coope.git
|
|
||||||
[submodule "docs/papers/cptt"]
|
|
||||||
path = docs/papers/cptt
|
|
||||||
url = https://mikegerwitz.com/projects/cptt
|
|
||||||
[submodule "papers/cptt"]
|
[submodule "papers/cptt"]
|
||||||
path = papers/cptt
|
path = papers/cptt
|
||||||
url = https://mikegerwitz.com/projects/cptt
|
url = https://mikegerwitz.com/projects/cptt
|
||||||
|
|
|
@ -1,2 +0,0 @@
|
||||||
^61b8ae9e91048c7a96ddc63cbc7f0f006b52ea6d
|
|
||||||
^ea177110c5b59d636ee856223ccaf522e96e36ad
|
|
|
@ -1,12 +0,0 @@
|
||||||
# Article configuration
|
|
||||||
|
|
||||||
[miscellaneous]
|
|
||||||
tabsize=4
|
|
||||||
textwidth=80
|
|
||||||
newline=\n
|
|
||||||
|
|
||||||
[attributes]
|
|
||||||
theme=style
|
|
||||||
stylesdir=./stylesheets
|
|
||||||
linkcss=1
|
|
||||||
disable-javascript=1
|
|
|
@ -1,74 +0,0 @@
|
||||||
### About
|
|
||||||
|
|
||||||
<img src="/images/me-libreplanet-2016.png"
|
|
||||||
alt="Photo of Mike"
|
|
||||||
title="LibrePlanet 2016 Talk 'Restore Online Freedom!'"
|
|
||||||
class="inline-img avatar" />
|
|
||||||
|
|
||||||
GPG Fingerprint: `D6E9 B930 028A 6C38 F43B 2388 FEF6 3574 5E6F 6D05` [\[?\]][gpg]
|
|
||||||
|
|
||||||
Mike Gerwitz is a [free (as in freedom) software][0] [hacker] and activist
|
|
||||||
with a focus on user privacy and security.
|
|
||||||
While much of his earlier experience focused on web development, most of his
|
|
||||||
free time is now spent researching cryptography; compilers; mathematics;
|
|
||||||
security and privacy; and various other fields. He also closely follows the
|
|
||||||
work of the [Free Software Foundation][0],
|
|
||||||
[Electronic Frontier Foundation][3], and other entities devoted to free
|
|
||||||
information and free society.
|
|
||||||
|
|
||||||
Mike is the author of [GNU ease.js][easejs]; a member of the
|
|
||||||
[GNU evaluation][gnueval] team; holds an administrative role in GNU; and is
|
|
||||||
a volunteer for various other aspects of the [GNU Project] and the
|
|
||||||
[Free Software Foundation].
|
|
||||||
|
|
||||||
Mike is a [hacker], not a [cracker]---the latter breaks the security of
|
|
||||||
systems, while the former expresses playful creativity in their work.
|
|
||||||
|
|
||||||
Outside of his field, Mike enjoys time with his family---including his
|
|
||||||
wife and two sons---who keep him very busy and help to keep him sane. Mike
|
|
||||||
also has a fascination with a wide range of sciences that he wishes he had
|
|
||||||
the time to devote to researching.
|
|
||||||
|
|
||||||
A great deal of information regarding Mike's opinions on various topics can be
|
|
||||||
found throughout this website. Much of this site is devoted to his thoughts and
|
|
||||||
ramblings on various matters and so will contain material that is subject to
|
|
||||||
strong bias; the reader is encouraged to construct his or her own opinions.
|
|
||||||
Formal papers contain no such influence without rationale and references.
|
|
||||||
|
|
||||||
Mike may be contacted at mtg at gnu dot org; he does not make use of "social
|
|
||||||
media" websites, though he may (or may not) respond to queries on websites
|
|
||||||
that he is a member of, and he does host his
|
|
||||||
[own GNU Social instance][social].
|
|
||||||
|
|
||||||
(Note: This website itself is free/libre---the source code is available via
|
|
||||||
the commit hash links in the footer of various pages and the content is
|
|
||||||
licensed for free distribution and, in most cases, modification.)
|
|
||||||
|
|
||||||
[View my résumé.][resume]
|
|
||||||
|
|
||||||
I recently changed GPG keys; see my [key transition statement][keytrans],
|
|
||||||
signed with both my [new][keytrans-new] and [old][keytrans-old] keys.
|
|
||||||
|
|
||||||
<span class="attribution">[LibrePlanet 2016 Photo][photo]
|
|
||||||
Copyright © 2016 Kori Feener, [CC BY 4.0][ccby]; used
|
|
||||||
with permission.</span>
|
|
||||||
|
|
||||||
|
|
||||||
[0]: http://www.gnu.org/philosophy/
|
|
||||||
[hacker]: https://stallman.org/articles/on-hacking.html
|
|
||||||
[cracker]: https://stallman.org/articles/on-hacking.html
|
|
||||||
[GNU Project]: https://gnu.org/
|
|
||||||
[Free Software Foundation]: https://fsf.org/
|
|
||||||
[3]: http://eff.org/
|
|
||||||
[easejs]: https://gnu.org/software/easejs
|
|
||||||
[resume]: about/resume
|
|
||||||
[gnueval]: https://www.gnu.org/help/evaluation.html
|
|
||||||
[photo]: https://media.libreplanet.org/u/libreplanet/m/session-03-c-ms-png-libreplanet-2016-sessions-ec00/
|
|
||||||
[ccby]: https://creativecommons.org/licenses/by/4.0/
|
|
||||||
[social]: https://social.mikegerwitz.com/
|
|
||||||
|
|
||||||
[gpg]: https://emailselfdefense.fsf.org/
|
|
||||||
[keytrans]: /about/key-transition.txt
|
|
||||||
[keytrans-old]: /about/key-transition.txt.old.asc
|
|
||||||
[keytrans-new]: /about/key-transition.txt.new.asc
|
|
||||||
|
|
|
@ -1,10 +0,0 @@
|
||||||
### Free Software Projects
|
|
||||||
|
|
||||||
This page is a placeholder simply to generate a menu item.
|
|
||||||
While it used to contain content,
|
|
||||||
my server now routes this request to cgit.
|
|
||||||
|
|
||||||
With that said---if you _are_ seeing this page,
|
|
||||||
then something has gone horribly wrong!
|
|
||||||
Do get in touch with me!
|
|
||||||
|
|
|
@ -1,7 +0,0 @@
|
||||||
Papers / Articles
|
|
||||||
|
|
||||||
More information on each work is provided via its respective link. If a thought
|
|
||||||
post (that is---one of the posts that is listed on the index page) is of
|
|
||||||
adequate length with sufficient references and content, it may too be included.
|
|
||||||
|
|
||||||
[cat:docs/papers/.list]
|
|
103
docs/40-talks.md
103
docs/40-talks.md
|
@ -1,103 +0,0 @@
|
||||||
### Talks
|
|
||||||
|
|
||||||
<span class="talk-logo">[![LibrePlanet 2018][lp2018-logo]][lp2018]</span>
|
|
||||||
|
|
||||||
#### The Ethics Void (2018)
|
|
||||||
|
|
||||||
[Video][ev-video] • [Slides][ev-slides-pdf]
|
|
||||||
• [Slides Source Code][ev-src]
|
|
||||||
|
|
||||||
Many communities have widely adopted codes of ethics governing the moral
|
|
||||||
conduct of their members and professionals. Some of these codes may even be
|
|
||||||
enshrined in law, and for good reason—certain conduct can have enormous
|
|
||||||
consequences on the lives of others.
|
|
||||||
|
|
||||||
Software and technology pervade virtually every aspect of our lives. Yet,
|
|
||||||
when compared to other fields, our community leaders and educators have
|
|
||||||
produced an ethics void. Last year, I introduced numerous topics concerning
|
|
||||||
privacy, security, and freedom that raise serious ethical concerns. Join me
|
|
||||||
this year as we consider some of those examples and others in an attempt to
|
|
||||||
derive a code of ethics that compares to the moral obligations of other
|
|
||||||
fields, and to consider how leaders and educators should approach ethics
|
|
||||||
within education and guidance.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<span class="talk-logo">[![LibrePlanet 2017][lp2017-logo]][lp2017]</span>
|
|
||||||
|
|
||||||
#### The Surreptitious Assault on Privacy, Security, and Freedom (2017)
|
|
||||||
|
|
||||||
[Video][sapsf-video] • [Slides][sapsf-slides-pdf]
|
|
||||||
• [Slides Source Code][sapsf-src] • [Bibliography][sapsf-bib]
|
|
||||||
|
|
||||||
Privacy, security, and personal freedom: one cannot be had without the
|
|
||||||
others. Each of these essential rights are being surreptitiously
|
|
||||||
assaulted; only the most technical among us even know what to look for, let
|
|
||||||
alone how to defend ourselves. Governments, corporations, and groups of
|
|
||||||
ill-minded individuals are spying and preying upon both users and bystanders
|
|
||||||
with unprecedented frequency and breadth. For those of us who do understand
|
|
||||||
these issues, it would be irresponsible not to fight for the rights of
|
|
||||||
others and continue to bring these assaults to light.
|
|
||||||
|
|
||||||
This talk will survey the most pressing issues of today, including topics of
|
|
||||||
government surveillance and espionage; advertisers and data analytics; the
|
|
||||||
Internet of Things; corporate negligence; public policy and the crypto
|
|
||||||
wars; dangers of a non-free Web and untrusted, ephemeral software; pervasive
|
|
||||||
monitoring; remote servers, services, and "the cloud"; modern vehicles;
|
|
||||||
the fight against decentralization and free software; societal pressures and
|
|
||||||
complacency with the status quo; and more.
|
|
||||||
|
|
||||||
Attendees will walk away with a broad understanding of these topics; an
|
|
||||||
overview of mitigations; and dozens of resources for further research and
|
|
||||||
discussion with others. No prior knowledge of security or cryptography are
|
|
||||||
necessary.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<span class="talk-logo">[![LibrePlanet 2016][lp2016-logo]][lp2016]</span>
|
|
||||||
|
|
||||||
#### Restore Online Freedom! (2016)
|
|
||||||
|
|
||||||
[Video][rof] • [Slides][slides-pdf] • [Slides Source Code][slides-src]
|
|
||||||
• [LibrePlanet Collection][collection]
|
|
||||||
|
|
||||||
Imagine a world where surveillance is the default and users must opt-in to
|
|
||||||
privacy. Imagine that your every action is logged and analyzed to learn how
|
|
||||||
you behave, what your interests are, and what you might do next. Imagine
|
|
||||||
that, even on your fully free operating system, proprietary software is
|
|
||||||
automatically downloaded and run not only without your consent, but often
|
|
||||||
without your knowledge. In this world, even free software cannot be easily
|
|
||||||
modified, shared, or replaced. In many cases, you might not even be in
|
|
||||||
control of your own computing---your actions and your data might be in
|
|
||||||
control by a remote entity, and only they decide what you are and are not
|
|
||||||
allowed to do.
|
|
||||||
|
|
||||||
This may sound dystopian, but this is the world you're living in right
|
|
||||||
now. The Web today is an increasingly hostile, freedom-denying place that
|
|
||||||
propagates to nearly every aspect of the average users' lives---from their
|
|
||||||
PCs to their phones, to their TVs and beyond. But before we can stand up
|
|
||||||
and demand back our freedoms, we must understand what we're being robbed of,
|
|
||||||
how it's being done, and what can (or can't) be done to stop it.
|
|
||||||
|
|
||||||
[rof]: https://media.libreplanet.org/u/libreplanet/m/restore-online-freedom/
|
|
||||||
[slides-pdf]: https://media.libreplanet.org/u/libreplanet/m/restore-online-freedom-14bf/
|
|
||||||
[slides-src]: https://gitlab.com/mikegerwitz/online-freedom
|
|
||||||
[collection]: https://media.libreplanet.org/u/libreplanet/collection/restore-online-freedom/
|
|
||||||
|
|
||||||
[lp2016]: https://www.libreplanet.org/2016/
|
|
||||||
[lp2016-logo]: /images/lp-2016.png
|
|
||||||
|
|
||||||
[sapsf-slides-pdf]: /talks/sapsf.pdf
|
|
||||||
[sapsf-video]: https://media.libreplanet.org/u/libreplanet/m/the-surreptitious-assault-on-privacy-security-and-freedom/
|
|
||||||
[sapsf-src]: /projects/sapsf/
|
|
||||||
[sapsf-bib]: /projects/sapsf/plain/sapsf.bib
|
|
||||||
|
|
||||||
[lp2017]: https://www.libreplanet.org/2017/
|
|
||||||
[lp2017-logo]: /images/lp-2017.png
|
|
||||||
|
|
||||||
[ev-slides-pdf]: /talks/ethics-void.pdf
|
|
||||||
[ev-video]: https://media.libreplanet.org/u/libreplanet/m/the-ethics-void/
|
|
||||||
[ev-src]: /projects/ethics-void/
|
|
||||||
|
|
||||||
[lp2018]: https://www.libreplanet.org/2018/
|
|
||||||
[lp2018-logo]: /images/lp-2018.png
|
|
13
docs/404.pg
13
docs/404.pg
|
@ -1,13 +0,0 @@
|
||||||
Page Not Found
|
|
||||||
|
|
||||||
Sorry---the page you requested cannot be found; it may have been removed or you
|
|
||||||
may have stumbled across a broken link. If you believe that you have received
|
|
||||||
this message in error, please contact Mike directly. If you have arrived at this
|
|
||||||
page from an external link, please contact the author of that website instead.
|
|
||||||
|
|
||||||
[This is where one would insert the obligatory ``we apologize for the
|
|
||||||
inconvenience''...but this is a personal site, not a business, so I'm not all
|
|
||||||
that sympathetic. If it's a bug, it'll be fixed. If you think that the page
|
|
||||||
you're looking for should exist (and that it did in the past), consider looking
|
|
||||||
through this site's repository (available on the Projects page) and seeing what
|
|
||||||
might have happened to it. Good day to you, kind sir/madam/otherwise.]
|
|
|
@ -1,126 +0,0 @@
|
||||||
### GitHubbub! GitHub Does Not Value Software Freedom.
|
|
||||||
|
|
||||||
<div class="inline-img octoflop">
|
|
||||||
![GitHub](/images/octoright-large.png "GitHub logo rotated 270° to resemble a Copyright symbol")
|
|
||||||
</div>
|
|
||||||
|
|
||||||
If you hit this page expecting to have been taken to my GitHub profile,
|
|
||||||
then this is probably not what you were looking for;
|
|
||||||
but let me tell you why you're here.
|
|
||||||
|
|
||||||
Before providing a link to something hosted on a service,
|
|
||||||
it is important to consider whether the service or website is antithetical
|
|
||||||
to the message you are trying to convey to your readers/visitors,
|
|
||||||
and whether it deserves clarification;
|
|
||||||
there's a little bit of both here.
|
|
||||||
|
|
||||||
If you're looking for a host friendly toward free software,
|
|
||||||
take a look at the [GNU ethical repository criteria][gnu-repo],
|
|
||||||
which sets standards for acceptable hosts to parts of the
|
|
||||||
[GNU operating system][gnu].
|
|
||||||
|
|
||||||
|
|
||||||
#### Non-Free JavaScript
|
|
||||||
[Free software][freesw] guarantees your freedom to study,
|
|
||||||
modify,
|
|
||||||
and share the software that you use.
|
|
||||||
We value these freedoms on the desktop,
|
|
||||||
so why should we compromise when websites serve proprietary JavaScript
|
|
||||||
[just because it creates the illusion of remote execution][whyfreejs]?
|
|
||||||
When you visit a website that serves JavaScript to the client,
|
|
||||||
your web browser is automatically [downloading and executing][jstrap]
|
|
||||||
(often without your permission) ephemeral, unsigned, untrusted software.
|
|
||||||
If that JavaScript is not [freely licensed][librejs],
|
|
||||||
then the software running in your web browser is proprietary.
|
|
||||||
|
|
||||||
**When you visit `github.com`,
|
|
||||||
you download over 200kB of obfuscated code,
|
|
||||||
much of which is proprietary.**
|
|
||||||
This code provides many website features that are fairly essential,
|
|
||||||
and *do not work with JavaScript disabled*:
|
|
||||||
|
|
||||||
- Change repository names or descriptions;
|
|
||||||
- Delete repositories;
|
|
||||||
- Add an SSH key to your account;
|
|
||||||
- Fork repositories;
|
|
||||||
- Create pull requests;
|
|
||||||
- Enable and disable project features;
|
|
||||||
- Use the wiki and issue trackers;
|
|
||||||
- View graphs of statistics;
|
|
||||||
- And others.
|
|
||||||
|
|
||||||
That is---GitHub forces you to run proprietary software in order to use much
|
|
||||||
of their website.
|
|
||||||
This is a bit startling for a host that owes its very existence to the
|
|
||||||
success and development of free software.
|
|
||||||
|
|
||||||
#### Desire To Remain Non-Free
|
|
||||||
I contacted GitHub back in April 2014 pointing out these concerns and
|
|
||||||
asking if they would be able to either liberate their JavaScript or make
|
|
||||||
GitHub's essential functionality work without JavaScript enabled.
|
|
||||||
The first response I received was from one of their "JavaScript Developers":
|
|
||||||
|
|
||||||
> Hi Mike,
|
|
||||||
>
|
|
||||||
> Thanks for getting in touch with us here. Some of our internal projects are
|
|
||||||
> specific to running GitHub, and as such will probably remain closed. We do
|
|
||||||
> make an effort to open source projects that we create that we think would be
|
|
||||||
> beneficial to the community, some of which is JavaScript.
|
|
||||||
>
|
|
||||||
> You can see a list of some of the open source projects that power GitHub
|
|
||||||
> here:
|
|
||||||
>
|
|
||||||
> https://github.com/showcases/projects-that-power-github
|
|
||||||
|
|
||||||
This response is unfortunately misguided---yes,
|
|
||||||
it is good that GitHub produces free software,
|
|
||||||
but it is a false assumption that their proprietary code would serve no
|
|
||||||
benefit to the community:
|
|
||||||
the very existence of their proprietary software [gives them unjust
|
|
||||||
control over their users][unjust];
|
|
||||||
relinquishing that control is of benefit to the community.
|
|
||||||
|
|
||||||
I replied to the above message to clarify my point.
|
|
||||||
After receiving no response,
|
|
||||||
I forwarded the e-mail to GitHub's original founders:
|
|
||||||
[Tom Preston-Werner][tom],
|
|
||||||
[Chris Wanstrath][chris],
|
|
||||||
and [PJ Hyett][pj].
|
|
||||||
The response I received from Chris was blunt and discouraging:
|
|
||||||
|
|
||||||
> Hey Mike,
|
|
||||||
>
|
|
||||||
> We have no plans to release github.com's JavaScript as free software at
|
|
||||||
> this time, nor do we have plans to remove the site's dependence on
|
|
||||||
> JavaScript. Thanks for the interest.
|
|
||||||
|
|
||||||
The original correspondence is provided here:
|
|
||||||
|
|
||||||
1. [Original request][gh-request] to `support@github.com`, Tom, Chris, and
|
|
||||||
PJ.
|
|
||||||
2. [Reply to my original request][gh-request-reply] from one of the developers.
|
|
||||||
3. [My reply to the developer][gh-request2] providing more information and
|
|
||||||
asking for a commitment.
|
|
||||||
4. [Forward of my reply][gh-request3] to Tom, Chris, and PJ, after having
|
|
||||||
received no response from the developer.
|
|
||||||
5. [Response from Chris Wanstrath][gh-request3-reply] stating that GitHub
|
|
||||||
has "no plans" to liberate its JavaScript or "remove the site's
|
|
||||||
dependence on JavaScript".
|
|
||||||
|
|
||||||
|
|
||||||
[gnu-repo]: https://www.gnu.org/software/repo-criteria.html
|
|
||||||
[gnu]: https://www.gnu.org/gnu/gnu.html
|
|
||||||
[freesw]: https://www.gnu.org/philosophy/free-sw.html
|
|
||||||
[whyfreejs]: https://www.gnu.org/software/easejs/whyfreejs.html
|
|
||||||
[jstrap]: https://www.gnu.org/philosophy/javascript-trap.html
|
|
||||||
[librejs]: https://www.gnu.org/software/librejs/free-your-javascript.html
|
|
||||||
[unjust]: https://www.gnu.org/philosophy/free-software-even-more-important.html
|
|
||||||
[tom]: https://github.com/mojombo
|
|
||||||
[chris]: https://github.com/defunkt
|
|
||||||
[pj]: https://github.com/pjhyett
|
|
||||||
|
|
||||||
[gh-request]: /docs/gh/email-request.txt
|
|
||||||
[gh-request-reply]: /docs/gh/email-request-reply.txt
|
|
||||||
[gh-request2]: /docs/gh/email-request2.txt
|
|
||||||
[gh-request3]: /docs/gh/email-request3.txt
|
|
||||||
[gh-request3-reply]: /docs/gh/email-request3-reply.txt
|
|
|
@ -1,6 +0,0 @@
|
||||||
<div id="gnulinux-inside" style="position: absolute; top: 0px; right: 0px;">
|
|
||||||
<a href="http://gnu.org/">
|
|
||||||
<img src="https://www.gnu.org/graphics/gnu-inside.png"
|
|
||||||
alt="GNU/Linux Inside!" title="GNU/Linux Inside!" />
|
|
||||||
</a>
|
|
||||||
</div>
|
|
|
@ -1,37 +0,0 @@
|
||||||
GNU/Linux Inside
|
|
||||||
|
|
||||||
[img:heckert-gnu.png:GNU]
|
|
||||||
|
|
||||||
This website and the server on which it is hosted is run entirely by [free
|
|
||||||
software][0].
|
|
||||||
|
|
||||||
Do you use GNU/Linux or other free software on your website? Flaunt it! Feel
|
|
||||||
free to place the image below on your own website, blog, or anywhere else you
|
|
||||||
see fit to let others know that you support GNU and free software.
|
|
||||||
|
|
||||||
This image also helps to bring awareness to the [GNU operating system][1] as
|
|
||||||
well as GNU's philosophy.[0] The majority of users today consider the operating
|
|
||||||
system to be called ``Linux'', which is false---this is the name of the kernel;
|
|
||||||
GNU is the operating system.[2]
|
|
||||||
|
|
||||||
*The page fold is transparent*; it will therefore work well with any background
|
|
||||||
color. Please note that this is a PNG with alphatransparency---older browsers
|
|
||||||
that users shouldn't be using anymore (such as IE 6) will not render it properly
|
|
||||||
unless you take the necessary precautions.
|
|
||||||
|
|
||||||
[img:gnu-inside.png:GNU/Linux Inside!]
|
|
||||||
|
|
||||||
Feel free to [download the source file (GIMP)][3], released under the [Creative
|
|
||||||
Commons Attribution-ShareAlike 2.0 Unported License][4]. It incorporates [``A
|
|
||||||
Bold GNU Head''][5] by Aurelio A. Heckert, which appears at the top of this
|
|
||||||
page. Below is the code with which you may embed this on your own website.
|
|
||||||
|
|
||||||
[src:docs/about/gnu-inside-ex:html]
|
|
||||||
|
|
||||||
|
|
||||||
[0] https://www.gnu.org/philosophy/
|
|
||||||
[1] https://www.gnu.org/
|
|
||||||
[2] http://www.gnu.org/gnu/linux-and-gnu.html
|
|
||||||
[3] https://www.gnu.org/graphics/gnu-inside.html
|
|
||||||
[4] https://creativecommons.org/licenses/by-sa/2.0/
|
|
||||||
[5] https://www.gnu.org/graphics/heckert_gnu.html
|
|
|
@ -1,21 +0,0 @@
|
||||||
### hoxsl
|
|
||||||
|
|
||||||
hoxsl (pronounced like "voxel") is a library for XSLT 2.0, written in pure
|
|
||||||
XSLT, that introduces various types of higher-order logic, including
|
|
||||||
higher-order functions; functional abstractions for common operations; and
|
|
||||||
XSLT templates that take XSLT as input and produce XSLT as output.
|
|
||||||
|
|
||||||
This project is written in a [literate][] style; [see the manual][manual]
|
|
||||||
for more information.
|
|
||||||
|
|
||||||
[Source code][src]
|
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify it
|
|
||||||
under the terms of the [GNU General Public License][gpl] as published by the
|
|
||||||
Free Software Foundation, either version 3 of the License, or (at your
|
|
||||||
option) any later version.
|
|
||||||
|
|
||||||
[literate]: http://www.literateprogramming.com/
|
|
||||||
[manual]: manual/
|
|
||||||
[src]: http://git.savannah.gnu.org/cgit/hoxsl.git
|
|
||||||
[gpl]: https://www.gnu.org/licenses/gpl.html
|
|
|
@ -1 +0,0 @@
|
||||||
*.html
|
|
|
@ -1 +0,0 @@
|
||||||
Subproject commit 41a35f3c37fd41772ff7ae8aca62d77c4cafcf6c
|
|
File diff suppressed because it is too large
Load Diff
162
tpl/.config
162
tpl/.config
|
@ -1,162 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
#
|
|
||||||
# Basic template configuration; command-line options will override
|
|
||||||
#
|
|
||||||
# Copyright (C) 2013, 2015, 2016 Mike Gerwitz
|
|
||||||
#
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
|
||||||
# it under the terms of the GNU General Public License as published by
|
|
||||||
# the Free Software Foundation, either version 3 of the License, or
|
|
||||||
# (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
# #
|
|
||||||
|
|
||||||
get-menu-docs()
|
|
||||||
{
|
|
||||||
# we shall only consider ordered pages---that is, those that begin with numbers; this
|
|
||||||
# allows pages to exist that are not listed in the menu
|
|
||||||
paths=$(
|
|
||||||
find "$path_root/docs" -maxdepth 1 -name '[0-9][0-9]-*.??' \
|
|
||||||
-exec basename {} \; \
|
|
||||||
| sort
|
|
||||||
)
|
|
||||||
|
|
||||||
for p in $paths; do
|
|
||||||
# we shall consider the name of the link to be the path with the extension
|
|
||||||
# and sorting prefix stripped
|
|
||||||
name="$( basename "${p%%.*}" )"
|
|
||||||
echo "${name#??-}"
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
html_external_css=/style.css
|
|
||||||
|
|
||||||
# lets certain browsers---such as the proprietary mobile Safari browser that
|
|
||||||
# seems to be far too Ubiquitous---know that they should trust us with rendering
|
|
||||||
# the page to fit within the device's screen resolution
|
|
||||||
html_head='<meta name="viewport" content="initial-scale=1.0" />'
|
|
||||||
|
|
||||||
# menu just below the header, above the index
|
|
||||||
html_pre_index="$(
|
|
||||||
|
|
||||||
echo '<ul id="menu">'
|
|
||||||
|
|
||||||
# generate menu from the root documents
|
|
||||||
for name in `get-menu-docs`; do
|
|
||||||
# each word in the name will be capitalized and the link shall not contain
|
|
||||||
# the file extension
|
|
||||||
words=( ${name//[_-]/ } )
|
|
||||||
printf '<li><a href="/%s">%s</a></li>' "$name" "${words[*]^}"
|
|
||||||
done
|
|
||||||
echo '<li><a href="//social.mikegerwitz.com/"' \
|
|
||||||
'title="My GNU Social Instance">Social</a></li>'
|
|
||||||
|
|
||||||
# the remainder will appear below the menu, above the index
|
|
||||||
cat <<EOH
|
|
||||||
</ul>
|
|
||||||
<div id="headline">
|
|
||||||
<a href="https://www.eff.org/nsa-spying">
|
|
||||||
<img src="/images/eff-nsa-spying.png"
|
|
||||||
alt="NSA Spying on Americans"
|
|
||||||
title="NSA Spying on Americans" />
|
|
||||||
</a>
|
|
||||||
|
|
||||||
<a href="http://upgradefromwindows8.com">
|
|
||||||
<img src="/images/win8-close.png"
|
|
||||||
alt="Close Windows, Open Doors" />
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
EOH
|
|
||||||
)"
|
|
||||||
|
|
||||||
|
|
||||||
# additional content in the footer before the copyright (the awkward newline
|
|
||||||
# positions are to prevent spaces in the output)
|
|
||||||
html_footer=$(cat <<EOM
|
|
||||||
<a href="/about/inside" id="gnuinside">
|
|
||||||
<img src="/images/gnu-inside.png" alt="GNU/Linux Inside!" />
|
|
||||||
</a>
|
|
||||||
|
|
||||||
<div class="bimgs">
|
|
||||||
<a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/"
|
|
||||||
><img src="/images/cc-bysa-88x31.png"
|
|
||||||
alt="[CC BY-SA]"
|
|
||||||
title="Creative Commons Attribution-ShareAlike"
|
|
||||||
width="88" height="31" border="0"
|
|
||||||
/></a>
|
|
||||||
|
|
||||||
<a href="http://www.fsf.org/register_form?referrer=5804"
|
|
||||||
><img src="/images/fsf-member.png"
|
|
||||||
alt="[FSF Associate Member since 2007-10-31]"
|
|
||||||
title="FSF Associate Member"
|
|
||||||
width="125" height="31" border="0"
|
|
||||||
/></a>
|
|
||||||
|
|
||||||
<a href="http://www.defectivebydesign.org/join/button"
|
|
||||||
><img src="/images/elim-drm.gif"
|
|
||||||
alt="[ Eliminate DRM! ]"
|
|
||||||
title="Eliminate DRM!"
|
|
||||||
width="88" height="30" border="0"
|
|
||||||
/></a>
|
|
||||||
</div>
|
|
||||||
EOM
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
# index-only footer (we don't want too much spam; the other pages look much
|
|
||||||
# cleaner without this)
|
|
||||||
html_index_footer=$(cat <<EOM
|
|
||||||
<div id="selflinks">
|
|
||||||
<a href="https://gitlab.com/u/mikegerwitz">
|
|
||||||
<img src="/images/gitlab.svg"
|
|
||||||
alt="mikegerwitz on GitLab"
|
|
||||||
title="mikegerwitz on GitLab"
|
|
||||||
width="42" height="42" border="0"
|
|
||||||
/>
|
|
||||||
</a>
|
|
||||||
|
|
||||||
<a href="/about/githubbub">
|
|
||||||
<img src="/images/octoright-42.png"
|
|
||||||
alt="Don't see me on GitHub"
|
|
||||||
title="Don't see me on GitHub"
|
|
||||||
width="42" height="42" border="0"
|
|
||||||
/>
|
|
||||||
</a>
|
|
||||||
|
|
||||||
<a href="https://savannah.gnu.org/users/mikegerwitz">
|
|
||||||
<img src="/images/meditate-42.png"
|
|
||||||
alt="See me on Savannah"
|
|
||||||
title="See me on Savannah"
|
|
||||||
width="42" height="42" border="0"
|
|
||||||
/>
|
|
||||||
</a>
|
|
||||||
|
|
||||||
<a href="https://news.ycombinator.com/user?id=mikegerwitz"
|
|
||||||
title="mikegerwitz on Hacker News"
|
|
||||||
class="hn-icon">HN</a>
|
|
||||||
|
|
||||||
<a href="https://www.fsf.org/register_form?referrer=5804">
|
|
||||||
<img src="/images/fsf-42.png"
|
|
||||||
alt="FSF Member #5804"
|
|
||||||
title="FSF Member #5804"
|
|
||||||
width="42" height="42" border="0"
|
|
||||||
/>
|
|
||||||
</a>
|
|
||||||
|
|
||||||
<a href="https://www.eff.org/">
|
|
||||||
<img src="/images/eff-42.png"
|
|
||||||
alt="EFF Member"
|
|
||||||
title="EFF Member"
|
|
||||||
width="42" height="42" border="0"
|
|
||||||
/>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
EOM
|
|
||||||
)
|
|
23
tpl/content
23
tpl/content
|
@ -1,23 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
#
|
|
||||||
# General content template
|
|
||||||
#
|
|
||||||
# Copyright (C) 2013 Mike Gerwitz
|
|
||||||
#
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
|
||||||
# it under the terms of the GNU General Public License as published by
|
|
||||||
# the Free Software Foundation, either version 3 of the License, or
|
|
||||||
# (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
# #
|
|
||||||
|
|
||||||
# for the time being, content pages are simply styled with the index page
|
|
||||||
export html_body_class='index content'
|
|
||||||
resume-default index
|
|
Loading…
Reference in New Issue