| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| |
| |
| | |
Splitting rss() into 3 smaller functions allows factoring the for-loop
out of rss() This is done by having the new rss_main() function take an
argument instead of operating on a global variable, as rss() did before.
|
| |
| |
| |
| |
| | |
I find it easier to read this file if all function definitions come
first, then all the actual stuff we do comes at the end.
|
| |
| |
| |
| |
| | |
It makes the code easier to understand than the global variables that
were used before.
|
|/ |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When running index.sh on OpenBSD, the following error happens for
each item in the news/ directory (output is from "bash -x"):
+ touch -d '4 Jun 2017' news/andrew-robbins-new-maintainer.md
touch: out of range or illegal time specification: YYYY-MM-DDThh:mm:ss[.frac][Z]
This is because OpenBSD's touch(1) requires that the "d" flag's argument
be in ISO 8601 format, that is, "YYYY-MM-DDThh:mm:ss[.frac][Z]". This
could have been dealt with by converting the article date (determined
by "sed -n 3p $f | sed -e 's/^..//g'") to ISO 8601 format, then passing
the date to touch(1). That would have required even more code, so was
discarded as a possible solution.
Instead, we solve this by keeping a MANIFEST file under news/, which
is read to determine (a) which articles should be added to news/index.md,
and (b) in which order. This avoids the need for touch(1) altogether,
finally making the whole libreboot website build properly on OpenBSD.
This also allows a minor simplification in the Makefile.
|
|
|
|
| |
This reverts commit bfc86546849e15dd98362852e76fa9feac2fba77.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When running index.sh on OpenBSD, the following error happens for
each item in the news/ directory (output is from "bash -x"):
+ touch -d '4 Jun 2017' news/andrew-robbins-new-maintainer.md
touch: out of range or illegal time specification: YYYY-MM-DDThh:mm:ss[.frac][Z]
This is because OpenBSD's touch(1) requires that the "d" flag's argument
be in ISO 8601 format, that is, "YYYY-MM-DDThh:mm:ss[.frac][Z]". This
could have been dealt with by converting the article date (determined
by "sed -n 3p $f | sed -e 's/^..//g'") to ISO 8601 format, then passing
the date to touch(1). That would have required even more code, so was
discarded as a possible solution.
Instead, this has been solved by prepending the ISO 8601 date to the names
of all news items. This has the benefit of avoiding the need for touch(1)
altogether, as a lexicographic sorting of ISO 8601 dates is the same as
a date-based sorting. In other words, "ls news/*.md" will give a list
of articles sorted by date, which we can then append to news/index.md in
that order.
One downside of this solution is that it introduces the possibility that
the date in the filename (ISO 8601 format) of a news article does not
match the date inside the article (e.g., 1 May 2017). I have not dealt
with this as it remains to be seen whether it will be a problem in
practice.
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is the same idea as 497a49162f7c8b5c1d7c653087b0ac6c8e5765f9.
Without this patch, the following errors occur when running index.sh:
sed: 1: "news/new-mailing-lists. ...: extra characters at the end of n command
sed: 1: "news/andrew-robbins-new ...: extra characters at the end of n command
sed: 1: "news/formalised-structu ...: extra characters at the end of n command
sed: 1: "news/proposal-rejoin-gn ...: extra characters at the end of n command
sed: 1: "news/unity.bare.html": extra characters at the end of n command
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Before the Makefile, publish.sh was executed on markdown source
files using find(1), which happened like this:
./publish.sh ./index.md
Now that we have a Makefile, this happens instead:
./publish.sh index.md
Note that the file argument "index.md" in the first and second case
both refer to the same file, yet they are different strings. This is
important because publish.sh gives index.md (among other files) special
treatment, and it does this by string comparison.
Unfortunately, only the argument in the first case ("./index.md") will
cause publish.sh to give special treatment, while the argumnent in the
second case ("index.md") will not.
To fix this, make it so that both "./index.md" and "index.md" trigger
publish.sh's special handling. This commit also fixes the same issue
for "docs/fdl-1.3.md" and "conduct.md".
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is done by replacing www/generate.sh with a Makefile. Benefits:
- Makes builds incremental, meaning that only the minimum number of
markdown files will be converted to HTML during a build. The previous
scheme always generated a new HTML file for every markdown file,
which is a big waste of time if only 1 or 2 markdown files have been
changed.
- Allows for much faster builds through concurrent jobs (e.g., via
"make -j4"). On my 4-core machine, my average build time for the
website with generate.sh was just over 26 seconds; with "make -j4",
it was 13 seconds.
- Avoids portability issues with find(1) in generate.sh, which I was
encountering on OpenBSD.
A note on portability: unlike GNU Make, OpenBSD's Make does not have
the "$(shell [commands])" construct, so we don't use that. Instead we
use "!= [commands]", which is supported by both.
|
|/
|
|
|
|
| |
Instead of always using the same file (temp.md), use a unique temporary
file so that multiple instances of publish.sh do not clobber each
other's work.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On OpenBSD, publish.sh errors out at the following call
to sed(1) (from "bash -x publish.sh"):
+ sed temp.md -i -e 's/\.md\(#[a-z\-]*\)*)/.html\1)/g'
sed: 1: "temp.md": undefined label 'emp.md'
It seems that "temp.md" is being parsed by sed as a sed command,
not as a named file. This is likely due to OpenBSD's strict
usage requirements for sed:
usage: sed [-aEnru] [-i[extension]] command [file ...]
sed [-aEnru] [-e command] [-f command_file] [-i[extension]] [file ...]
As shown above, the sed command must always come before any named
files. This commit does that, which fixes publish.sh with OpenBSD's sed.
This is also tested and working with GNU sed v4.2.2
|
|
|
|
|
|
|
| |
OptiPNG losslessly optimizes .png files; in other words, the images
in question should (and do, by my testing) look the same.
In short, we save some bytes for free.
|
|
|
|
|
| |
Be consistent with marking up commands as such, so the documentation
is less surprising.
|
|
|
|
|
| |
This is mainly useful for being able to run these scripts on BSDs.
And for users who use a Bash not installed to /bin.
|
|
|
|
| |
Continuation of pull request #217 re: printf usage.
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
All printf calls should now be properly formatted; prior, the
format specifier string was erroneously used for both the format
specifiers and the string to be printed. 'env' is now used to
locate the printf binary so as to avoid potentially using a shell
builtin. Lastly, all calls to 'echo' within the new build system
have been replaced with printf for consistency/portability purposes.
|
|/
|
|
|
|
|
| |
Also delete the libreboot.org http mirror. libreboot.org still hosts rsync,
so the mirrors will still be able to sync new releases all the same. this
reduces the bandwidth constraints on libreboot.org, allowing it to have more
bandwidth for other purposes
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This is useful for people who want to work on much larger changes to the
Web site or documentation.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
pull request not needed. alyssa gave me permission via email, to push this
directly to master
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Permission was granted by Paul, Alyssa and Swift in a private email thread.
Andrew is working on huge changes to the build system to make it usable, and
understands most of Libreboot and is therefore suitable to review and merge
patches that are contributed to the project.
Andrew has also demonstrated an understanding in how the documentation is
maintained, and generally seems to understand Libreboot's practises well and
agrees with them. Andrew is a perfect fit for the core management team, in my
opinion, and I look forward greatly to their future work within Libreboot.
|
|
|
|
|
|
|
| |
This is necessary, so that people know how to modify the website and send
improvements, like they do on wiki sites. Although Libreboot is git-hosted,
having this link helps. It goes to a section added to the Git page,
instructing users how to edit the website and documentation.
|
| |
|
| |
|
| |
|
| |
|