@ca-plant-list/ca-plant-list 0.4.27 → 0.4.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/data/exceptions.json +0 -31
  2. package/data/genera.json +52 -28
  3. package/data/glossary/anther.md +3 -0
  4. package/data/glossary/filament.md +3 -0
  5. package/data/glossary/stamen.md +3 -0
  6. package/data/illustrations/inkscape/stamen.svg +132 -0
  7. package/data/inatobsphotos.csv +0 -5
  8. package/data/inattaxonphotos.csv +80 -64
  9. package/data/synonyms.csv +157 -168
  10. package/data/taxa.csv +55 -56
  11. package/data/text/Bowlesia-incana.md +1 -0
  12. package/data/text/Castilleja-attenuata.md +1 -0
  13. package/data/text/Castilleja-densiflora-subsp-densiflora.md +1 -0
  14. package/data/text/Castilleja-exserta-subsp-exserta.md +1 -0
  15. package/data/text/Castilleja-exserta-subsp-latifolia.md +1 -0
  16. package/data/text/Dichelostemma-congestum.md +1 -0
  17. package/data/text/Dipterostemon-capitatus-subsp-capitatus.md +1 -0
  18. package/data/text/Lathyrus-vestitus-var-vestitus.md +1 -1
  19. package/data/text/Psilocarphus-brevissimus-var-brevissimus.md +1 -0
  20. package/data/text/Psilocarphus-chilensis.md +1 -0
  21. package/data/text/Psilocarphus-oregonus.md +1 -0
  22. package/data/text/Psilocarphus-tenellus.md +1 -0
  23. package/data/text/Ribes-californicum-var-californicum.md +1 -1
  24. package/data/text/Ribes-menziesii-var-menziesii.md +1 -1
  25. package/data/text/Vicia-americana-subsp-americana.md +1 -1
  26. package/data/text/Vicia-benghalensis.md +1 -0
  27. package/data/text/Vicia-disperma.md +1 -0
  28. package/data/text/Vicia-gigantea.md +1 -0
  29. package/data/text/Vicia-sativa-subsp-nigra.md +1 -0
  30. package/lib/flowercolor.js +1 -3
  31. package/lib/taxonomy/taxon.js +5 -1
  32. package/lib/tools/cch2.js +37 -18
  33. package/lib/tools/jepsonfamilies.js +1 -1
  34. package/package.json +1 -1
  35. package/scripts/cpl-photos.js +61 -24
  36. package/scripts/cpl-tools.js +4 -1
@@ -1,14 +1,4 @@
1
1
  {
2
- "Campanula exigua": {
3
- "rpi": {
4
- "translation-to-rpi": "Ravenella exigua"
5
- }
6
- },
7
- "Campanula sharsmithiae": {
8
- "rpi": {
9
- "translation-to-rpi": "Ravenella sharsmithiae"
10
- }
11
- },
12
2
  "Castilleja ambigua subsp. ambigua": {
13
3
  "rpi": {
14
4
  "translation-to-rpi": "Castilleja ambigua var. ambigua"
@@ -48,10 +38,6 @@
48
38
  "notintaxondata": true
49
39
  }
50
40
  },
51
- "Juncus ambiguus": {
52
- "comment": "Jepson: Presumed introduced. Taxonomy, relationship to Eurasian Juncus bufonius complex needs study.",
53
- "calflora": { "native": false }
54
- },
55
41
  "Juncus elliottii": {
56
42
  "calflora": { "native": false }
57
43
  },
@@ -71,9 +57,6 @@
71
57
  },
72
58
  "Malacothamnus hallii": {
73
59
  "comment": "in CNPS Rare Plant Inventory",
74
- "calflora": {
75
- "notintaxondata": true
76
- },
77
60
  "jepson": {
78
61
  "notineflora": true
79
62
  },
@@ -102,17 +85,6 @@
102
85
  "Ranunculus sceleratus var. sceleratus": {
103
86
  "calflora": { "native": false }
104
87
  },
105
- "Ravenella exigua": {
106
- "comment": "in CNPS Rare Plant Inventory as Ravenella",
107
- "rpi": {
108
- "translation": "Campanula exigua"
109
- }
110
- },
111
- "Ravenella sharsmithiae": {
112
- "rpi": {
113
- "translation": "Campanula sharsmithiae"
114
- }
115
- },
116
88
  "Sagina procumbens": { "calflora": { "native": false } },
117
89
  "Salvia apiana": { "calflora": { "notintaxondata": true } },
118
90
  "Streptanthus albidus subsp. peramoenus": {
@@ -124,8 +96,5 @@
124
96
  "notineflora": true
125
97
  }
126
98
  },
127
- "Typha angustifolia": {
128
- "calscape": { "notnative": true }
129
- },
130
99
  "Veronica catenata": { "calflora": { "native": true } }
131
100
  }
package/data/genera.json CHANGED
@@ -1087,6 +1087,10 @@
1087
1087
  "family": "Asteraceae",
1088
1088
  "id": "488"
1089
1089
  },
1090
+ "Jacobaea": {
1091
+ "family": "Asteraceae",
1092
+ "id": "101163"
1093
+ },
1090
1094
  "Jaumea": {
1091
1095
  "family": "Asteraceae",
1092
1096
  "id": "491"
@@ -1163,6 +1167,10 @@
1163
1167
  "family": "Asteraceae",
1164
1168
  "id": "514"
1165
1169
  },
1170
+ "Lygodesmia": {
1171
+ "family": "Asteraceae",
1172
+ "id": "515"
1173
+ },
1166
1174
  "Machaeranthera": {
1167
1175
  "family": "Asteraceae",
1168
1176
  "id": "516"
@@ -2027,10 +2035,6 @@
2027
2035
  "family": "Cactaceae",
2028
2036
  "id": "9221"
2029
2037
  },
2030
- "Asyneuma": {
2031
- "family": "Campanulaceae",
2032
- "id": "9225"
2033
- },
2034
2038
  "Campanula": {
2035
2039
  "family": "Campanulaceae",
2036
2040
  "id": "9227"
@@ -2039,6 +2043,10 @@
2039
2043
  "family": "Campanulaceae",
2040
2044
  "id": "9232"
2041
2045
  },
2046
+ "Eastwoodiella": {
2047
+ "family": "Campanulaceae",
2048
+ "id": "76232"
2049
+ },
2042
2050
  "Githopsis": {
2043
2051
  "family": "Campanulaceae",
2044
2052
  "id": "9234"
@@ -2067,10 +2075,22 @@
2067
2075
  "family": "Campanulaceae",
2068
2076
  "id": "10296"
2069
2077
  },
2078
+ "Ravenella": {
2079
+ "family": "Campanulaceae",
2080
+ "id": "76233"
2081
+ },
2082
+ "Smithiastrum": {
2083
+ "family": "Campanulaceae",
2084
+ "id": "89311"
2085
+ },
2070
2086
  "Triodanis": {
2071
2087
  "family": "Campanulaceae",
2072
2088
  "id": "10299"
2073
2089
  },
2090
+ "Wahlenbergia": {
2091
+ "family": "Campanulaceae",
2092
+ "id": "10300"
2093
+ },
2074
2094
  "Cannabis": {
2075
2095
  "family": "Cannabaceae",
2076
2096
  "id": "10303"
@@ -3303,6 +3323,10 @@
3303
3323
  "family": "Molluginaceae",
3304
3324
  "id": "10649"
3305
3325
  },
3326
+ "Hypertelis": {
3327
+ "family": "Molluginaceae",
3328
+ "id": "84884"
3329
+ },
3306
3330
  "Mollugo": {
3307
3331
  "family": "Molluginaceae",
3308
3332
  "id": "10650"
@@ -3331,6 +3355,10 @@
3331
3355
  "family": "Montiaceae",
3332
3356
  "id": "8895"
3333
3357
  },
3358
+ "Thingia": {
3359
+ "family": "Montiaceae",
3360
+ "id": "8652"
3361
+ },
3334
3362
  "Ficus": {
3335
3363
  "family": "Moraceae",
3336
3364
  "id": "9680"
@@ -4435,6 +4463,10 @@
4435
4463
  "family": "Simmondsiaceae",
4436
4464
  "id": "9903"
4437
4465
  },
4466
+ "Calibrachoa": {
4467
+ "family": "Solanaceae",
4468
+ "id": "9694"
4469
+ },
4438
4470
  "Cestrum": {
4439
4471
  "family": "Solanaceae",
4440
4472
  "id": "11442"
@@ -4447,13 +4479,17 @@
4447
4479
  "family": "Solanaceae",
4448
4480
  "id": "11444"
4449
4481
  },
4450
- "Lycium": {
4482
+ "Hyoscyamus": {
4451
4483
  "family": "Solanaceae",
4452
- "id": "11452"
4484
+ "id": "11447"
4453
4485
  },
4454
- "Lycopersicon": {
4486
+ "Leucophysalis": {
4487
+ "family": "Solanaceae",
4488
+ "id": "11450"
4489
+ },
4490
+ "Lycium": {
4455
4491
  "family": "Solanaceae",
4456
- "id": "11453"
4492
+ "id": "11452"
4457
4493
  },
4458
4494
  "Nicandra": {
4459
4495
  "family": "Solanaceae",
@@ -4467,14 +4503,14 @@
4467
4503
  "family": "Solanaceae",
4468
4504
  "id": "11460"
4469
4505
  },
4470
- "Petunia": {
4471
- "family": "Solanaceae",
4472
- "id": "11461"
4473
- },
4474
4506
  "Physalis": {
4475
4507
  "family": "Solanaceae",
4476
4508
  "id": "9696"
4477
4509
  },
4510
+ "Quincula": {
4511
+ "family": "Solanaceae",
4512
+ "id": "9697"
4513
+ },
4478
4514
  "Salpichroa": {
4479
4515
  "family": "Solanaceae",
4480
4516
  "id": "9698"
@@ -5155,10 +5191,6 @@
5155
5191
  "family": "Poaceae",
5156
5192
  "id": "11020"
5157
5193
  },
5158
- "Crypsis": {
5159
- "family": "Poaceae",
5160
- "id": "11023"
5161
- },
5162
5194
  "Cynodon": {
5163
5195
  "family": "Poaceae",
5164
5196
  "id": "11027"
@@ -5195,10 +5227,6 @@
5195
5227
  "family": "Poaceae",
5196
5228
  "id": "11041"
5197
5229
  },
5198
- "Dissanthelium": {
5199
- "family": "Poaceae",
5200
- "id": "11043"
5201
- },
5202
5230
  "Distichlis": {
5203
5231
  "family": "Poaceae",
5204
5232
  "id": "11045"
@@ -5395,10 +5423,6 @@
5395
5423
  "family": "Poaceae",
5396
5424
  "id": "11169"
5397
5425
  },
5398
- "Scribneria": {
5399
- "family": "Poaceae",
5400
- "id": "11171"
5401
- },
5402
5426
  "Secale": {
5403
5427
  "family": "Poaceae",
5404
5428
  "id": "11172"
@@ -5411,10 +5435,6 @@
5411
5435
  "family": "Poaceae",
5412
5436
  "id": "11176"
5413
5437
  },
5414
- "Spartina": {
5415
- "family": "Poaceae",
5416
- "id": "11177"
5417
- },
5418
5438
  "Sphenopholis": {
5419
5439
  "family": "Poaceae",
5420
5440
  "id": "11178"
@@ -5439,6 +5459,10 @@
5439
5459
  "family": "Poaceae",
5440
5460
  "id": "11188"
5441
5461
  },
5462
+ "Tribolium": {
5463
+ "family": "Poaceae",
5464
+ "id": "81833"
5465
+ },
5442
5466
  "Tridens": {
5443
5467
  "family": "Poaceae",
5444
5468
  "id": "11192"
@@ -0,0 +1,3 @@
1
+ The pollen-bearing structure of the [stamen](./stamen.html).
2
+
3
+ ![stamen](../i/stamen.svg)
@@ -0,0 +1,3 @@
1
+ The stalk on a [stamen](./stamen.html) which supports the [anther](./anther.html).
2
+
3
+ ![stamen](../i/stamen.svg)
@@ -0,0 +1,3 @@
1
+ Male reproductive parts of a flower, consisting of a [filament](./filament.html) supporting an [anther](./anther.html).
2
+
3
+ ![stamen](../i/stamen.svg)
@@ -0,0 +1,132 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ width="75.500008"
6
+ height="50.931641"
7
+ viewBox="0 0 75.500005 50.931641"
8
+ version="1.1"
9
+ id="svg1"
10
+ inkscape:version="1.4 (86a8ad7, 2024-10-11)"
11
+ sodipodi:docname="stamen.svg"
12
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
13
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
14
+ xmlns="http://www.w3.org/2000/svg"
15
+ xmlns:svg="http://www.w3.org/2000/svg">
16
+ <sodipodi:namedview
17
+ id="namedview1"
18
+ pagecolor="#ffffff"
19
+ bordercolor="#000000"
20
+ borderopacity="0.25"
21
+ inkscape:showpageshadow="2"
22
+ inkscape:pageopacity="0.0"
23
+ inkscape:pagecheckerboard="0"
24
+ inkscape:deskcolor="#d1d1d1"
25
+ inkscape:document-units="px"
26
+ showgrid="true"
27
+ inkscape:zoom="2.5766667"
28
+ inkscape:cx="75.291074"
29
+ inkscape:cy="92.949547"
30
+ inkscape:window-width="1920"
31
+ inkscape:window-height="991"
32
+ inkscape:window-x="-9"
33
+ inkscape:window-y="-9"
34
+ inkscape:window-maximized="1"
35
+ inkscape:current-layer="g1">
36
+ <inkscape:grid
37
+ id="grid1"
38
+ units="px"
39
+ originx="-74.499997"
40
+ originy="-57"
41
+ spacingx="1"
42
+ spacingy="1"
43
+ empcolor="#0099e5"
44
+ empopacity="0.30196078"
45
+ color="#0099e5"
46
+ opacity="0.14901961"
47
+ empspacing="5"
48
+ dotted="false"
49
+ gridanglex="30"
50
+ gridanglez="30"
51
+ visible="true" />
52
+ </sodipodi:namedview>
53
+ <defs
54
+ id="defs1">
55
+ <marker
56
+ style="overflow:visible"
57
+ id="Triangle"
58
+ refX="0"
59
+ refY="0"
60
+ orient="auto-start-reverse"
61
+ inkscape:stockid="Triangle arrow"
62
+ markerWidth="1"
63
+ markerHeight="1"
64
+ viewBox="0 0 1 1"
65
+ inkscape:isstock="true"
66
+ inkscape:collect="always"
67
+ preserveAspectRatio="xMidYMid">
68
+ <path
69
+ transform="scale(0.5)"
70
+ style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
71
+ d="M 5.77,0 -2.88,5 V -5 Z"
72
+ id="path135" />
73
+ </marker>
74
+ </defs>
75
+ <g
76
+ inkscape:label="Layer 1"
77
+ inkscape:groupmode="layer"
78
+ id="layer1"
79
+ transform="translate(-74.5,-57)">
80
+ <path
81
+ style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-dasharray:none;stroke-opacity:1"
82
+ d="M 83.974225,107.93164 V 62.931641"
83
+ id="path2" />
84
+ <g
85
+ id="g1"
86
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-opacity:1">
87
+ <path
88
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-start:url(#Triangle)"
89
+ d="M 88.974225,92.931641 H 113.97422"
90
+ id="path3" />
91
+ <path
92
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-start:url(#Triangle)"
93
+ d="m 103.97422,60.748185 h 10"
94
+ id="path4"
95
+ sodipodi:nodetypes="cc" />
96
+ <text
97
+ xml:space="preserve"
98
+ style="font-size:8px;font-family:Arial;-inkscape-font-specification:Arial;letter-spacing:0.5px;opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.1;stroke-dasharray:none;stroke-opacity:1"
99
+ x="118.49688"
100
+ y="95"
101
+ id="text3"><tspan
102
+ sodipodi:role="line"
103
+ id="tspan3"
104
+ x="118.49688"
105
+ y="95"
106
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:8px;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;letter-spacing:0.5px;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.1;stroke-dasharray:none;stroke-opacity:1">filament</tspan><tspan
107
+ sodipodi:role="line"
108
+ x="118.49688"
109
+ y="105"
110
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:8px;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;letter-spacing:0.5px;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.1;stroke-dasharray:none;stroke-opacity:1"
111
+ id="tspan1" /></text>
112
+ <text
113
+ xml:space="preserve"
114
+ style="font-size:8px;font-family:Arial;-inkscape-font-specification:Arial;letter-spacing:0.5px;opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.1;stroke-dasharray:none;stroke-opacity:1"
115
+ x="118.49297"
116
+ y="62.816406"
117
+ id="text4"><tspan
118
+ sodipodi:role="line"
119
+ id="tspan4"
120
+ x="118.49297"
121
+ y="62.816406"
122
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:8px;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;letter-spacing:0.5px;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.1;stroke-dasharray:none;stroke-opacity:1">anther</tspan></text>
123
+ <ellipse
124
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd"
125
+ id="path5"
126
+ cx="85"
127
+ cy="60"
128
+ rx="10"
129
+ ry="2.5" />
130
+ </g>
131
+ </g>
132
+ </svg>
@@ -2875,11 +2875,6 @@ Dipsacus sativus,62467631,jpeg,cc-by-nc,Makayla
2875
2875
  Dipsacus sativus,368354752,jpeg,cc-by-nc,bluegrass
2876
2876
  Dipsacus sativus,368354778,jpeg,cc-by-nc,bluegrass
2877
2877
  Dipsacus sativus,368354803,jpeg,cc-by-nc,bluegrass
2878
- Dipterostemon capitatus,184257534,jpeg,cc-by-nc,Rhonda Martin
2879
- Dipterostemon capitatus,339162996,jpg,cc-by-nc,pleistocene
2880
- Dipterostemon capitatus,339163007,jpg,cc-by-nc,pleistocene
2881
- Dipterostemon capitatus,339167947,jpg,cc-by-nc,pleistocene
2882
- Dipterostemon capitatus,339167963,jpg,cc-by-nc,pleistocene
2883
2878
  Dirca occidentalis,254862194,jpeg,cc0,
2884
2879
  Dirca occidentalis,6774150,jpg,cc-by-nc,Lee
2885
2880
  Dirca occidentalis,6774091,jpg,cc-by-nc,Lee