Added garden generation script.

This commit is contained in:
Andrew Lalis 2024-03-16 12:41:08 -04:00
parent 039465b49c
commit 00ced797c9
109 changed files with 3095 additions and 248 deletions

View File

@ -5,3 +5,7 @@ This project contains my hand-written HTML homepage for the world-wide-web.
It's meant to be deployed as a simple set of files on a server, and doesn't
use anything fancy beyond what can be done with a normal text editor and an
HTTP file server.
To develop it locally, it can help to run a local server, so for that, I've
included `local-server.d`, a D script you can run to boot up a server on
`http://localhost:8080`.

16
garden-data-gen/.gitignore vendored Normal file
View File

@ -0,0 +1,16 @@
.dub
docs.json
__dummy.html
docs/
/garden-data-gen
garden-data-gen.so
garden-data-gen.dylib
garden-data-gen.dll
garden-data-gen.a
garden-data-gen.lib
garden-data-gen-test-*
*.exe
*.pdb
*.o
*.obj
*.lst

13
garden-data-gen/dub.json Normal file
View File

@ -0,0 +1,13 @@
{
"authors": [
"Andrew Lalis"
],
"copyright": "Copyright © 2024, Andrew Lalis",
"dependencies": {
"archive": "~>0.7.1",
"dxml": "~>0.4.4"
},
"description": "Small app for dynamically generating garden site HTML from data.",
"license": "proprietary",
"name": "garden-data-gen"
}

View File

@ -0,0 +1,7 @@
{
"fileVersion": 1,
"versions": {
"archive": "0.7.1",
"dxml": "0.4.4"
}
}

View File

@ -0,0 +1,29 @@
import std.stdio;
import plant_data;
import content_gen;
import std.algorithm;
import std.array;
import std.path;
import std.file;
const PLANT_DATA_FILE = "garden-plant-data.ods";
void main() {
// Navigate to the project root for all tasks, for simplicity.
while (!exists("index.html") && !exists("upload.sh")) {
string prev = getcwd();
chdir("..");
if (getcwd == prev) throw new Exception("Couldn't navigate to the project root.");
}
writeln("Parsing plant data from " ~ PLANT_DATA_FILE ~ "...");
PlantData data = parsePlantData(PLANT_DATA_FILE);
writefln!"Read %d species and %d plants."(data.species.length, data.plants.length);
ensureDirectories(data);
writeln("Generating thumbnails for all images...");
generateAllThumbnails(false);
writeln("Rendering HTML components...");
renderHTML(data);
}

View File

@ -0,0 +1,142 @@
module content_gen;
import plant_data;
import dom_utils;
import dxml.writer;
import dxml.util;
import std.stdio;
import std.path;
import std.array;
import std.algorithm;
import std.file;
import std.conv;
void renderHTML(PlantData data) {
renderSpeciesCards(data);
renderSpeciesPages(data);
}
private void injectContent(string filename, string startTag, string endTag, string newContent) {
import std.file;
string data = std.file.readText(filename);
ptrdiff_t startIdx = indexOfStr(data, startTag);
if (startIdx == -1) throw new Exception("Couldn't find start tag " ~ startTag);
ptrdiff_t endIdx = indexOfStr(data, endTag);
if (endIdx == -1) throw new Exception("Couldn't find end tag " ~ endTag);
string prefix = data[0..(startIdx + startTag.length)];
string suffix = data[endIdx..$];
string newData = prefix ~ newContent ~ suffix;
std.file.write(filename, newData);
}
private void renderSpeciesCards(PlantData data) {
string tpl = std.file.readText(buildPath(
"garden-data-gen", "templates", "species-card.html"
));
Appender!string htmlApp;
foreach (s; data.species) {
string card = replaceAll(tpl, [
"!NAME!": s.name,
"!SCIENTIFIC_NAME!": s.scientificName,
"!DESCRIPTION!": s.description,
"!LINK!": "garden/species/" ~ s.id ~ ".html",
"!REF_LINK!": s.referenceLink,
"!REF_LINK_TEXT!": s.referenceLink
]);
ImageFilePair[] imagePairs = getSpeciesImages(s.id);
if (imagePairs.length > 0) {
string imageFile = imagePairs[0].filename;
string thumbnailFile = imagePairs[0].thumbnailFilename;
string imgTag = "<img src=\"" ~ imageFile ~ "\"/>";
card = replaceFirst(card, "!IMAGE!", imgTag);
} else {
card = replaceFirst(card, "!IMAGE!", "");
}
htmlApp ~= "\n" ~ card;
}
injectContent(
"garden.html",
"<!--__SPECIES_LIST_START__-->",
"<!--__SPECIES_LIST_END__-->",
htmlApp[]
);
}
private void renderSpeciesPages(PlantData data) {
string tpl = std.file.readText(buildPath(
"garden-data-gen", "templates", "species-page.html"
));
string plantCardTpl = std.file.readText(buildPath(
"garden-data-gen", "templates", "plant-card.html"
));
string speciesPagesDir = buildPath("garden", "species");
if (!exists(speciesPagesDir)) mkdirRecurse(speciesPagesDir);
foreach (species; data.species) {
Appender!string plantDivsApp;
foreach (plant; data.plantsInSpecies(species)) {
string card = replaceAll(plantCardTpl, [
"!IDENTIFIER!": plant.identifier,
"!GENERATION!": "F" ~ plant.generation.to!string,
"!DESCRIPTION!": plant.description,
"!PLANTING_INFO!": plant.plantingInfo
]);
ImageFilePair[] imagePairs = getPlantImages(plant.identifier);
Appender!string imagesApp;
foreach (imagePair; imagePairs) {
import std.format;
const imgTpl = "<a href=\"%s\" data-pswp-width=\"%d\" data-pswp-height=\"%d\" target=\"_blank\">\n" ~
" <img src=\"%s\" alt=\"\"/>\n" ~
"</a>\n";
imagesApp ~= format!(imgTpl)(
"../../" ~ imagePair.filename,
imagePair.width, imagePair.height,
"../../" ~ imagePair.thumbnailFilename,
);
}
card = replaceFirst(card, "!IMAGES!", imagesApp[]);
plantDivsApp ~= card;
}
string page = replaceAll(tpl, [
"!HEAD_TITLE!": species.name,
"!PAGE_TITLE!": species.scientificName,
"!ABOUT_TITLE!": "About " ~ species.name,
"!ABOUT_TEXT!": species.description,
"!REF_LINK!": species.referenceLink,
"!REF_LINK_TEXT!": species.referenceLink,
"!PLANTS_DIVS!": plantDivsApp[]
]);
string pagePath = buildPath(speciesPagesDir, species.id ~ ".html");
std.file.write(pagePath, page);
}
}
ptrdiff_t indexOfStr(string source, string target) {
for (size_t i = 0; i < source.length - target.length; i++) {
if (source[i..i+target.length] == target) {
return i;
}
}
return -1;
}
string replaceFirst(string source, string from, string to) {
ptrdiff_t idx = indexOfStr(source, from);
if (idx == -1) return source;
string pre = idx == 0 ? "" : source[0..idx];
string post = source[idx+from.length..$];
return pre ~ to ~ post;
}
unittest {
assert(replaceFirst("<p>!TEST</p>", "!TEST", "test") == "<p>test</p>");
}
string replaceAll(string source, string[string] values) {
foreach (k, v; values) {
source = replaceFirst(source, k, v);
}
return source;
}

View File

@ -0,0 +1,77 @@
module dom_utils;
import dxml.dom;
import dxml.writer;
import dxml.util;
import std.array;
import std.algorithm;
DOMEntity!string findDOMChild(
DOMEntity!string parent,
string elementName,
string[string] attributes = string[string].init
) {
foreach (child; parent.children) {
if (child.type == EntityType.elementStart && child.name == elementName) {
if (attributes.length == 0) return child;
bool attributesMatch = true;
foreach (attrName, attrValue; attributes) {
bool hasValue = false;
foreach (attr; child.attributes) {
if (attr.name == attrName && attr.value == attrValue) {
hasValue = true;
break;
}
}
if (!hasValue) {
attributesMatch = false;
break;
}
}
if (attributesMatch) return child;
}
}
throw new Exception("Could not find child element " ~ elementName ~ " in " ~ parent.name);
}
DOMEntity!string[] findDOMChildren(DOMEntity!string parent, string name) {
DOMEntity!string[] matches;
auto app = appender(&matches);
foreach (child; parent.children) {
if (child.type == EntityType.elementStart && child.name == name) {
app ~= child;
}
}
return matches;
}
string readTableCellText(DOMEntity!string cell) {
if (
cell.type == EntityType.elementStart &&
cell.children.length > 0 &&
cell.children[0].type == EntityType.elementStart &&
cell.children[0].children.length == 1 &&
cell.children[0].children[0].type == EntityType.text
) {
return cell.children[0].children[0].text.decodeXML;
}
return null;
}
void writeStartTagWithAttrs(O)(
ref XMLWriter!O writer,
string tag,
string[string] attributes,
EmptyTag emptyTag = EmptyTag.no
) {
writer.openStartTag(tag);
foreach (k, v; attributes) {
writer.writeAttr(k, v);
}
writer.closeStartTag(emptyTag);
}
void writeStartTagWithClass(O)(ref XMLWriter!O writer, string tag, string classValue) {
writer.writeStartTagWithAttrs(tag, ["class": classValue]);
}

View File

@ -0,0 +1,270 @@
module plant_data;
import dom_utils;
import std.stdio;
import std.array;
import std.algorithm;
import std.path;
import std.file;
import std.datetime;
import std.typecons;
import dxml.dom;
struct Species {
string id;
string name;
string scientificName;
string description;
string referenceLink;
}
struct Plant {
string speciesScientificName;
string identifier;
uint generation;
string plantingInfo;
string description;
}
string speciesId(string scientificName) {
import std.string;
import std.regex;
return scientificName
.replaceAll(ctRegex!(`\s+`), "-")
.replaceAll(ctRegex!(`ñ`), "n")
.replaceAll(ctRegex!(`["“”\.]`), "")
.toLower;
}
struct PlantData {
Species[] species;
Plant[] plants;
Plant[] plantsInSpecies(Species speciesItem) {
Appender!(Plant[]) app;
foreach (plant; plants) {
if (plant.speciesScientificName == speciesItem.scientificName) {
app ~= plant;
}
}
Plant[] results = app[];
sort!((a, b) => a.identifier < b.identifier)(results);
return results;
}
Species getSpecies(string name) {
foreach (s; species) {
if (s.scientificName == name) return s;
}
throw new Exception("No species with name " ~ name);
}
Plant getPlant(string identifier) {
foreach (p; plants) {
if (p.identifier == identifier) return p;
}
throw new Exception("No plant with identifier " ~ identifier);
}
}
struct ImageFilePair {
string filename;
uint width, height;
string thumbnailFilename;
uint thumbnailWidth, thumbnailHeight;
}
PlantData parsePlantData(string filename) {
import archive.zip;
ZipArchive zip = new ZipArchive(std.file.read(filename));
auto contentZipEntry = zip.getFile("content.xml");
if (contentZipEntry is null) throw new Exception("Couldn't find content.xml in " ~ filename);
DOMEntity!string dom = parseDOM(cast(string) contentZipEntry.data());
DOMEntity!string spreadsheet = dom.findDOMChild("office:document-content")
.findDOMChild("office:body")
.findDOMChild("office:spreadsheet");
DOMEntity!string speciesTable = spreadsheet.findDOMChild("table:table", ["table:name": "Species"]);
DOMEntity!string[] speciesRows = speciesTable.findDOMChildren("table:table-row")[1..$];
DOMEntity!string plantsTable = spreadsheet.findDOMChild("table:table", ["table:name": "Plants"]);
DOMEntity!string[] plantRows = plantsTable.findDOMChildren("table:table-row")[1..$];
PlantData result;
auto speciesAppender = appender(&result.species);
foreach (row; speciesRows) {
if (row.children.length < 4) continue;
Species species;
species.name = readTableCellText(row.children[0]);
species.scientificName = readTableCellText(row.children[1]);
species.description = readTableCellText(row.children[2]);
species.referenceLink = readTableCellText(row.children[3]);
species.id = speciesId(species.scientificName);
speciesAppender ~= species;
}
sort!((a, b) => a.name < b.name)(result.species);
auto plantAppender = appender(&result.plants);
foreach (row; plantRows) {
if (row.children.length < 4) continue;
Plant plant;
plant.speciesScientificName = readTableCellText(row.children[0]);
plant.identifier = readTableCellText(row.children[1]);
string fGenStr = readTableCellText(row.children[2]);
import std.conv : to;
plant.generation = fGenStr[1..$].to!uint;
plant.plantingInfo = readTableCellText(row.children[3]);
if (row.children.length > 4) {
plant.description = readTableCellText(row.children[4]);
}
plantAppender ~= plant;
}
sort!((a, b) => a.identifier < b.identifier)(result.plants);
return result;
}
void ensureDirectories(PlantData data) {
string basePath = buildPath("images", "garden");
if (!exists(basePath)) mkdirRecurse(basePath);
string speciesDir = buildPath(basePath, "species");
if (!exists(speciesDir)) mkdir(speciesDir);
foreach (s; data.species) {
string thisSpeciesDir = buildPath(speciesDir, s.id);
if (!exists(thisSpeciesDir)) mkdir(thisSpeciesDir);
}
string plantsDir = buildPath(basePath, "plants");
if (!exists(plantsDir)) mkdir(plantsDir);
foreach (p; data.plants) {
string thisPlantDir = buildPath(plantsDir, p.identifier);
if (!exists(thisPlantDir)) mkdir(thisPlantDir);
}
}
ImageFilePair[] getPlantImages(string identifier) {
string plantDir = buildPath("images", "garden", "plants", identifier);
if (!exists(plantDir)) return [];
Appender!(ImageFilePair[]) app;
foreach (entry; dirEntries(plantDir, SpanMode.shallow, false)) {
if (entry.name.endsWith(".jpg") && !entry.name.endsWith(".thumb.jpg")) {
ImageFilePair pair;
pair.filename = entry.name;
getImageSize(entry.name, pair.width, pair.height);
string thumbnailFilename = buildPath(plantDir, baseName(entry.name, ".jpg") ~ ".thumb.jpg");
if (exists(thumbnailFilename)) {
pair.thumbnailFilename = thumbnailFilename;
getImageSize(thumbnailFilename, pair.thumbnailWidth, pair.thumbnailHeight);
}
app ~= pair;
}
}
ImageFilePair[] images = app[];
sort!((a, b) {
Nullable!DateTime tsA = getImageTimestamp(a.filename);
Nullable!DateTime tsB = getImageTimestamp(b.filename);
if (tsA.isNull && tsB.isNull) return a.filename < b.filename;
if (tsA.isNull) return true;
if (tsB.isNull) return false;
return tsA.get < tsB.get;
})(images);
return images;
}
ImageFilePair[] getSpeciesImages(string speciesId) {
string speciesDir = buildPath("images", "garden", "species", speciesId);
if (!exists(speciesDir)) return [];
Appender!(ImageFilePair[]) app;
foreach (entry; dirEntries(speciesDir, SpanMode.shallow, false)) {
if (entry.name.endsWith(".jpg") && !entry.name.endsWith(".thumb.jpg")) {
ImageFilePair pair;
pair.filename = entry.name;
getImageSize(entry.name, pair.width, pair.height);
string thumbnailFilename = buildPath(speciesDir, baseName(entry.name, ".jpg") ~ ".thumb.jpg");
if (exists(thumbnailFilename)) {
pair.thumbnailFilename = thumbnailFilename;
getImageSize(thumbnailFilename, pair.thumbnailWidth, pair.thumbnailHeight);
}
app ~= pair;
}
}
ImageFilePair[] images = app[];
sort!((a, b) {
Nullable!DateTime tsA = getImageTimestamp(a.filename);
Nullable!DateTime tsB = getImageTimestamp(b.filename);
if (tsA.isNull && tsB.isNull) return a.filename < b.filename;
if (tsA.isNull) return true;
if (tsB.isNull) return false;
return tsA.get < tsB.get;
})(images);
return images;
}
void getImageSize(string filePath, out uint width, out uint height) {
import std.process;
import std.format;
auto result = execute(["identify", "-ping", "-format", "'%w %h'", filePath]);
if (result.status != 0) throw new Exception("Failed to get image size of " ~ filePath);
formattedRead!"'%d %d'"(result.output, width, height);
}
Nullable!DateTime getImageTimestamp(string filePath) {
import std.regex;
import std.conv;
auto r = ctRegex!(`\d{8}_\d{6}`);
auto cap = matchFirst(baseName(filePath), r);
if (cap.empty) return Nullable!DateTime.init;
string text = cap[0];
return nullable(DateTime(
text[0..4].to!int,
text[4..6].to!int,
text[6..8].to!int,
text[9..11].to!int,
text[11..13].to!int,
text[13..15].to!int
));
}
void generateAllThumbnails(bool regen = false) {
string plantsDir = buildPath("images", "garden", "plants");
foreach (entry; dirEntries(plantsDir, SpanMode.shallow, false)) {
generateThumbnails(entry.name, regen);
}
string speciesDir = buildPath("images", "garden", "species");
foreach (entry; dirEntries(speciesDir, SpanMode.shallow, false)) {
generateThumbnails(entry.name, regen);
}
}
void generateThumbnails(string dir, bool regen) {
import std.process;
if (regen) {
// Remove all thumbnails first.
foreach (entry; dirEntries(dir, SpanMode.shallow, false)) {
if (entry.name.endsWith(".thumb.jpg")) {
std.file.remove(entry.name);
}
}
}
foreach (entry; dirEntries(dir, SpanMode.shallow, false)) {
if (entry.name.endsWith(".jpg") && !entry.name.endsWith(".thumb.jpg")) {
string filenameWithoutExt = baseName(entry.name, ".jpg");
string outputFilePath = buildPath(dir, filenameWithoutExt ~ ".thumb.jpg");
if (exists(outputFilePath)) continue;
Pid pid = spawnProcess(
[
"convert",
entry.name,
"-strip",
"-interlace", "JPEG",
"-sampling-factor", "4:2:0",
"-colorspace", "RGB",
"-quality", "85%",
"-geometry", "x200",
outputFilePath
]
);
int exitCode = wait(pid);
if (exitCode != 0) throw new Exception("Thumbnail generation process failed.");
}
}
}

View File

@ -0,0 +1,14 @@
<div class="plant-card">
<section>
<h2>!IDENTIFIER!</h2>
<p class="gen">Generation !GENERATION!</p>
<p>!DESCRIPTION!</p>
<p>!PLANTING_INFO!</p>
</section>
<section>
<h3>Images</h3>
<div class="pswp-gallery">
!IMAGES!
</div>
</section>
</div>

View File

@ -0,0 +1,19 @@
<div class="species-card">
<section>
<h2>
<a href="!LINK!">
!NAME!
</a>
</h2>
<p class="sci">
!SCIENTIFIC_NAME!
</p>
<p>!DESCRIPTION!</p>
<footer>
<a target="_blank" href="!REF_LINK!">
!REF_LINK_TEXT!
</a>
</footer>
</section>
!IMAGE!
</div>

View File

@ -0,0 +1,71 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Andrew's Garden: !HEAD_TITLE!</title>
<meta charset="utf-8">
<meta name="description" content="Information about Andrew's Garden">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="../../scripts/themes.min.js"></script>
<noscript><style>.jsonly{display: none !important;}</style></noscript>
<link rel="stylesheet" href="../../styles/style.css" type="text/css">
<link rel="stylesheet" href="../../styles/garden.css" type="text/css">
<script src="../../scripts/sitestat.js?remote-url=sitestat.andrewlalis.com" async></script>
<script type="module">
import PhotoSwipeLightbox from "../../vendor/photoswipe/photoswipe-lightbox.esm.min.js";
import PhotoSwipe from "../../vendor/photoswipe/photoswipe.esm.min.js";
const lightbox = new PhotoSwipeLightbox({
gallery: ".pswp-gallery",
children: "a",
pswpModule: PhotoSwipe
});
lightbox.init();
</script>
<link rel="stylesheet" href="../../vendor/photoswipe/photoswipe.css" type="text/css">
</head>
<body>
<header class="page-header">
<h1>Andrew's Garden</h1>
<h2 style="font-style: italic">!PAGE_TITLE!</h2>
<nav>
<div>
<a href="../../index.html">Home</a>
<a href="../../articles.html">Articles</a>
<a href="../../projects.html">Projects</a>
<a href="../../training.html">Training</a>
<a class="page-header-selected" href="../../garden.html">Garden</a>
<a href="../../contact.html">Contact</a>
<a href="../../logbook.html">Logbook</a>
</div>
<div>
<a href="https://github.com/andrewlalis">GitHub</a>
<a href="https://www.linkedin.com/in/andrew-lalis/">LinkedIn</a>
<a href="https://www.youtube.com/channel/UC9X4mx6-ObPUB6-ud2IGAFQ">YouTube</a>
</div>
</nav>
<button id="themeToggleButton" class="jsonly">Change Color Theme</button>
<hr>
</header>
<main>
<article>
<h2>!ABOUT_TITLE!</h2>
<p>!ABOUT_TEXT!</p>
<p>
<a href="!REF_LINK!">
!REF_LINK_TEXT!
</a>
</p>
</article>
<article>
<h2 id="plants">Plants</h2>
<p>
Here's a detailed list of all plants I have of this species.
</p>
!PLANTS_DIVS!
</article>
</main>
</body>

BIN
garden-plant-data.ods Normal file

Binary file not shown.

View File

@ -12,6 +12,18 @@
<link rel="stylesheet" href="styles/style.css" type="text/css">
<link rel="stylesheet" href="styles/garden.css" type="text/css">
<script src="scripts/sitestat.js?remote-url=sitestat.andrewlalis.com" async></script>
<script type="module">
import PhotoSwipeLightbox from "./vendor/photoswipe/photoswipe-lightbox.esm.min.js";
import PhotoSwipe from "./vendor/photoswipe/photoswipe.esm.min.js";
const lightbox = new PhotoSwipeLightbox({
gallery: "#main-garden-gallery",
children: "a",
pswpModule: PhotoSwipe
});
lightbox.init();
</script>
<link rel="stylesheet" href="vendor/photoswipe/photoswipe.css" type="text/css">
</head>
<body>
@ -43,7 +55,16 @@
<p>
My garden is just a small patch of land outside the condo my wife and I call home. It's located in <a href="https://planthardiness.ars.usda.gov/">USDA hardiness zone 10a</a> (actually, right on the border of 9b and 10a) in Florida, USA, and I've been trying to beautify the space with a mixture of native and non-invasive ornamental shrubs, herbs, and other plants. While currently there are quite a few non-native species, I'm trying to slowly migrate to entirely native plants and non-invasive food crops, especially those that can help rebuild the soil quality; it's pretty much just sandy clay here.
</p>
<img style="max-width: 100%" src="images/garden/garden-front_20240310_084331.jpg" alt="The main area of my garden"/>
<div id="main-garden-gallery" class="pswp-gallery">
<a href="images/garden/garden-front_20240310_084331.jpg"
data-pswp-width="2540"
data-pswp-height="1492"
target="_blank"
>
<img src="images/garden/garden-front_20240310_084331.jpg" style="max-width: 100%"/>
</a>
</div>
<!-- <img style="max-width: 100%" src="images/garden/garden-front_20240310_084331.jpg" alt="The main area of my garden"/> -->
<p>
If you'd like to leave feedback about the garden, or to request seeds, cuttings, please do contact me via the info on my <a href="contact.html">contact page</a>. I generally try to keep a supply of seeds for as many of my plants as possible, but as always, it depends.
</p>
@ -53,253 +74,360 @@
<h3>Table of Contents</h3>
<ol>
<li><a href="#plants">Plants</a></li>
<li><a href="#species">Species</a></li>
<li><a href="#hardscaping">Hardscaping</a></li>
</ol>
<hr/>
</article>
<article>
<h2 id="plants">Plants</h2>
<h2 id="species">Species</h2>
<p>
Here's a detailed list of all the plants I've got in my garden. For each plant, I try to include its scientific name, place of origin, and a small description, usually taken from Wikipedia or other sources listed at the bottom of each plant's info.
Here's a detailed list of all the species I've got in my garden. For each species, I try to include its scientific name, place of origin, and a small description, usually taken from Wikipedia or other sources listed at the bottom of each species' info.
</p>
<div class="plant-card">
<section>
<h2>Bird Pepper</h2>
<p class="sci">Capsicum annuum var. glabriusculum</p>
<p>A small chili pepper variety native to southern North America and northern South America. It's the only pepper species native to the Floridian peninsula.</p>
<p>Transplanted from a 1 gallon pot, on February 10th, 2024.</p>
<footer>
<a href="https://en.wikipedia.org/wiki/Capsicum_annuum_var._glabriusculum">Wikipedia</a>
</footer>
</section>
<img src="images/garden/bird-pepper_20240310_113310.jpg" alt="Bird Pepper plant"/>
</div>
<div class="plant-card">
<section>
<h2>Blue Pacific Juniper</h2>
<p class="sci">Juniperus conferta</p>
<p>A species of Juniper native to Japan, that grows on sand dunes and other acidic/alkaline soils with good drainage. It forms a groundcover if left unattended.</p>
<p>Transplanted on the 2nd of March, 2024.</p>
<footer>
<a href="https://en.wikipedia.org/wiki/Juniperus_conferta">Wikipedia</a>
</footer>
</section>
<img src="images/garden/blue-juniper_20240310_113334.jpg" alt="Blue Pacific Juniper plant"/>
</div>
<div class="plant-card">
<section>
<h2>Browne's Savory</h2>
<p class="sci">Clinopodium brownei</p>
<p>A sprawling perennial herb found natively in the coastal plains and marshes of the southeastern United States.</p>
<p>Transplanted on the 10th of February, 2024.</p>
<footer>
<a href="https://en.wikipedia.org/wiki/Clinopodium_brownei">Wikipedia</a>
</footer>
</section>
<img src="images/garden/browns-savory_20240310_113313.jpg" alt="Browne's Savory plant"/>
</div>
<div class="plant-card">
<section>
<h2>Catnip</h2>
<p class="sci">Nepeta cataria</p>
<p>Species of mint that about 2/3rds of cats are attracted to.</p>
<p>Native to southern and eastern Europe, the Middle East, Central Asia, and parts of China.</p>
<p>Transplanted from a small pot bought at a pet store, sometime in October, 2023.</p>
<footer>
<a href="https://en.wikipedia.org/wiki/Catnip">Wikipedia</a>
</footer>
</section>
<img src="images/garden/catnip_20240310_113153.jpg" alt="Catnip plant"/>
</div>
<div class="plant-card">
<section>
<h2>Garlic Chives</h2>
<p class="sci">Allium tuberosum</p>
<p>A clump-forming perennial herb native to the Chinese province of Shanxi, but now found pretty much worldwide.</p>
<p>Planted from seed on the 2nd of March, 2024.</p>
<footer>
<a href="https://en.wikipedia.org/wiki/Allium_tuberosum">Wikipedia</a>
</footer>
</section>
<img src="images/garden/chives_20240310_113216.jpg" alt="Chives plant"/>
</div>
<div class="plant-card">
<section>
<h2>Cilantro</h2>
<p class="sci">Coriandrum sativum</p>
<p>Also known as Coriander, this is an annual herb that most people enjoy has having a tart, lemon/lime taste. It's native to the mediterranean basin, but is grown worldwide.</p>
<footer>
<a href="https://en.wikipedia.org/wiki/Coriander">Wikipedia</a>
</footer>
</section>
<img src="images/garden/cilantro_20240310_113220.jpg" alt="Cilantro plant"/>
</div>
<div class="plant-card">
<section>
<h2>Creeping Sage</h2>
<p class="sci">Salvia misella</p>
<p>Also known as tropical sage, it is an annual herb growing throughout the tropical Americas.</p>
<p>Transplanted on the 9th of March, 2024.</p>
<footer>
<a href="https://en.wikipedia.org/wiki/Salvia_misella">Wikipedia</a>
</footer>
</section>
<img src="images/garden/creeping-sage_20240310_113303.jpg" alt="Creeping Sage plant"/>
</div>
<div class="plant-card">
<section>
<h2>Dwarf Shiny-Leaf Coffee</h2>
<p class="sci">Psychotria nervosa</p>
<p>A small shrub with shiny evergreen leaves that produces beans similar to coffee, but without any caffeine. Native to the southeastern United States.</p>
<p>Transplanted on the 10th of February, 2024.</p>
<footer>
<a href="https://gardeningsolutions.ifas.ufl.edu/plants/trees-and-shrubs/shrubs/wild-coffee.html">University of Florida</a>
</footer>
</section>
<img src="images/garden/dwarf-coffee_20240310_113259.jpg" alt="Dwarf Coffee plant"/>
</div>
<div class="plant-card">
<section>
<h2>Kimberley Queen Fern</h2>
<p class="sci">Nephrolepis obliterata</p>
<p>A species of fern originating from Australia, but grown worldwide.</p>
<p>Transplanted on the 2nd of March, 2024.</p>
<footer>
<a href="https://en.wikipedia.org/wiki/Nephrolepis_obliterata">Wikipedia</a>
</footer>
</section>
<img src="images/garden/fern_20240310_113359.jpg" alt="Fern plant"/>
</div>
<div class="plant-card">
<section>
<h2>Foxtail Fern</h2>
<p class="sci">Asparagus aethiopicus</p>
<p>A plant native to South Africa that's grown ornamentally in many places. Its roots form water-storage tubers.</p>
<p>Transplanted in February, 2024.</p>
<footer>
<a href="https://en.wikipedia.org/wiki/Asparagus_aethiopicus">Wikipedia</a>
</footer>
</section>
<img src="images/garden/foxtail-fern_20240310_113229.jpg" alt="Foxtail Fern plant"/>
</div>
<div class="plant-card">
<section>
<h2>Inchplant</h2>
<p class="sci">Tradescantia zebrina</p>
<p>A species of creeping vine plant that forms a dense groundcover in shaded areas. It's native to Mexico, Central America, and Colombia.</p>
<p>Transplanted on the 8th of March, 2024.</p>
<footer>
<a href="https://en.wikipedia.org/wiki/Tradescantia_zebrina">Wikipedia</a>
</footer>
</section>
<img src="images/garden/inchplant_20240310_113409.jpg" alt="Inchplant"/>
</div>
<div class="plant-card">
<section>
<h2>Jalapeño</h2>
<p class="sci">Capsicum annuum var. jalapeño</p>
<p>A medium-sized chili pepper species with relatively mild pungency. It's commonly picked and consumed while still green, and were originally cultivated by the Aztecs.</p>
<p>Transplanted on the 2nd of March, 2024.</p>
<footer>
<a href="https://en.wikipedia.org/wiki/Jalape%C3%B1o">Wikipedia</a>
</footer>
</section>
<img src="images/garden/jalapeno_20240310_113329.jpg" alt="Jalapeño plant"/>
</div>
<div class="plant-card">
<section>
<h2>Marigold</h2>
<p class="sci">Tagetes erecta</p>
<p>A species of flowering plant native to the Americas that is widely used as an ornamental flower, and was originally called by its Nahuatl name, cempoalxóchitl.</p>
<p>Planted from seed in February, 2024.</p>
<footer>
<a href="https://en.wikipedia.org/wiki/Tagetes_erecta">Wikipedia</a>
</footer>
</section>
<img src="images/garden/marigold_20240310_113234.jpg" alt="Marigold plant"/>
</div>
<div class="plant-card">
<section>
<h2>Perennial Petunia</h2>
<p class="sci">Ruellia caroliniensis</p>
<p>A wild petunia with blue or violet flowers that's native to the southeastern United States.</p>
<p>Transplanted on the 10th of February, 2024.</p>
<footer>
<a href="https://en.wikipedia.org/wiki/Ruellia_caroliniensis">Wikipedia</a>
</footer>
</section>
<img src="images/garden/perennial-petunia_20240310_113346.jpg" alt="Petunia plant"/>
</div>
<div class="plant-card">
<section>
<h2>Mona Lavender</h2>
<p class="sci">Plectranthus "Mona Lavender"</p>
<p>A hybrid of <em>Plectranthus saccatus</em> and <em>Plectranthus hilliardiae</em>, this is a broadleaf evergreen shrub in the mint family, which produces many small purple flowers.</p>
<p>Transplanted in February, 2024.</p>
<footer>
<a href="https://plants.ces.ncsu.edu/plants/plectranthus-mona-lavender/">North Carolina State University</a>
</footer>
</section>
<img src="images/garden/plectranthus_20240310_113255.jpg" alt="Plectranthus plant"/>
</div>
<div class="plant-card">
<section>
<h2>English Thyme</h2>
<p class="sci">Thymus vulgaris</p>
<p>A flowering plant in the mint family, native to southern Europe, that's commonly used as an herb.</p>
<p>Planted from seed in March, 2024.</p>
<footer>
<a href="https://en.wikipedia.org/wiki/Thymus_vulgaris">Wikipedia</a>
</footer>
</section>
<img src="images/garden/thyme_20240310_113210.jpg" alt="Thyme plant"/>
</div>
<div class="plant-card">
<section>
<h2>Tropical Milkweed</h2>
<p class="sci">Asclepias curassavica</p>
<p>A flowering milkweed species native to the American tropics which is a food source for Monarch butterflies.</p>
<p>Note: Research suggests that this plant may disrupt migratory patterns in butterflies when planted in northern United States habitats. I'm working on replacing it with native milkweed variants.</p>
<p>Transplanted in February, 2024.</p>
<footer>
<a href="https://en.wikipedia.org/wiki/Asclepias_curassavica">Wikipedia</a>
</footer>
</section>
<img src="images/garden/tropical-milkweed_20240310_113353.jpg" alt="Tropical Milkweed plant"/>
</div>
<div class="plant-card">
<section>
<h2>Wood Sage</h2>
<p class="sci">Teucrium canadense</p>
<p>A perennial herb native to North America, growing in moist grasslands, forest edges, marshes, and on roadsides.</p>
<p>Transplanted on the 9th of March, 2024.</p>
<footer>
<a href="https://en.wikipedia.org/wiki/Teucrium_canadense">Wikipedia</a>
</footer>
</section>
<img src="images/garden/woody-sage_20240310_113339.jpg" alt="Wood Sage plant"/>
</div>
<!--__SPECIES_LIST_START__-->
<div class="species-card">
<section>
<h2>
<a href="garden/species/capsicum-annuum-var-glabriusculum.html">
Bird Pepper
</a>
</h2>
<p class="sci">
Capsicum annuum var. glabriusculum
</p>
<p>A small chili pepper variety native to southern North America and northern South America. It's the only pepper species native to the Floridian peninsula.</p>
<footer>
<a target="_blank" href="https://en.wikipedia.org/wiki/Capsicum_annuum_var._glabriusculum">
https://en.wikipedia.org/wiki/Capsicum_annuum_var._glabriusculum
</a>
</footer>
</section>
<img src="images/garden/species/capsicum-annuum-var-glabriusculum/Capsicum_annuum-FWF.jpg"/>
</div>
<div class="species-card">
<section>
<h2>
<a href="garden/species/juniperus-conferta.html">
Blue Pacific Juniper
</a>
</h2>
<p class="sci">
Juniperus conferta
</p>
<p>A species of Juniper native to Japan, that grows on sand dunes and other acidic/alkaline soils with good drainage. It forms a groundcover if left unattended.</p>
<footer>
<a target="_blank" href="https://en.wikipedia.org/wiki/Juniperus_conferta">
https://en.wikipedia.org/wiki/Juniperus_conferta
</a>
</footer>
</section>
<img src="images/garden/species/juniperus-conferta/Juniperus_conferta_blue_pacific--Javier-Alejandro--CC-BY-NC-ND.jpg"/>
</div>
<div class="species-card">
<section>
<h2>
<a href="garden/species/clinopodium-brownei.html">
Brownes Savory
</a>
</h2>
<p class="sci">
Clinopodium brownei
</p>
<p>A sprawling perennial herb found natively in the coastal plains and marshes of the southeastern United States.</p>
<footer>
<a target="_blank" href="https://en.wikipedia.org/wiki/Clinopodium_brownei">
https://en.wikipedia.org/wiki/Clinopodium_brownei
</a>
</footer>
</section>
<img src="images/garden/species/clinopodium-brownei/clinopodium_brownei-keim2-1-e1602619542587.jpg"/>
</div>
<div class="species-card">
<section>
<h2>
<a href="garden/species/nepeta-cataria.html">
Catnip
</a>
</h2>
<p class="sci">
Nepeta cataria
</p>
<p>Species of mint that about 2/3rds of cats are attracted to. Native to southern and eastern Europe, the Middle East, Central Asia, and parts of China.</p>
<footer>
<a target="_blank" href="https://en.wikipedia.org/wiki/Catnip">
https://en.wikipedia.org/wiki/Catnip
</a>
</footer>
</section>
<img src="images/garden/species/nepeta-cataria/catnip-test.jpg"/>
</div>
<div class="species-card">
<section>
<h2>
<a href="garden/species/coriandrum-sativum.html">
Cilantro
</a>
</h2>
<p class="sci">
Coriandrum sativum
</p>
<p>Also known as Coriander, this is an annual herb that most people enjoy has having a tart, lemon/lime taste. It's native to the Mediterranean basin, but is grown worldwide.</p>
<footer>
<a target="_blank" href="https://en.wikipedia.org/wiki/Coriander">
https://en.wikipedia.org/wiki/Coriander
</a>
</footer>
</section>
<img src="images/garden/species/coriandrum-sativum/Coriandrum_sativum--Forest-and-Kim-Starr--CC-BY.jpg"/>
</div>
<div class="species-card">
<section>
<h2>
<a href="garden/species/salvia-misella.html">
Creeping Sage
</a>
</h2>
<p class="sci">
Salvia misella
</p>
<p>Also known as tropical sage, it is an annual herb growing throughout the tropical Americas.</p>
<footer>
<a target="_blank" href="https://en.wikipedia.org/wiki/Salvia_misella">
https://en.wikipedia.org/wiki/Salvia_misella
</a>
</footer>
</section>
<img src="images/garden/species/salvia-misella/salvia-misella.jpg"/>
</div>
<div class="species-card">
<section>
<h2>
<a href="garden/species/psychotria-nervosa.html">
Dwarf Shiny-Leaf Coffee
</a>
</h2>
<p class="sci">
Psychotria nervosa
</p>
<p>A small shrub with shiny evergreen leaves that produces beans similar to coffee, but without any caffeine. Native to the southeastern United States.</p>
<footer>
<a target="_blank" href="https://gardeningsolutions.ifas.ufl.edu/plants/trees-and-shrubs/shrubs/wild-coffee.html">
https://gardeningsolutions.ifas.ufl.edu/plants/trees-and-shrubs/shrubs/wild-coffee.html
</a>
</footer>
</section>
<img src="images/garden/species/psychotria-nervosa/Psychotria_nervosa-JennyEvans_CCBY-NC2.0.jpg"/>
</div>
<div class="species-card">
<section>
<h2>
<a href="garden/species/thymus-vulgaris.html">
English Thyme
</a>
</h2>
<p class="sci">
Thymus vulgaris
</p>
<p>A flowering plant in the mint family, native to southern Europe, that's commonly used as an herb.</p>
<footer>
<a target="_blank" href="https://en.wikipedia.org/wiki/Thymus_vulgaris">
https://en.wikipedia.org/wiki/Thymus_vulgaris
</a>
</footer>
</section>
<img src="images/garden/species/thymus-vulgaris/Thymus-vulgaris--CT-Arzneimittel-GmbH--CC-BY-ND.jpg"/>
</div>
<div class="species-card">
<section>
<h2>
<a href="garden/species/asparagus-aethiopicus.html">
Foxtail Fern
</a>
</h2>
<p class="sci">
Asparagus aethiopicus
</p>
<p>A plant native to South Africa that's grown ornamentally in many places. Its roots form water-storage tubers.</p>
<footer>
<a target="_blank" href="https://en.wikipedia.org/wiki/Asparagus_aethiopicus">
https://en.wikipedia.org/wiki/Asparagus_aethiopicus
</a>
</footer>
</section>
<img src="images/garden/species/asparagus-aethiopicus/foxtail_fern_asparagus_meyeri.jpg"/>
</div>
<div class="species-card">
<section>
<h2>
<a href="garden/species/allium-tuberosum.html">
Garlic Chives
</a>
</h2>
<p class="sci">
Allium tuberosum
</p>
<p>A clump-forming perennial herb native to the Chinese province of Shanxi, but now found pretty much worldwide.</p>
<footer>
<a target="_blank" href="https://en.wikipedia.org/wiki/Allium_tuberosum">
https://en.wikipedia.org/wiki/Allium_tuberosum
</a>
</footer>
</section>
<img src="images/garden/species/allium-tuberosum/Allium_tuberosum-ingarden1.jpg"/>
</div>
<div class="species-card">
<section>
<h2>
<a href="garden/species/trandescantia-zebrina.html">
Inchplant
</a>
</h2>
<p class="sci">
Trandescantia zebrina
</p>
<p>A species of creeping vine plant that forms a dense groundcover in shaded areas. It's native to Mexico, Central America, and Colombia.</p>
<footer>
<a target="_blank" href="https://en.wikipedia.org/wiki/Tradescantia_zebrina">
https://en.wikipedia.org/wiki/Tradescantia_zebrina
</a>
</footer>
</section>
<img src="images/garden/species/trandescantia-zebrina/Tradescantia-zebrina_AdobeStock_492957504_1200px.jpg"/>
</div>
<div class="species-card">
<section>
<h2>
<a href="garden/species/capsicum-annuum-var-jalapeno.html">
Jalapeño
</a>
</h2>
<p class="sci">
Capsicum annuum var. jalapeño
</p>
<p>A medium-sized chili pepper species with relatively mild pungency. It's commonly picked and consumed while still green, and were originally cultivated by the Aztecs.</p>
<footer>
<a target="_blank" href="https://en.wikipedia.org/wiki/Jalape%C3%B1o">
https://en.wikipedia.org/wiki/Jalape%C3%B1o
</a>
</footer>
</section>
<img src="images/garden/species/capsicum-annuum-var-jalapeno/jalapeno.jpg"/>
</div>
<div class="species-card">
<section>
<h2>
<a href="garden/species/nephrolepis-obliterata.html">
Kimberley Queen Fern
</a>
</h2>
<p class="sci">
Nephrolepis obliterata
</p>
<p>A species of fern originating from Australia, but grown worldwide.</p>
<footer>
<a target="_blank" href="https://en.wikipedia.org/wiki/Nephrolepis_obliterata">
https://en.wikipedia.org/wiki/Nephrolepis_obliterata
</a>
</footer>
</section>
<img src="images/garden/species/nephrolepis-obliterata/nephrolepis-obliterata.jpg"/>
</div>
<div class="species-card">
<section>
<h2>
<a href="garden/species/tagetes-erecta.html">
Marigold
</a>
</h2>
<p class="sci">
Tagetes erecta
</p>
<p>A species of flowering plant native to the Americas that is widely used as an ornamental flower, and was originally called by its Nahuatl name, cempoalxóchitl.</p>
<footer>
<a target="_blank" href="https://en.wikipedia.org/wiki/Tagetes_erecta">
https://en.wikipedia.org/wiki/Tagetes_erecta
</a>
</footer>
</section>
<img src="images/garden/species/tagetes-erecta/tagetes-erecta.jpg"/>
</div>
<div class="species-card">
<section>
<h2>
<a href="garden/species/plectranthus-mona-lavender.html">
Mona Lavender
</a>
</h2>
<p class="sci">
Plectranthus “Mona Lavender”
</p>
<p>A hybrid of Plectranthus saccatus and Plectranthus hilliardiae, this is a broadleaf evergreen shrub in the mint family, which produces many small purple flowers.</p>
<footer>
<a target="_blank" href="https://plants.ces.ncsu.edu/plants/plectranthus-mona-lavender/">
https://plants.ces.ncsu.edu/plants/plectranthus-mona-lavender/
</a>
</footer>
</section>
<img src="images/garden/species/plectranthus-mona-lavender/plectranthus-0773400934.jpg"/>
</div>
<div class="species-card">
<section>
<h2>
<a href="garden/species/ruellia-caroliniensis.html">
Perennial Petunia
</a>
</h2>
<p class="sci">
Ruellia caroliniensis
</p>
<p>A wild petunia with blue or violet flowers that's native to the southeastern United States.</p>
<footer>
<a target="_blank" href="https://en.wikipedia.org/wiki/Ruellia_caroliniensis">
https://en.wikipedia.org/wiki/Ruellia_caroliniensis
</a>
</footer>
</section>
<img src="images/garden/species/ruellia-caroliniensis/Ruellia-carolinensis-Carolina-Wild-Petunia-by-Marti-Webster-e1525962513541.jpg"/>
</div>
<div class="species-card">
<section>
<h2>
<a href="garden/species/asclepias-curassavica.html">
Tropical Milkweed
</a>
</h2>
<p class="sci">
Asclepias curassavica
</p>
<p>A flowering milkweed species native to the American tropics which is a food source for Monarch butterflies. Note: Research suggests that this plant may disrupt migratory patterns in butterflies when planted in northern United States habitats. I'm working on replacing it with native milkweed variants.</p>
<footer>
<a target="_blank" href="https://en.wikipedia.org/wiki/Asclepias_curassavica">
https://en.wikipedia.org/wiki/Asclepias_curassavica
</a>
</footer>
</section>
<img src="images/garden/species/asclepias-curassavica/Asclepias_curassavica-Thekkady-2016-12-03-001.jpg"/>
</div>
<div class="species-card">
<section>
<h2>
<a href="garden/species/teucrium-canadense.html">
Wood Sage
</a>
</h2>
<p class="sci">
Teucrium canadense
</p>
<p>A perennial herb native to North America, growing in moist grasslands, forest edges, marshes, and on roadsides.</p>
<footer>
<a target="_blank" href="https://en.wikipedia.org/wiki/Teucrium_canadense">
https://en.wikipedia.org/wiki/Teucrium_canadense
</a>
</footer>
</section>
<img src="images/garden/species/teucrium-canadense/teucrium-canadense-perennials-20a__49095.jpg"/>
</div><!--__SPECIES_LIST_END__-->
</article>
<article>

View File

@ -0,0 +1,87 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Andrew's Garden: Garlic Chives</title>
<meta charset="utf-8">
<meta name="description" content="Information about Andrew's Garden">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="../../scripts/themes.min.js"></script>
<noscript><style>.jsonly{display: none !important;}</style></noscript>
<link rel="stylesheet" href="../../styles/style.css" type="text/css">
<link rel="stylesheet" href="../../styles/garden.css" type="text/css">
<script src="../../scripts/sitestat.js?remote-url=sitestat.andrewlalis.com" async></script>
<script type="module">
import PhotoSwipeLightbox from "../../vendor/photoswipe/photoswipe-lightbox.esm.min.js";
import PhotoSwipe from "../../vendor/photoswipe/photoswipe.esm.min.js";
const lightbox = new PhotoSwipeLightbox({
gallery: ".pswp-gallery",
children: "a",
pswpModule: PhotoSwipe
});
lightbox.init();
</script>
<link rel="stylesheet" href="../../vendor/photoswipe/photoswipe.css" type="text/css">
</head>
<body>
<header class="page-header">
<h1>Andrew's Garden</h1>
<h2 style="font-style: italic">Allium tuberosum</h2>
<nav>
<div>
<a href="../../index.html">Home</a>
<a href="../../articles.html">Articles</a>
<a href="../../projects.html">Projects</a>
<a href="../../training.html">Training</a>
<a class="page-header-selected" href="../../garden.html">Garden</a>
<a href="../../contact.html">Contact</a>
<a href="../../logbook.html">Logbook</a>
</div>
<div>
<a href="https://github.com/andrewlalis">GitHub</a>
<a href="https://www.linkedin.com/in/andrew-lalis/">LinkedIn</a>
<a href="https://www.youtube.com/channel/UC9X4mx6-ObPUB6-ud2IGAFQ">YouTube</a>
</div>
</nav>
<button id="themeToggleButton" class="jsonly">Change Color Theme</button>
<hr>
</header>
<main>
<article>
<h2>About Garlic Chives</h2>
<p>A clump-forming perennial herb native to the Chinese province of Shanxi, but now found pretty much worldwide.</p>
<p>
<a href="https://en.wikipedia.org/wiki/Allium_tuberosum">
https://en.wikipedia.org/wiki/Allium_tuberosum
</a>
</p>
</article>
<article>
<h2 id="plants">Plants</h2>
<p>
Here's a detailed list of all plants I have of this species.
</p>
<div class="plant-card">
<section>
<h2>garlic-chives-001</h2>
<p class="gen">Generation F1</p>
<p></p>
<p>Planted from seed on the 2nd of March, 2024.</p>
</section>
<section>
<h3>Images</h3>
<div class="pswp-gallery">
<a href="../../images/garden/plants/garlic-chives-001/chives_20240310_113216.jpg" data-pswp-width="1836" data-pswp-height="2552" target="_blank">
<img src="../../images/garden/plants/garlic-chives-001/chives_20240310_113216.thumb.jpg" alt=""/>
</a>
</div>
</section>
</div>
</article>
</main>
</body>

View File

@ -0,0 +1,87 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Andrew's Garden: Tropical Milkweed</title>
<meta charset="utf-8">
<meta name="description" content="Information about Andrew's Garden">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="../../scripts/themes.min.js"></script>
<noscript><style>.jsonly{display: none !important;}</style></noscript>
<link rel="stylesheet" href="../../styles/style.css" type="text/css">
<link rel="stylesheet" href="../../styles/garden.css" type="text/css">
<script src="../../scripts/sitestat.js?remote-url=sitestat.andrewlalis.com" async></script>
<script type="module">
import PhotoSwipeLightbox from "../../vendor/photoswipe/photoswipe-lightbox.esm.min.js";
import PhotoSwipe from "../../vendor/photoswipe/photoswipe.esm.min.js";
const lightbox = new PhotoSwipeLightbox({
gallery: ".pswp-gallery",
children: "a",
pswpModule: PhotoSwipe
});
lightbox.init();
</script>
<link rel="stylesheet" href="../../vendor/photoswipe/photoswipe.css" type="text/css">
</head>
<body>
<header class="page-header">
<h1>Andrew's Garden</h1>
<h2 style="font-style: italic">Asclepias curassavica</h2>
<nav>
<div>
<a href="../../index.html">Home</a>
<a href="../../articles.html">Articles</a>
<a href="../../projects.html">Projects</a>
<a href="../../training.html">Training</a>
<a class="page-header-selected" href="../../garden.html">Garden</a>
<a href="../../contact.html">Contact</a>
<a href="../../logbook.html">Logbook</a>
</div>
<div>
<a href="https://github.com/andrewlalis">GitHub</a>
<a href="https://www.linkedin.com/in/andrew-lalis/">LinkedIn</a>
<a href="https://www.youtube.com/channel/UC9X4mx6-ObPUB6-ud2IGAFQ">YouTube</a>
</div>
</nav>
<button id="themeToggleButton" class="jsonly">Change Color Theme</button>
<hr>
</header>
<main>
<article>
<h2>About Tropical Milkweed</h2>
<p>A flowering milkweed species native to the American tropics which is a food source for Monarch butterflies. Note: Research suggests that this plant may disrupt migratory patterns in butterflies when planted in northern United States habitats. I'm working on replacing it with native milkweed variants.</p>
<p>
<a href="https://en.wikipedia.org/wiki/Asclepias_curassavica">
https://en.wikipedia.org/wiki/Asclepias_curassavica
</a>
</p>
</article>
<article>
<h2 id="plants">Plants</h2>
<p>
Here's a detailed list of all plants I have of this species.
</p>
<div class="plant-card">
<section>
<h2>tropical-milkweed-001</h2>
<p class="gen">Generation F1</p>
<p></p>
<p>Transplanted in February, 2024.</p>
</section>
<section>
<h3>Images</h3>
<div class="pswp-gallery">
<a href="../../images/garden/plants/tropical-milkweed-001/tropical-milkweed_20240310_113353.jpg" data-pswp-width="1836" data-pswp-height="2986" target="_blank">
<img src="../../images/garden/plants/tropical-milkweed-001/tropical-milkweed_20240310_113353.thumb.jpg" alt=""/>
</a>
</div>
</section>
</div>
</article>
</main>
</body>

View File

@ -0,0 +1,100 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Andrew's Garden: Foxtail Fern</title>
<meta charset="utf-8">
<meta name="description" content="Information about Andrew's Garden">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="../../scripts/themes.min.js"></script>
<noscript><style>.jsonly{display: none !important;}</style></noscript>
<link rel="stylesheet" href="../../styles/style.css" type="text/css">
<link rel="stylesheet" href="../../styles/garden.css" type="text/css">
<script src="../../scripts/sitestat.js?remote-url=sitestat.andrewlalis.com" async></script>
<script type="module">
import PhotoSwipeLightbox from "../../vendor/photoswipe/photoswipe-lightbox.esm.min.js";
import PhotoSwipe from "../../vendor/photoswipe/photoswipe.esm.min.js";
const lightbox = new PhotoSwipeLightbox({
gallery: ".pswp-gallery",
children: "a",
pswpModule: PhotoSwipe
});
lightbox.init();
</script>
<link rel="stylesheet" href="../../vendor/photoswipe/photoswipe.css" type="text/css">
</head>
<body>
<header class="page-header">
<h1>Andrew's Garden</h1>
<h2 style="font-style: italic">Asparagus aethiopicus</h2>
<nav>
<div>
<a href="../../index.html">Home</a>
<a href="../../articles.html">Articles</a>
<a href="../../projects.html">Projects</a>
<a href="../../training.html">Training</a>
<a class="page-header-selected" href="../../garden.html">Garden</a>
<a href="../../contact.html">Contact</a>
<a href="../../logbook.html">Logbook</a>
</div>
<div>
<a href="https://github.com/andrewlalis">GitHub</a>
<a href="https://www.linkedin.com/in/andrew-lalis/">LinkedIn</a>
<a href="https://www.youtube.com/channel/UC9X4mx6-ObPUB6-ud2IGAFQ">YouTube</a>
</div>
</nav>
<button id="themeToggleButton" class="jsonly">Change Color Theme</button>
<hr>
</header>
<main>
<article>
<h2>About Foxtail Fern</h2>
<p>A plant native to South Africa that's grown ornamentally in many places. Its roots form water-storage tubers.</p>
<p>
<a href="https://en.wikipedia.org/wiki/Asparagus_aethiopicus">
https://en.wikipedia.org/wiki/Asparagus_aethiopicus
</a>
</p>
</article>
<article>
<h2 id="plants">Plants</h2>
<p>
Here's a detailed list of all plants I have of this species.
</p>
<div class="plant-card">
<section>
<h2>foxtail-fern-001</h2>
<p class="gen">Generation F1</p>
<p>The foxtail fern in the bottom-left corner of the garden, when looking from the front. Its right by the sidewalk.</p>
<p>Transplanted in February, 2024.</p>
</section>
<section>
<h3>Images</h3>
<div class="pswp-gallery">
<a href="../../images/garden/plants/foxtail-fern-001/foxtail-fern_20240310_113229.jpg" data-pswp-width="1836" data-pswp-height="2472" target="_blank">
<img src="../../images/garden/plants/foxtail-fern-001/foxtail-fern_20240310_113229.thumb.jpg" alt=""/>
</a>
</div>
</section>
</div><div class="plant-card">
<section>
<h2>foxtail-fern-002</h2>
<p class="gen">Generation F1</p>
<p>The foxtail fern thats situated right in the middle of the garden, nearby the first bird-pepper plant.</p>
<p>Transplanted in February, 2024.</p>
</section>
<section>
<h3>Images</h3>
<div class="pswp-gallery">
</div>
</section>
</div>
</article>
</main>
</body>

View File

@ -0,0 +1,87 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Andrew's Garden: Bird Pepper</title>
<meta charset="utf-8">
<meta name="description" content="Information about Andrew's Garden">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="../../scripts/themes.min.js"></script>
<noscript><style>.jsonly{display: none !important;}</style></noscript>
<link rel="stylesheet" href="../../styles/style.css" type="text/css">
<link rel="stylesheet" href="../../styles/garden.css" type="text/css">
<script src="../../scripts/sitestat.js?remote-url=sitestat.andrewlalis.com" async></script>
<script type="module">
import PhotoSwipeLightbox from "../../vendor/photoswipe/photoswipe-lightbox.esm.min.js";
import PhotoSwipe from "../../vendor/photoswipe/photoswipe.esm.min.js";
const lightbox = new PhotoSwipeLightbox({
gallery: ".pswp-gallery",
children: "a",
pswpModule: PhotoSwipe
});
lightbox.init();
</script>
<link rel="stylesheet" href="../../vendor/photoswipe/photoswipe.css" type="text/css">
</head>
<body>
<header class="page-header">
<h1>Andrew's Garden</h1>
<h2 style="font-style: italic">Capsicum annuum var. glabriusculum</h2>
<nav>
<div>
<a href="../../index.html">Home</a>
<a href="../../articles.html">Articles</a>
<a href="../../projects.html">Projects</a>
<a href="../../training.html">Training</a>
<a class="page-header-selected" href="../../garden.html">Garden</a>
<a href="../../contact.html">Contact</a>
<a href="../../logbook.html">Logbook</a>
</div>
<div>
<a href="https://github.com/andrewlalis">GitHub</a>
<a href="https://www.linkedin.com/in/andrew-lalis/">LinkedIn</a>
<a href="https://www.youtube.com/channel/UC9X4mx6-ObPUB6-ud2IGAFQ">YouTube</a>
</div>
</nav>
<button id="themeToggleButton" class="jsonly">Change Color Theme</button>
<hr>
</header>
<main>
<article>
<h2>About Bird Pepper</h2>
<p>A small chili pepper variety native to southern North America and northern South America. It's the only pepper species native to the Floridian peninsula.</p>
<p>
<a href="https://en.wikipedia.org/wiki/Capsicum_annuum_var._glabriusculum">
https://en.wikipedia.org/wiki/Capsicum_annuum_var._glabriusculum
</a>
</p>
</article>
<article>
<h2 id="plants">Plants</h2>
<p>
Here's a detailed list of all plants I have of this species.
</p>
<div class="plant-card">
<section>
<h2>bird-pepper-001</h2>
<p class="gen">Generation F1</p>
<p>My first bird pepper plant, acquired from a local nursery.</p>
<p>Transplanted from a 1 gallon pot, on February 10th, 2024.</p>
</section>
<section>
<h3>Images</h3>
<div class="pswp-gallery">
<a href="../../images/garden/plants/bird-pepper-001/bird-pepper_20240310_113310.jpg" data-pswp-width="1836" data-pswp-height="2338" target="_blank">
<img src="../../images/garden/plants/bird-pepper-001/bird-pepper_20240310_113310.thumb.jpg" alt=""/>
</a>
</div>
</section>
</div>
</article>
</main>
</body>

View File

@ -0,0 +1,87 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Andrew's Garden: Jalapeño</title>
<meta charset="utf-8">
<meta name="description" content="Information about Andrew's Garden">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="../../scripts/themes.min.js"></script>
<noscript><style>.jsonly{display: none !important;}</style></noscript>
<link rel="stylesheet" href="../../styles/style.css" type="text/css">
<link rel="stylesheet" href="../../styles/garden.css" type="text/css">
<script src="../../scripts/sitestat.js?remote-url=sitestat.andrewlalis.com" async></script>
<script type="module">
import PhotoSwipeLightbox from "../../vendor/photoswipe/photoswipe-lightbox.esm.min.js";
import PhotoSwipe from "../../vendor/photoswipe/photoswipe.esm.min.js";
const lightbox = new PhotoSwipeLightbox({
gallery: ".pswp-gallery",
children: "a",
pswpModule: PhotoSwipe
});
lightbox.init();
</script>
<link rel="stylesheet" href="../../vendor/photoswipe/photoswipe.css" type="text/css">
</head>
<body>
<header class="page-header">
<h1>Andrew's Garden</h1>
<h2 style="font-style: italic">Capsicum annuum var. jalapeño</h2>
<nav>
<div>
<a href="../../index.html">Home</a>
<a href="../../articles.html">Articles</a>
<a href="../../projects.html">Projects</a>
<a href="../../training.html">Training</a>
<a class="page-header-selected" href="../../garden.html">Garden</a>
<a href="../../contact.html">Contact</a>
<a href="../../logbook.html">Logbook</a>
</div>
<div>
<a href="https://github.com/andrewlalis">GitHub</a>
<a href="https://www.linkedin.com/in/andrew-lalis/">LinkedIn</a>
<a href="https://www.youtube.com/channel/UC9X4mx6-ObPUB6-ud2IGAFQ">YouTube</a>
</div>
</nav>
<button id="themeToggleButton" class="jsonly">Change Color Theme</button>
<hr>
</header>
<main>
<article>
<h2>About Jalapeño</h2>
<p>A medium-sized chili pepper species with relatively mild pungency. It's commonly picked and consumed while still green, and were originally cultivated by the Aztecs.</p>
<p>
<a href="https://en.wikipedia.org/wiki/Jalape%C3%B1o">
https://en.wikipedia.org/wiki/Jalape%C3%B1o
</a>
</p>
</article>
<article>
<h2 id="plants">Plants</h2>
<p>
Here's a detailed list of all plants I have of this species.
</p>
<div class="plant-card">
<section>
<h2>jalapeno-001</h2>
<p class="gen">Generation F1</p>
<p></p>
<p>Transplanted on the 2nd of March, 2024.</p>
</section>
<section>
<h3>Images</h3>
<div class="pswp-gallery">
<a href="../../images/garden/plants/jalapeno-001/jalapeno_20240310_113329.jpg" data-pswp-width="1836" data-pswp-height="2860" target="_blank">
<img src="../../images/garden/plants/jalapeno-001/jalapeno_20240310_113329.thumb.jpg" alt=""/>
</a>
</div>
</section>
</div>
</article>
</main>
</body>

View File

@ -0,0 +1,87 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Andrew's Garden: Brownes Savory</title>
<meta charset="utf-8">
<meta name="description" content="Information about Andrew's Garden">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="../../scripts/themes.min.js"></script>
<noscript><style>.jsonly{display: none !important;}</style></noscript>
<link rel="stylesheet" href="../../styles/style.css" type="text/css">
<link rel="stylesheet" href="../../styles/garden.css" type="text/css">
<script src="../../scripts/sitestat.js?remote-url=sitestat.andrewlalis.com" async></script>
<script type="module">
import PhotoSwipeLightbox from "../../vendor/photoswipe/photoswipe-lightbox.esm.min.js";
import PhotoSwipe from "../../vendor/photoswipe/photoswipe.esm.min.js";
const lightbox = new PhotoSwipeLightbox({
gallery: ".pswp-gallery",
children: "a",
pswpModule: PhotoSwipe
});
lightbox.init();
</script>
<link rel="stylesheet" href="../../vendor/photoswipe/photoswipe.css" type="text/css">
</head>
<body>
<header class="page-header">
<h1>Andrew's Garden</h1>
<h2 style="font-style: italic">Clinopodium brownei</h2>
<nav>
<div>
<a href="../../index.html">Home</a>
<a href="../../articles.html">Articles</a>
<a href="../../projects.html">Projects</a>
<a href="../../training.html">Training</a>
<a class="page-header-selected" href="../../garden.html">Garden</a>
<a href="../../contact.html">Contact</a>
<a href="../../logbook.html">Logbook</a>
</div>
<div>
<a href="https://github.com/andrewlalis">GitHub</a>
<a href="https://www.linkedin.com/in/andrew-lalis/">LinkedIn</a>
<a href="https://www.youtube.com/channel/UC9X4mx6-ObPUB6-ud2IGAFQ">YouTube</a>
</div>
</nav>
<button id="themeToggleButton" class="jsonly">Change Color Theme</button>
<hr>
</header>
<main>
<article>
<h2>About Brownes Savory</h2>
<p>A sprawling perennial herb found natively in the coastal plains and marshes of the southeastern United States.</p>
<p>
<a href="https://en.wikipedia.org/wiki/Clinopodium_brownei">
https://en.wikipedia.org/wiki/Clinopodium_brownei
</a>
</p>
</article>
<article>
<h2 id="plants">Plants</h2>
<p>
Here's a detailed list of all plants I have of this species.
</p>
<div class="plant-card">
<section>
<h2>brownes-savory-001</h2>
<p class="gen">Generation F1</p>
<p></p>
<p>Transplanted on the 10th of February, 2024.</p>
</section>
<section>
<h3>Images</h3>
<div class="pswp-gallery">
<a href="../../images/garden/plants/brownes-savory-001/browns-savory_20240310_113313.jpg" data-pswp-width="1794" data-pswp-height="1623" target="_blank">
<img src="../../images/garden/plants/brownes-savory-001/browns-savory_20240310_113313.thumb.jpg" alt=""/>
</a>
</div>
</section>
</div>
</article>
</main>
</body>

View File

@ -0,0 +1,87 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Andrew's Garden: Cilantro</title>
<meta charset="utf-8">
<meta name="description" content="Information about Andrew's Garden">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="../../scripts/themes.min.js"></script>
<noscript><style>.jsonly{display: none !important;}</style></noscript>
<link rel="stylesheet" href="../../styles/style.css" type="text/css">
<link rel="stylesheet" href="../../styles/garden.css" type="text/css">
<script src="../../scripts/sitestat.js?remote-url=sitestat.andrewlalis.com" async></script>
<script type="module">
import PhotoSwipeLightbox from "../../vendor/photoswipe/photoswipe-lightbox.esm.min.js";
import PhotoSwipe from "../../vendor/photoswipe/photoswipe.esm.min.js";
const lightbox = new PhotoSwipeLightbox({
gallery: ".pswp-gallery",
children: "a",
pswpModule: PhotoSwipe
});
lightbox.init();
</script>
<link rel="stylesheet" href="../../vendor/photoswipe/photoswipe.css" type="text/css">
</head>
<body>
<header class="page-header">
<h1>Andrew's Garden</h1>
<h2 style="font-style: italic">Coriandrum sativum</h2>
<nav>
<div>
<a href="../../index.html">Home</a>
<a href="../../articles.html">Articles</a>
<a href="../../projects.html">Projects</a>
<a href="../../training.html">Training</a>
<a class="page-header-selected" href="../../garden.html">Garden</a>
<a href="../../contact.html">Contact</a>
<a href="../../logbook.html">Logbook</a>
</div>
<div>
<a href="https://github.com/andrewlalis">GitHub</a>
<a href="https://www.linkedin.com/in/andrew-lalis/">LinkedIn</a>
<a href="https://www.youtube.com/channel/UC9X4mx6-ObPUB6-ud2IGAFQ">YouTube</a>
</div>
</nav>
<button id="themeToggleButton" class="jsonly">Change Color Theme</button>
<hr>
</header>
<main>
<article>
<h2>About Cilantro</h2>
<p>Also known as Coriander, this is an annual herb that most people enjoy has having a tart, lemon/lime taste. It's native to the Mediterranean basin, but is grown worldwide.</p>
<p>
<a href="https://en.wikipedia.org/wiki/Coriander">
https://en.wikipedia.org/wiki/Coriander
</a>
</p>
</article>
<article>
<h2 id="plants">Plants</h2>
<p>
Here's a detailed list of all plants I have of this species.
</p>
<div class="plant-card">
<section>
<h2>coriander-001</h2>
<p class="gen">Generation F1</p>
<p></p>
<p>Planted from seed on the 2nd of March, 2024.</p>
</section>
<section>
<h3>Images</h3>
<div class="pswp-gallery">
<a href="../../images/garden/plants/coriander-001/cilantro_20240310_113220.jpg" data-pswp-width="1836" data-pswp-height="2768" target="_blank">
<img src="../../images/garden/plants/coriander-001/cilantro_20240310_113220.thumb.jpg" alt=""/>
</a>
</div>
</section>
</div>
</article>
</main>
</body>

View File

@ -0,0 +1,87 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Andrew's Garden: Blue Pacific Juniper</title>
<meta charset="utf-8">
<meta name="description" content="Information about Andrew's Garden">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="../../scripts/themes.min.js"></script>
<noscript><style>.jsonly{display: none !important;}</style></noscript>
<link rel="stylesheet" href="../../styles/style.css" type="text/css">
<link rel="stylesheet" href="../../styles/garden.css" type="text/css">
<script src="../../scripts/sitestat.js?remote-url=sitestat.andrewlalis.com" async></script>
<script type="module">
import PhotoSwipeLightbox from "../../vendor/photoswipe/photoswipe-lightbox.esm.min.js";
import PhotoSwipe from "../../vendor/photoswipe/photoswipe.esm.min.js";
const lightbox = new PhotoSwipeLightbox({
gallery: ".pswp-gallery",
children: "a",
pswpModule: PhotoSwipe
});
lightbox.init();
</script>
<link rel="stylesheet" href="../../vendor/photoswipe/photoswipe.css" type="text/css">
</head>
<body>
<header class="page-header">
<h1>Andrew's Garden</h1>
<h2 style="font-style: italic">Juniperus conferta</h2>
<nav>
<div>
<a href="../../index.html">Home</a>
<a href="../../articles.html">Articles</a>
<a href="../../projects.html">Projects</a>
<a href="../../training.html">Training</a>
<a class="page-header-selected" href="../../garden.html">Garden</a>
<a href="../../contact.html">Contact</a>
<a href="../../logbook.html">Logbook</a>
</div>
<div>
<a href="https://github.com/andrewlalis">GitHub</a>
<a href="https://www.linkedin.com/in/andrew-lalis/">LinkedIn</a>
<a href="https://www.youtube.com/channel/UC9X4mx6-ObPUB6-ud2IGAFQ">YouTube</a>
</div>
</nav>
<button id="themeToggleButton" class="jsonly">Change Color Theme</button>
<hr>
</header>
<main>
<article>
<h2>About Blue Pacific Juniper</h2>
<p>A species of Juniper native to Japan, that grows on sand dunes and other acidic/alkaline soils with good drainage. It forms a groundcover if left unattended.</p>
<p>
<a href="https://en.wikipedia.org/wiki/Juniperus_conferta">
https://en.wikipedia.org/wiki/Juniperus_conferta
</a>
</p>
</article>
<article>
<h2 id="plants">Plants</h2>
<p>
Here's a detailed list of all plants I have of this species.
</p>
<div class="plant-card">
<section>
<h2>blue-juniper-001</h2>
<p class="gen">Generation F1</p>
<p>A nice-looking juniper shrub I got at Lowes. Its located right on the corner of my garden.</p>
<p>Transplanted on the 2nd of March, 2024.</p>
</section>
<section>
<h3>Images</h3>
<div class="pswp-gallery">
<a href="../../images/garden/plants/blue-juniper-001/blue-juniper_20240310_113334.jpg" data-pswp-width="1836" data-pswp-height="2673" target="_blank">
<img src="../../images/garden/plants/blue-juniper-001/blue-juniper_20240310_113334.thumb.jpg" alt=""/>
</a>
</div>
</section>
</div>
</article>
</main>
</body>

View File

@ -0,0 +1,87 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Andrew's Garden: Catnip</title>
<meta charset="utf-8">
<meta name="description" content="Information about Andrew's Garden">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="../../scripts/themes.min.js"></script>
<noscript><style>.jsonly{display: none !important;}</style></noscript>
<link rel="stylesheet" href="../../styles/style.css" type="text/css">
<link rel="stylesheet" href="../../styles/garden.css" type="text/css">
<script src="../../scripts/sitestat.js?remote-url=sitestat.andrewlalis.com" async></script>
<script type="module">
import PhotoSwipeLightbox from "../../vendor/photoswipe/photoswipe-lightbox.esm.min.js";
import PhotoSwipe from "../../vendor/photoswipe/photoswipe.esm.min.js";
const lightbox = new PhotoSwipeLightbox({
gallery: ".pswp-gallery",
children: "a",
pswpModule: PhotoSwipe
});
lightbox.init();
</script>
<link rel="stylesheet" href="../../vendor/photoswipe/photoswipe.css" type="text/css">
</head>
<body>
<header class="page-header">
<h1>Andrew's Garden</h1>
<h2 style="font-style: italic">Nepeta cataria</h2>
<nav>
<div>
<a href="../../index.html">Home</a>
<a href="../../articles.html">Articles</a>
<a href="../../projects.html">Projects</a>
<a href="../../training.html">Training</a>
<a class="page-header-selected" href="../../garden.html">Garden</a>
<a href="../../contact.html">Contact</a>
<a href="../../logbook.html">Logbook</a>
</div>
<div>
<a href="https://github.com/andrewlalis">GitHub</a>
<a href="https://www.linkedin.com/in/andrew-lalis/">LinkedIn</a>
<a href="https://www.youtube.com/channel/UC9X4mx6-ObPUB6-ud2IGAFQ">YouTube</a>
</div>
</nav>
<button id="themeToggleButton" class="jsonly">Change Color Theme</button>
<hr>
</header>
<main>
<article>
<h2>About Catnip</h2>
<p>Species of mint that about 2/3rds of cats are attracted to. Native to southern and eastern Europe, the Middle East, Central Asia, and parts of China.</p>
<p>
<a href="https://en.wikipedia.org/wiki/Catnip">
https://en.wikipedia.org/wiki/Catnip
</a>
</p>
</article>
<article>
<h2 id="plants">Plants</h2>
<p>
Here's a detailed list of all plants I have of this species.
</p>
<div class="plant-card">
<section>
<h2>catnip-001</h2>
<p class="gen">Generation F1</p>
<p></p>
<p>Transplanted from a small pot bought at a pet store, sometime in October, 2023.</p>
</section>
<section>
<h3>Images</h3>
<div class="pswp-gallery">
<a href="../../images/garden/plants/catnip-001/catnip_20240310_113153.jpg" data-pswp-width="1836" data-pswp-height="2810" target="_blank">
<img src="../../images/garden/plants/catnip-001/catnip_20240310_113153.thumb.jpg" alt=""/>
</a>
</div>
</section>
</div>
</article>
</main>
</body>

View File

@ -0,0 +1,87 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Andrew's Garden: Kimberley Queen Fern</title>
<meta charset="utf-8">
<meta name="description" content="Information about Andrew's Garden">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="../../scripts/themes.min.js"></script>
<noscript><style>.jsonly{display: none !important;}</style></noscript>
<link rel="stylesheet" href="../../styles/style.css" type="text/css">
<link rel="stylesheet" href="../../styles/garden.css" type="text/css">
<script src="../../scripts/sitestat.js?remote-url=sitestat.andrewlalis.com" async></script>
<script type="module">
import PhotoSwipeLightbox from "../../vendor/photoswipe/photoswipe-lightbox.esm.min.js";
import PhotoSwipe from "../../vendor/photoswipe/photoswipe.esm.min.js";
const lightbox = new PhotoSwipeLightbox({
gallery: ".pswp-gallery",
children: "a",
pswpModule: PhotoSwipe
});
lightbox.init();
</script>
<link rel="stylesheet" href="../../vendor/photoswipe/photoswipe.css" type="text/css">
</head>
<body>
<header class="page-header">
<h1>Andrew's Garden</h1>
<h2 style="font-style: italic">Nephrolepis obliterata</h2>
<nav>
<div>
<a href="../../index.html">Home</a>
<a href="../../articles.html">Articles</a>
<a href="../../projects.html">Projects</a>
<a href="../../training.html">Training</a>
<a class="page-header-selected" href="../../garden.html">Garden</a>
<a href="../../contact.html">Contact</a>
<a href="../../logbook.html">Logbook</a>
</div>
<div>
<a href="https://github.com/andrewlalis">GitHub</a>
<a href="https://www.linkedin.com/in/andrew-lalis/">LinkedIn</a>
<a href="https://www.youtube.com/channel/UC9X4mx6-ObPUB6-ud2IGAFQ">YouTube</a>
</div>
</nav>
<button id="themeToggleButton" class="jsonly">Change Color Theme</button>
<hr>
</header>
<main>
<article>
<h2>About Kimberley Queen Fern</h2>
<p>A species of fern originating from Australia, but grown worldwide.</p>
<p>
<a href="https://en.wikipedia.org/wiki/Nephrolepis_obliterata">
https://en.wikipedia.org/wiki/Nephrolepis_obliterata
</a>
</p>
</article>
<article>
<h2 id="plants">Plants</h2>
<p>
Here's a detailed list of all plants I have of this species.
</p>
<div class="plant-card">
<section>
<h2>kimberley-fern-001</h2>
<p class="gen">Generation F1</p>
<p></p>
<p>Transplanted on the 2nd of March, 2024.</p>
</section>
<section>
<h3>Images</h3>
<div class="pswp-gallery">
<a href="../../images/garden/plants/kimberley-fern-001/fern_20240310_113359.jpg" data-pswp-width="1836" data-pswp-height="2420" target="_blank">
<img src="../../images/garden/plants/kimberley-fern-001/fern_20240310_113359.thumb.jpg" alt=""/>
</a>
</div>
</section>
</div>
</article>
</main>
</body>

View File

@ -0,0 +1,87 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Andrew's Garden: Mona Lavender</title>
<meta charset="utf-8">
<meta name="description" content="Information about Andrew's Garden">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="../../scripts/themes.min.js"></script>
<noscript><style>.jsonly{display: none !important;}</style></noscript>
<link rel="stylesheet" href="../../styles/style.css" type="text/css">
<link rel="stylesheet" href="../../styles/garden.css" type="text/css">
<script src="../../scripts/sitestat.js?remote-url=sitestat.andrewlalis.com" async></script>
<script type="module">
import PhotoSwipeLightbox from "../../vendor/photoswipe/photoswipe-lightbox.esm.min.js";
import PhotoSwipe from "../../vendor/photoswipe/photoswipe.esm.min.js";
const lightbox = new PhotoSwipeLightbox({
gallery: ".pswp-gallery",
children: "a",
pswpModule: PhotoSwipe
});
lightbox.init();
</script>
<link rel="stylesheet" href="../../vendor/photoswipe/photoswipe.css" type="text/css">
</head>
<body>
<header class="page-header">
<h1>Andrew's Garden</h1>
<h2 style="font-style: italic">Plectranthus “Mona Lavender”</h2>
<nav>
<div>
<a href="../../index.html">Home</a>
<a href="../../articles.html">Articles</a>
<a href="../../projects.html">Projects</a>
<a href="../../training.html">Training</a>
<a class="page-header-selected" href="../../garden.html">Garden</a>
<a href="../../contact.html">Contact</a>
<a href="../../logbook.html">Logbook</a>
</div>
<div>
<a href="https://github.com/andrewlalis">GitHub</a>
<a href="https://www.linkedin.com/in/andrew-lalis/">LinkedIn</a>
<a href="https://www.youtube.com/channel/UC9X4mx6-ObPUB6-ud2IGAFQ">YouTube</a>
</div>
</nav>
<button id="themeToggleButton" class="jsonly">Change Color Theme</button>
<hr>
</header>
<main>
<article>
<h2>About Mona Lavender</h2>
<p>A hybrid of Plectranthus saccatus and Plectranthus hilliardiae, this is a broadleaf evergreen shrub in the mint family, which produces many small purple flowers.</p>
<p>
<a href="https://plants.ces.ncsu.edu/plants/plectranthus-mona-lavender/">
https://plants.ces.ncsu.edu/plants/plectranthus-mona-lavender/
</a>
</p>
</article>
<article>
<h2 id="plants">Plants</h2>
<p>
Here's a detailed list of all plants I have of this species.
</p>
<div class="plant-card">
<section>
<h2>mona-lavender-001</h2>
<p class="gen">Generation F1</p>
<p>The mona lavender thats on the right side of the tree.</p>
<p>Transplanted in February, 2024.</p>
</section>
<section>
<h3>Images</h3>
<div class="pswp-gallery">
<a href="../../images/garden/plants/mona-lavender-001/plectranthus_20240310_113255.jpg" data-pswp-width="1836" data-pswp-height="2576" target="_blank">
<img src="../../images/garden/plants/mona-lavender-001/plectranthus_20240310_113255.thumb.jpg" alt=""/>
</a>
</div>
</section>
</div>
</article>
</main>
</body>

View File

@ -0,0 +1,87 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Andrew's Garden: Dwarf Shiny-Leaf Coffee</title>
<meta charset="utf-8">
<meta name="description" content="Information about Andrew's Garden">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="../../scripts/themes.min.js"></script>
<noscript><style>.jsonly{display: none !important;}</style></noscript>
<link rel="stylesheet" href="../../styles/style.css" type="text/css">
<link rel="stylesheet" href="../../styles/garden.css" type="text/css">
<script src="../../scripts/sitestat.js?remote-url=sitestat.andrewlalis.com" async></script>
<script type="module">
import PhotoSwipeLightbox from "../../vendor/photoswipe/photoswipe-lightbox.esm.min.js";
import PhotoSwipe from "../../vendor/photoswipe/photoswipe.esm.min.js";
const lightbox = new PhotoSwipeLightbox({
gallery: ".pswp-gallery",
children: "a",
pswpModule: PhotoSwipe
});
lightbox.init();
</script>
<link rel="stylesheet" href="../../vendor/photoswipe/photoswipe.css" type="text/css">
</head>
<body>
<header class="page-header">
<h1>Andrew's Garden</h1>
<h2 style="font-style: italic">Psychotria nervosa</h2>
<nav>
<div>
<a href="../../index.html">Home</a>
<a href="../../articles.html">Articles</a>
<a href="../../projects.html">Projects</a>
<a href="../../training.html">Training</a>
<a class="page-header-selected" href="../../garden.html">Garden</a>
<a href="../../contact.html">Contact</a>
<a href="../../logbook.html">Logbook</a>
</div>
<div>
<a href="https://github.com/andrewlalis">GitHub</a>
<a href="https://www.linkedin.com/in/andrew-lalis/">LinkedIn</a>
<a href="https://www.youtube.com/channel/UC9X4mx6-ObPUB6-ud2IGAFQ">YouTube</a>
</div>
</nav>
<button id="themeToggleButton" class="jsonly">Change Color Theme</button>
<hr>
</header>
<main>
<article>
<h2>About Dwarf Shiny-Leaf Coffee</h2>
<p>A small shrub with shiny evergreen leaves that produces beans similar to coffee, but without any caffeine. Native to the southeastern United States.</p>
<p>
<a href="https://gardeningsolutions.ifas.ufl.edu/plants/trees-and-shrubs/shrubs/wild-coffee.html">
https://gardeningsolutions.ifas.ufl.edu/plants/trees-and-shrubs/shrubs/wild-coffee.html
</a>
</p>
</article>
<article>
<h2 id="plants">Plants</h2>
<p>
Here's a detailed list of all plants I have of this species.
</p>
<div class="plant-card">
<section>
<h2>dwarf-coffee-001</h2>
<p class="gen">Generation F1</p>
<p></p>
<p>Transplanted on the 10th of February, 2024.</p>
</section>
<section>
<h3>Images</h3>
<div class="pswp-gallery">
<a href="../../images/garden/plants/dwarf-coffee-001/dwarf-coffee_20240310_113259.jpg" data-pswp-width="1836" data-pswp-height="2036" target="_blank">
<img src="../../images/garden/plants/dwarf-coffee-001/dwarf-coffee_20240310_113259.thumb.jpg" alt=""/>
</a>
</div>
</section>
</div>
</article>
</main>
</body>

View File

@ -0,0 +1,87 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Andrew's Garden: Perennial Petunia</title>
<meta charset="utf-8">
<meta name="description" content="Information about Andrew's Garden">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="../../scripts/themes.min.js"></script>
<noscript><style>.jsonly{display: none !important;}</style></noscript>
<link rel="stylesheet" href="../../styles/style.css" type="text/css">
<link rel="stylesheet" href="../../styles/garden.css" type="text/css">
<script src="../../scripts/sitestat.js?remote-url=sitestat.andrewlalis.com" async></script>
<script type="module">
import PhotoSwipeLightbox from "../../vendor/photoswipe/photoswipe-lightbox.esm.min.js";
import PhotoSwipe from "../../vendor/photoswipe/photoswipe.esm.min.js";
const lightbox = new PhotoSwipeLightbox({
gallery: ".pswp-gallery",
children: "a",
pswpModule: PhotoSwipe
});
lightbox.init();
</script>
<link rel="stylesheet" href="../../vendor/photoswipe/photoswipe.css" type="text/css">
</head>
<body>
<header class="page-header">
<h1>Andrew's Garden</h1>
<h2 style="font-style: italic">Ruellia caroliniensis</h2>
<nav>
<div>
<a href="../../index.html">Home</a>
<a href="../../articles.html">Articles</a>
<a href="../../projects.html">Projects</a>
<a href="../../training.html">Training</a>
<a class="page-header-selected" href="../../garden.html">Garden</a>
<a href="../../contact.html">Contact</a>
<a href="../../logbook.html">Logbook</a>
</div>
<div>
<a href="https://github.com/andrewlalis">GitHub</a>
<a href="https://www.linkedin.com/in/andrew-lalis/">LinkedIn</a>
<a href="https://www.youtube.com/channel/UC9X4mx6-ObPUB6-ud2IGAFQ">YouTube</a>
</div>
</nav>
<button id="themeToggleButton" class="jsonly">Change Color Theme</button>
<hr>
</header>
<main>
<article>
<h2>About Perennial Petunia</h2>
<p>A wild petunia with blue or violet flowers that's native to the southeastern United States.</p>
<p>
<a href="https://en.wikipedia.org/wiki/Ruellia_caroliniensis">
https://en.wikipedia.org/wiki/Ruellia_caroliniensis
</a>
</p>
</article>
<article>
<h2 id="plants">Plants</h2>
<p>
Here's a detailed list of all plants I have of this species.
</p>
<div class="plant-card">
<section>
<h2>carolina-petunia-001</h2>
<p class="gen">Generation F1</p>
<p></p>
<p>Transplanted on the 10th of February, 2024.</p>
</section>
<section>
<h3>Images</h3>
<div class="pswp-gallery">
<a href="../../images/garden/plants/carolina-petunia-001/perennial-petunia_20240310_113346.jpg" data-pswp-width="1836" data-pswp-height="1914" target="_blank">
<img src="../../images/garden/plants/carolina-petunia-001/perennial-petunia_20240310_113346.thumb.jpg" alt=""/>
</a>
</div>
</section>
</div>
</article>
</main>
</body>

View File

@ -0,0 +1,87 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Andrew's Garden: Creeping Sage</title>
<meta charset="utf-8">
<meta name="description" content="Information about Andrew's Garden">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="../../scripts/themes.min.js"></script>
<noscript><style>.jsonly{display: none !important;}</style></noscript>
<link rel="stylesheet" href="../../styles/style.css" type="text/css">
<link rel="stylesheet" href="../../styles/garden.css" type="text/css">
<script src="../../scripts/sitestat.js?remote-url=sitestat.andrewlalis.com" async></script>
<script type="module">
import PhotoSwipeLightbox from "../../vendor/photoswipe/photoswipe-lightbox.esm.min.js";
import PhotoSwipe from "../../vendor/photoswipe/photoswipe.esm.min.js";
const lightbox = new PhotoSwipeLightbox({
gallery: ".pswp-gallery",
children: "a",
pswpModule: PhotoSwipe
});
lightbox.init();
</script>
<link rel="stylesheet" href="../../vendor/photoswipe/photoswipe.css" type="text/css">
</head>
<body>
<header class="page-header">
<h1>Andrew's Garden</h1>
<h2 style="font-style: italic">Salvia misella</h2>
<nav>
<div>
<a href="../../index.html">Home</a>
<a href="../../articles.html">Articles</a>
<a href="../../projects.html">Projects</a>
<a href="../../training.html">Training</a>
<a class="page-header-selected" href="../../garden.html">Garden</a>
<a href="../../contact.html">Contact</a>
<a href="../../logbook.html">Logbook</a>
</div>
<div>
<a href="https://github.com/andrewlalis">GitHub</a>
<a href="https://www.linkedin.com/in/andrew-lalis/">LinkedIn</a>
<a href="https://www.youtube.com/channel/UC9X4mx6-ObPUB6-ud2IGAFQ">YouTube</a>
</div>
</nav>
<button id="themeToggleButton" class="jsonly">Change Color Theme</button>
<hr>
</header>
<main>
<article>
<h2>About Creeping Sage</h2>
<p>Also known as tropical sage, it is an annual herb growing throughout the tropical Americas.</p>
<p>
<a href="https://en.wikipedia.org/wiki/Salvia_misella">
https://en.wikipedia.org/wiki/Salvia_misella
</a>
</p>
</article>
<article>
<h2 id="plants">Plants</h2>
<p>
Here's a detailed list of all plants I have of this species.
</p>
<div class="plant-card">
<section>
<h2>creeping-sage-001</h2>
<p class="gen">Generation F1</p>
<p></p>
<p>Transplanted on the 9th of March, 2024.</p>
</section>
<section>
<h3>Images</h3>
<div class="pswp-gallery">
<a href="../../images/garden/plants/creeping-sage-001/creeping-sage_20240310_113303.jpg" data-pswp-width="1836" data-pswp-height="1758" target="_blank">
<img src="../../images/garden/plants/creeping-sage-001/creeping-sage_20240310_113303.thumb.jpg" alt=""/>
</a>
</div>
</section>
</div>
</article>
</main>
</body>

View File

@ -0,0 +1,87 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Andrew's Garden: Marigold</title>
<meta charset="utf-8">
<meta name="description" content="Information about Andrew's Garden">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="../../scripts/themes.min.js"></script>
<noscript><style>.jsonly{display: none !important;}</style></noscript>
<link rel="stylesheet" href="../../styles/style.css" type="text/css">
<link rel="stylesheet" href="../../styles/garden.css" type="text/css">
<script src="../../scripts/sitestat.js?remote-url=sitestat.andrewlalis.com" async></script>
<script type="module">
import PhotoSwipeLightbox from "../../vendor/photoswipe/photoswipe-lightbox.esm.min.js";
import PhotoSwipe from "../../vendor/photoswipe/photoswipe.esm.min.js";
const lightbox = new PhotoSwipeLightbox({
gallery: ".pswp-gallery",
children: "a",
pswpModule: PhotoSwipe
});
lightbox.init();
</script>
<link rel="stylesheet" href="../../vendor/photoswipe/photoswipe.css" type="text/css">
</head>
<body>
<header class="page-header">
<h1>Andrew's Garden</h1>
<h2 style="font-style: italic">Tagetes erecta</h2>
<nav>
<div>
<a href="../../index.html">Home</a>
<a href="../../articles.html">Articles</a>
<a href="../../projects.html">Projects</a>
<a href="../../training.html">Training</a>
<a class="page-header-selected" href="../../garden.html">Garden</a>
<a href="../../contact.html">Contact</a>
<a href="../../logbook.html">Logbook</a>
</div>
<div>
<a href="https://github.com/andrewlalis">GitHub</a>
<a href="https://www.linkedin.com/in/andrew-lalis/">LinkedIn</a>
<a href="https://www.youtube.com/channel/UC9X4mx6-ObPUB6-ud2IGAFQ">YouTube</a>
</div>
</nav>
<button id="themeToggleButton" class="jsonly">Change Color Theme</button>
<hr>
</header>
<main>
<article>
<h2>About Marigold</h2>
<p>A species of flowering plant native to the Americas that is widely used as an ornamental flower, and was originally called by its Nahuatl name, cempoalxóchitl.</p>
<p>
<a href="https://en.wikipedia.org/wiki/Tagetes_erecta">
https://en.wikipedia.org/wiki/Tagetes_erecta
</a>
</p>
</article>
<article>
<h2 id="plants">Plants</h2>
<p>
Here's a detailed list of all plants I have of this species.
</p>
<div class="plant-card">
<section>
<h2>marigold-001</h2>
<p class="gen">Generation F1</p>
<p>The second marigold from the left, when viewing the garden from the front.</p>
<p>Planted from seed in February, 2024.</p>
</section>
<section>
<h3>Images</h3>
<div class="pswp-gallery">
<a href="../../images/garden/plants/marigold-001/marigold_20240310_113234.jpg" data-pswp-width="1148" data-pswp-height="1328" target="_blank">
<img src="../../images/garden/plants/marigold-001/marigold_20240310_113234.thumb.jpg" alt=""/>
</a>
</div>
</section>
</div>
</article>
</main>
</body>

View File

@ -0,0 +1,87 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Andrew's Garden: Wood Sage</title>
<meta charset="utf-8">
<meta name="description" content="Information about Andrew's Garden">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="../../scripts/themes.min.js"></script>
<noscript><style>.jsonly{display: none !important;}</style></noscript>
<link rel="stylesheet" href="../../styles/style.css" type="text/css">
<link rel="stylesheet" href="../../styles/garden.css" type="text/css">
<script src="../../scripts/sitestat.js?remote-url=sitestat.andrewlalis.com" async></script>
<script type="module">
import PhotoSwipeLightbox from "../../vendor/photoswipe/photoswipe-lightbox.esm.min.js";
import PhotoSwipe from "../../vendor/photoswipe/photoswipe.esm.min.js";
const lightbox = new PhotoSwipeLightbox({
gallery: ".pswp-gallery",
children: "a",
pswpModule: PhotoSwipe
});
lightbox.init();
</script>
<link rel="stylesheet" href="../../vendor/photoswipe/photoswipe.css" type="text/css">
</head>
<body>
<header class="page-header">
<h1>Andrew's Garden</h1>
<h2 style="font-style: italic">Teucrium canadense</h2>
<nav>
<div>
<a href="../../index.html">Home</a>
<a href="../../articles.html">Articles</a>
<a href="../../projects.html">Projects</a>
<a href="../../training.html">Training</a>
<a class="page-header-selected" href="../../garden.html">Garden</a>
<a href="../../contact.html">Contact</a>
<a href="../../logbook.html">Logbook</a>
</div>
<div>
<a href="https://github.com/andrewlalis">GitHub</a>
<a href="https://www.linkedin.com/in/andrew-lalis/">LinkedIn</a>
<a href="https://www.youtube.com/channel/UC9X4mx6-ObPUB6-ud2IGAFQ">YouTube</a>
</div>
</nav>
<button id="themeToggleButton" class="jsonly">Change Color Theme</button>
<hr>
</header>
<main>
<article>
<h2>About Wood Sage</h2>
<p>A perennial herb native to North America, growing in moist grasslands, forest edges, marshes, and on roadsides.</p>
<p>
<a href="https://en.wikipedia.org/wiki/Teucrium_canadense">
https://en.wikipedia.org/wiki/Teucrium_canadense
</a>
</p>
</article>
<article>
<h2 id="plants">Plants</h2>
<p>
Here's a detailed list of all plants I have of this species.
</p>
<div class="plant-card">
<section>
<h2>wood-sage-001</h2>
<p class="gen">Generation F1</p>
<p></p>
<p>Transplanted on the 9th of March, 2024.</p>
</section>
<section>
<h3>Images</h3>
<div class="pswp-gallery">
<a href="../../images/garden/plants/wood-sage-001/woody-sage_20240310_113339.jpg" data-pswp-width="1836" data-pswp-height="2695" target="_blank">
<img src="../../images/garden/plants/wood-sage-001/woody-sage_20240310_113339.thumb.jpg" alt=""/>
</a>
</div>
</section>
</div>
</article>
</main>
</body>

View File

@ -0,0 +1,87 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Andrew's Garden: English Thyme</title>
<meta charset="utf-8">
<meta name="description" content="Information about Andrew's Garden">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="../../scripts/themes.min.js"></script>
<noscript><style>.jsonly{display: none !important;}</style></noscript>
<link rel="stylesheet" href="../../styles/style.css" type="text/css">
<link rel="stylesheet" href="../../styles/garden.css" type="text/css">
<script src="../../scripts/sitestat.js?remote-url=sitestat.andrewlalis.com" async></script>
<script type="module">
import PhotoSwipeLightbox from "../../vendor/photoswipe/photoswipe-lightbox.esm.min.js";
import PhotoSwipe from "../../vendor/photoswipe/photoswipe.esm.min.js";
const lightbox = new PhotoSwipeLightbox({
gallery: ".pswp-gallery",
children: "a",
pswpModule: PhotoSwipe
});
lightbox.init();
</script>
<link rel="stylesheet" href="../../vendor/photoswipe/photoswipe.css" type="text/css">
</head>
<body>
<header class="page-header">
<h1>Andrew's Garden</h1>
<h2 style="font-style: italic">Thymus vulgaris</h2>
<nav>
<div>
<a href="../../index.html">Home</a>
<a href="../../articles.html">Articles</a>
<a href="../../projects.html">Projects</a>
<a href="../../training.html">Training</a>
<a class="page-header-selected" href="../../garden.html">Garden</a>
<a href="../../contact.html">Contact</a>
<a href="../../logbook.html">Logbook</a>
</div>
<div>
<a href="https://github.com/andrewlalis">GitHub</a>
<a href="https://www.linkedin.com/in/andrew-lalis/">LinkedIn</a>
<a href="https://www.youtube.com/channel/UC9X4mx6-ObPUB6-ud2IGAFQ">YouTube</a>
</div>
</nav>
<button id="themeToggleButton" class="jsonly">Change Color Theme</button>
<hr>
</header>
<main>
<article>
<h2>About English Thyme</h2>
<p>A flowering plant in the mint family, native to southern Europe, that's commonly used as an herb.</p>
<p>
<a href="https://en.wikipedia.org/wiki/Thymus_vulgaris">
https://en.wikipedia.org/wiki/Thymus_vulgaris
</a>
</p>
</article>
<article>
<h2 id="plants">Plants</h2>
<p>
Here's a detailed list of all plants I have of this species.
</p>
<div class="plant-card">
<section>
<h2>thyme-001</h2>
<p class="gen">Generation F1</p>
<p></p>
<p>Planted from seed in March, 2024.</p>
</section>
<section>
<h3>Images</h3>
<div class="pswp-gallery">
<a href="../../images/garden/plants/thyme-001/thyme_20240310_113210.jpg" data-pswp-width="1836" data-pswp-height="2282" target="_blank">
<img src="../../images/garden/plants/thyme-001/thyme_20240310_113210.thumb.jpg" alt=""/>
</a>
</div>
</section>
</div>
</article>
</main>
</body>

View File

@ -0,0 +1,87 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Andrew's Garden: Inchplant</title>
<meta charset="utf-8">
<meta name="description" content="Information about Andrew's Garden">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="../../scripts/themes.min.js"></script>
<noscript><style>.jsonly{display: none !important;}</style></noscript>
<link rel="stylesheet" href="../../styles/style.css" type="text/css">
<link rel="stylesheet" href="../../styles/garden.css" type="text/css">
<script src="../../scripts/sitestat.js?remote-url=sitestat.andrewlalis.com" async></script>
<script type="module">
import PhotoSwipeLightbox from "../../vendor/photoswipe/photoswipe-lightbox.esm.min.js";
import PhotoSwipe from "../../vendor/photoswipe/photoswipe.esm.min.js";
const lightbox = new PhotoSwipeLightbox({
gallery: ".pswp-gallery",
children: "a",
pswpModule: PhotoSwipe
});
lightbox.init();
</script>
<link rel="stylesheet" href="../../vendor/photoswipe/photoswipe.css" type="text/css">
</head>
<body>
<header class="page-header">
<h1>Andrew's Garden</h1>
<h2 style="font-style: italic">Trandescantia zebrina</h2>
<nav>
<div>
<a href="../../index.html">Home</a>
<a href="../../articles.html">Articles</a>
<a href="../../projects.html">Projects</a>
<a href="../../training.html">Training</a>
<a class="page-header-selected" href="../../garden.html">Garden</a>
<a href="../../contact.html">Contact</a>
<a href="../../logbook.html">Logbook</a>
</div>
<div>
<a href="https://github.com/andrewlalis">GitHub</a>
<a href="https://www.linkedin.com/in/andrew-lalis/">LinkedIn</a>
<a href="https://www.youtube.com/channel/UC9X4mx6-ObPUB6-ud2IGAFQ">YouTube</a>
</div>
</nav>
<button id="themeToggleButton" class="jsonly">Change Color Theme</button>
<hr>
</header>
<main>
<article>
<h2>About Inchplant</h2>
<p>A species of creeping vine plant that forms a dense groundcover in shaded areas. It's native to Mexico, Central America, and Colombia.</p>
<p>
<a href="https://en.wikipedia.org/wiki/Tradescantia_zebrina">
https://en.wikipedia.org/wiki/Tradescantia_zebrina
</a>
</p>
</article>
<article>
<h2 id="plants">Plants</h2>
<p>
Here's a detailed list of all plants I have of this species.
</p>
<div class="plant-card">
<section>
<h2>inchplant-001</h2>
<p class="gen">Generation F1</p>
<p></p>
<p>Transplanted on the 8th of March, 2024.</p>
</section>
<section>
<h3>Images</h3>
<div class="pswp-gallery">
<a href="../../images/garden/plants/inchplant-001/inchplant_20240310_113409.jpg" data-pswp-width="1599" data-pswp-height="1566" target="_blank">
<img src="../../images/garden/plants/inchplant-001/inchplant_20240310_113409.thumb.jpg" alt=""/>
</a>
</div>
</section>
</div>
</article>
</main>
</body>

View File

Before

Width:  |  Height:  |  Size: 645 KiB

After

Width:  |  Height:  |  Size: 645 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

Before

Width:  |  Height:  |  Size: 587 KiB

After

Width:  |  Height:  |  Size: 587 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View File

Before

Width:  |  Height:  |  Size: 385 KiB

After

Width:  |  Height:  |  Size: 385 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View File

Before

Width:  |  Height:  |  Size: 388 KiB

After

Width:  |  Height:  |  Size: 388 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

View File

Before

Width:  |  Height:  |  Size: 458 KiB

After

Width:  |  Height:  |  Size: 458 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

Before

Width:  |  Height:  |  Size: 458 KiB

After

Width:  |  Height:  |  Size: 458 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

Before

Width:  |  Height:  |  Size: 355 KiB

After

Width:  |  Height:  |  Size: 355 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

View File

Before

Width:  |  Height:  |  Size: 514 KiB

After

Width:  |  Height:  |  Size: 514 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

View File

Before

Width:  |  Height:  |  Size: 552 KiB

After

Width:  |  Height:  |  Size: 552 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View File

Before

Width:  |  Height:  |  Size: 466 KiB

After

Width:  |  Height:  |  Size: 466 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View File

Before

Width:  |  Height:  |  Size: 347 KiB

After

Width:  |  Height:  |  Size: 347 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

View File

Before

Width:  |  Height:  |  Size: 584 KiB

After

Width:  |  Height:  |  Size: 584 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

Before

Width:  |  Height:  |  Size: 513 KiB

After

Width:  |  Height:  |  Size: 513 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

Before

Width:  |  Height:  |  Size: 202 KiB

After

Width:  |  Height:  |  Size: 202 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

View File

Before

Width:  |  Height:  |  Size: 640 KiB

After

Width:  |  Height:  |  Size: 640 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

Before

Width:  |  Height:  |  Size: 328 KiB

After

Width:  |  Height:  |  Size: 328 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View File

Before

Width:  |  Height:  |  Size: 655 KiB

After

Width:  |  Height:  |  Size: 655 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

View File

Before

Width:  |  Height:  |  Size: 508 KiB

After

Width:  |  Height:  |  Size: 508 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 216 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 167 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 246 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 339 KiB

View File

Before

Width:  |  Height:  |  Size: 373 KiB

After

Width:  |  Height:  |  Size: 373 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 318 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 268 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 240 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 159 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 398 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 137 KiB

Some files were not shown because too many files have changed in this diff Show More