Use BEGIN IMMEDIATE for transactions to prevent concurrency issues
Add personal homepages
Add flayrah
Find pages and sites from all around the World Wide Web! Inspired by the original Yahoo! link directory, circa 1997. Think of Jamboree as coming from an alternate timeline where Google never existed and the PageRank-like search engine formula never took off.
I've started to seed Jamboree with some links, but I'd appreciate help! Email Git patches or just links and details to webmaster@webjamboree.net if you have any suggestions. Include a short description of each link and which category you think it should be in (even if that category doesn't exist).
Browse Jamboree at webjamboree.net.
Ensure you have PHP 8.1 or newer with the YAML and
APCu PECL packages as well as SQLite3, curl, and XML support. Point Apache at your
checkout of this repository. Setup the
SQLite database by requesting /postdeploy.php
.
On Debian-based Linux distros, you can install these packages with this command:
sudo apt install apache2 libapache2-mod-php8.1 php8.1-yaml php8.1-apcu php8.1-sqlite3 php8.1-curl php8.1-xml
Same as local. The Makefile has some helper targets for deploying to the webjamboree.net NFSN site. NFSN
doesn't have any PECL packages installed by default, so you need to install them manually then configure
them in your /home/conf/php.ini
file:
phpbin=$(dirname $(readlink -f $(which php8.2)))
cd /home/protected
rm -rf yaml-2.2.3.tgz yaml-2.2.3
wget https://pecl.php.net/get/yaml-2.2.3.tgz
tar -xvf yaml-2.2.3.tgz
cd yaml-2.2.3
$phpbin/phpize
./configure --with-php-config=$phpbin/php-config
make
mkdir -p /home/protected/php-modules
cp modules/yaml.so /home/protected/php-modules/yaml.so
# only if the first time
echo "extension = /home/protected/php-modules/yaml.so" >> /home/conf/php.ini
nfsn web-kick
phpbin=$(dirname $(readlink -f $(which php8.2)))
cd /home/protected
rm -rf apcu-5.1.22.tgz apcu-5.1.22
wget https://pecl.php.net/get/apcu-5.1.22.tgz
tar -xvf apcu-5.1.22.tgz
cd apcu-5.1.22
$phpbin/phpize
./configure --with-php-config=$phpbin/php-config
make
mkdir -p /home/protected/php-modules
cp modules/apcu.so /home/protected/php-modules/apcu.so
# only if the first time
echo "extension = /home/protected/php-modules/apcu.so" >> /home/conf/php.ini
nfsn web-kick
Currently, these are the rules for what web technologies are acceptable:
<details>
/<summary>
is fine since it still appears on older browsers, and just
provides a quality-of-life improvement on new browsers.I made a few conscious choices when configuring the web server and choosing the tech stack as well:
You can programmatically access the YAML files comprising the link database by just... requesting the files from the
server. Add /subcategories.yaml
to a category path to get a YAML file containing the list of that category's
subcategories. Add /links.yaml
to a category path to get a YAML file containing the list of links belonging to that
category. This isn't a special API or anything, you're just requesting the static YAML files from the filesystem.
The PHP (and other) code making up Jamboree is licensed under the AGPL version 3.0 (or any later version). The YAML data files making up the link database are licensed separately, under the CC-BY-SA 4.0 license. Check out the footer of any Jamboree page for more information.