@sfgrp/taxonpages 0.1.0
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.
- package/README.markdown +432 -0
- package/bin/taxonpages.js +78 -0
- package/index.html +22 -0
- package/package.json +82 -0
- package/postcss.config.cjs +17 -0
- package/server.js +142 -0
- package/src/App.vue +31 -0
- package/src/assets/css/leaflet.css +24 -0
- package/src/assets/css/main.css +23 -0
- package/src/assets/css/tailwind.css +3 -0
- package/src/assets/css/vars.css +58 -0
- package/src/assets/css/webkit.css +19 -0
- package/src/assets/images/taxonworks_full_logo.svg +22 -0
- package/src/assets/images/taxonworks_logo.svg +7 -0
- package/src/cli/commands/build.js +60 -0
- package/src/cli/commands/dev.js +48 -0
- package/src/cli/commands/init.js +65 -0
- package/src/cli/commands/preview.js +27 -0
- package/src/cli/commands/serve.js +26 -0
- package/src/cli/utils/resolveConfig.js +112 -0
- package/src/components/AddressMaker.global.vue +67 -0
- package/src/components/Animation/AnimationOpacity.global.vue +12 -0
- package/src/components/Autocomplete/Autocomplete.global.vue +223 -0
- package/src/components/Autocomplete/AutocompleteOtu.global.vue +33 -0
- package/src/components/Autocomplete/AutocompleteSpinner.vue +36 -0
- package/src/components/Button/ButtonExpand.global.vue +40 -0
- package/src/components/Button/VButton.global.vue +39 -0
- package/src/components/Card/VCard.global.vue +18 -0
- package/src/components/Card/VCardContent.global.vue +5 -0
- package/src/components/Card/VCardHeader.global.vue +7 -0
- package/src/components/Clipboard/VClipboard.global.vue +50 -0
- package/src/components/Dropdown/Dropdown.global.vue +108 -0
- package/src/components/Footer/FooterAnalytics.vue +26 -0
- package/src/components/Footer/FooterCitation.vue +45 -0
- package/src/components/Footer/FooterCopyright.vue +20 -0
- package/src/components/Gallery/GalleryCarousel/GalleryCarousel.global.vue +138 -0
- package/src/components/Gallery/GalleryImage.global.vue +65 -0
- package/src/components/Gallery/GalleryMainImage.vue +63 -0
- package/src/components/Gallery/GalleryMosaic/GalleryMosaic.global.vue +75 -0
- package/src/components/Gallery/GalleryThumbnail.vue +26 -0
- package/src/components/Gallery/GalleryThumbnailList.vue +34 -0
- package/src/components/Gallery/useGallery.js +50 -0
- package/src/components/Icon/IconArrowDown.global.vue +19 -0
- package/src/components/Icon/IconArrowLeft.global.vue +20 -0
- package/src/components/Icon/IconArrowRight.global.vue +20 -0
- package/src/components/Icon/IconArrowUp.global.vue +16 -0
- package/src/components/Icon/IconCalendar.global.vue +25 -0
- package/src/components/Icon/IconCheck.global.vue +16 -0
- package/src/components/Icon/IconClipboard.global.vue +16 -0
- package/src/components/Icon/IconClose.global.vue +20 -0
- package/src/components/Icon/IconDocument.global.vue +20 -0
- package/src/components/Icon/IconDownload.global.vue +16 -0
- package/src/components/Icon/IconFiles.global.vue +23 -0
- package/src/components/Icon/IconGithub.global.vue +11 -0
- package/src/components/Icon/IconHamburger.global.vue +18 -0
- package/src/components/Icon/IconInformation.global.vue +16 -0
- package/src/components/Icon/IconJson.global.vue +14 -0
- package/src/components/Icon/IconMinusCircle.global.vue +19 -0
- package/src/components/Icon/IconPause.global.vue +16 -0
- package/src/components/Icon/IconPlay.global.vue +16 -0
- package/src/components/Icon/IconPlusCircle.global.vue +19 -0
- package/src/components/Icon/IconSearch.global.vue +19 -0
- package/src/components/Icon/IconSpeakerWave.global.vue +16 -0
- package/src/components/Icon/IconSpeakerX.global.vue +16 -0
- package/src/components/Icon/IconTrash.global.vue +16 -0
- package/src/components/Icon/IconWarning.global.vue +16 -0
- package/src/components/ImageViewer/ControlImageNext.vue +11 -0
- package/src/components/ImageViewer/ControlImagePrevious.vue +10 -0
- package/src/components/ImageViewer/ImageAttribution.vue +15 -0
- package/src/components/ImageViewer/ImageDepictions.vue +21 -0
- package/src/components/ImageViewer/ImageSource.vue +15 -0
- package/src/components/ImageViewer/ImageToolbar.vue +14 -0
- package/src/components/ImageViewer/ImageViewer.global.vue +197 -0
- package/src/components/ImageViewer/ImageViewerClose.vue +12 -0
- package/src/components/ImageViewer/ImageViewerCounter.vue +16 -0
- package/src/components/Input/InputText.global.vue +30 -0
- package/src/components/Input/SelectInput.global.vue +31 -0
- package/src/components/Layout/LayoutFooter.vue +67 -0
- package/src/components/Layout/LayoutHeader.vue +62 -0
- package/src/components/Map/VMap.client.vue +365 -0
- package/src/components/Map/constants/disableLayerOptions.js +7 -0
- package/src/components/Map/constants/index.js +1 -0
- package/src/components/Map/icons/AssertedDistribution.js +5 -0
- package/src/components/Map/icons/CollectionObject.js +5 -0
- package/src/components/Map/icons/FieldOccurrence.js +5 -0
- package/src/components/Map/icons/Georeference.js +5 -0
- package/src/components/Map/icons/TypeMaterial.js +5 -0
- package/src/components/Map/icons/index.js +5 -0
- package/src/components/Map/shapes/Absent.js +8 -0
- package/src/components/Map/shapes/Aggregate.js +7 -0
- package/src/components/Map/shapes/AssertedDistribution.js +7 -0
- package/src/components/Map/shapes/CollectionObject.js +5 -0
- package/src/components/Map/shapes/FieldOccurrence.js +5 -0
- package/src/components/Map/shapes/TypeMaterial.js +5 -0
- package/src/components/Map/shapes/index.js +6 -0
- package/src/components/Map/utils/addPatternToMap.js +45 -0
- package/src/components/Map/utils/geojsonOptions.js +62 -0
- package/src/components/Map/utils/makeTileFromConfiguration.js +31 -0
- package/src/components/Markdown/MarkdownLayout.global.vue +36 -0
- package/src/components/Modal/VModal.global.vue +107 -0
- package/src/components/Navbar/NavbarMenu.vue +36 -0
- package/src/components/Navbar/NavbarMobile.vue +93 -0
- package/src/components/Navbar/NavbarSubmenu.vue +112 -0
- package/src/components/Pagination/VPagination.global.vue +139 -0
- package/src/components/Pagination/VPaginationInfo.global.vue +36 -0
- package/src/components/ProjectStats.global.vue +69 -0
- package/src/components/Ssr/ClientOnly.global.vue +14 -0
- package/src/components/SwitchTheme.vue +86 -0
- package/src/components/Tab/TabItem.global.vue +20 -0
- package/src/components/Tab/TabMenu.global.vue +7 -0
- package/src/components/Table/VTable.global.vue +7 -0
- package/src/components/Table/VTableBody.global.vue +7 -0
- package/src/components/Table/VTableBodyCell.global.vue +7 -0
- package/src/components/Table/VTableBodyRow.global.vue +5 -0
- package/src/components/Table/VTableHeader.global.vue +7 -0
- package/src/components/Table/VTableHeaderCell.global.vue +7 -0
- package/src/components/Table/VTableHeaderRow.global.vue +5 -0
- package/src/components/TrackerReport.global.vue +92 -0
- package/src/components/VSkeleton.global.vue +48 -0
- package/src/components/VSpinner.global.vue +219 -0
- package/src/components/clientComponents.js +28 -0
- package/src/components/globalComponents.js +29 -0
- package/src/constants/configPaths.cjs +4 -0
- package/src/constants/defaultConfig.js +7 -0
- package/src/constants/objectTypes.js +8 -0
- package/src/entry-client.js +39 -0
- package/src/entry-server.js +114 -0
- package/src/layout/Application.vue +21 -0
- package/src/main.js +20 -0
- package/src/modules/DwCFilter/components/DropdownMenu.vue +79 -0
- package/src/modules/DwCFilter/components/Facet/FacetDistribution.vue +47 -0
- package/src/modules/DwCFilter/components/Facet/FacetInstitutionCode.vue +17 -0
- package/src/modules/DwCFilter/components/Facet/FacetOrder.vue +38 -0
- package/src/modules/DwCFilter/components/Facet/FacetTypeStatus.vue +35 -0
- package/src/modules/DwCFilter/components/FilterBar.vue +123 -0
- package/src/modules/DwCFilter/components/OtuModal/OtuModal.vue +177 -0
- package/src/modules/DwCFilter/components/OtuModal/RecordItems.vue +89 -0
- package/src/modules/DwCFilter/components/OtuModal/TabList.vue +32 -0
- package/src/modules/DwCFilter/router/index.js +7 -0
- package/src/modules/DwCFilter/utils/flattenParameters.js +20 -0
- package/src/modules/DwCFilter/views/index.vue +183 -0
- package/src/modules/ImageMatrix/components/ListImages.vue +54 -0
- package/src/modules/ImageMatrix/router/index.js +7 -0
- package/src/modules/ImageMatrix/services/Keys.js +9 -0
- package/src/modules/ImageMatrix/utils/makeImageObject.js +15 -0
- package/src/modules/ImageMatrix/views/id.vue +133 -0
- package/src/modules/bibliography/components/DropdownMenu.vue +53 -0
- package/src/modules/bibliography/components/Facet/FacetFullCitation.vue +0 -0
- package/src/modules/bibliography/components/OtuModal.vue +129 -0
- package/src/modules/bibliography/components/VSlider.vue +154 -0
- package/src/modules/bibliography/components/YearPicker.vue +40 -0
- package/src/modules/bibliography/router/index.js +7 -0
- package/src/modules/bibliography/utils/getPagination.js +7 -0
- package/src/modules/bibliography/views/index.vue +225 -0
- package/src/modules/home/router/index.js +8 -0
- package/src/modules/home/views/index.vue +11 -0
- package/src/modules/httpErrorPages/router/index.js +18 -0
- package/src/modules/httpErrorPages/view/404.vue +10 -0
- package/src/modules/httpErrorPages/view/500.vue +11 -0
- package/src/modules/interactiveKeys/router/index.js +7 -0
- package/src/modules/interactiveKeys/views/InteractiveKey.vue +108 -0
- package/src/modules/keys/components/MetadataModal.vue +53 -0
- package/src/modules/keys/router/index.js +7 -0
- package/src/modules/keys/views/keyId.vue +161 -0
- package/src/modules/news/adapters/makeNews.js +21 -0
- package/src/modules/news/components/NewsCard.vue +35 -0
- package/src/modules/news/components/NewsCategories.vue +31 -0
- package/src/modules/news/components/PinnedNews.vue +70 -0
- package/src/modules/news/components/WidgetNews.global.vue +53 -0
- package/src/modules/news/router/index.js +12 -0
- package/src/modules/news/services/News.js +11 -0
- package/src/modules/news/store/news.js +50 -0
- package/src/modules/news/utils/getPagination.js +7 -0
- package/src/modules/news/views/id.vue +77 -0
- package/src/modules/news/views/index.vue +69 -0
- package/src/modules/otus/components/Breadcrumb/Breadcrumb.vue +40 -0
- package/src/modules/otus/components/Breadcrumb/BreadcrumbDropdown.vue +57 -0
- package/src/modules/otus/components/CommonNames.vue +14 -0
- package/src/modules/otus/components/DWCDownload.vue +33 -0
- package/src/modules/otus/components/DataMap.vue +57 -0
- package/src/modules/otus/components/Export.vue +1 -0
- package/src/modules/otus/components/ExternalResources.vue +11 -0
- package/src/modules/otus/components/Panel/PanelBiologicalAssociations/PanelBiologicalAssociations.vue +184 -0
- package/src/modules/otus/components/Panel/PanelBiologicalAssociations/main.js +6 -0
- package/src/modules/otus/components/Panel/PanelBiologicalAssociations/utils/makeBiologicalAssociation.js +30 -0
- package/src/modules/otus/components/Panel/PanelContent/PanelContent.vue +58 -0
- package/src/modules/otus/components/Panel/PanelContent/PanelContentTopic.vue +42 -0
- package/src/modules/otus/components/Panel/PanelContent/main.js +6 -0
- package/src/modules/otus/components/Panel/PanelDescendants/DescendantsSynonymList.vue +21 -0
- package/src/modules/otus/components/Panel/PanelDescendants/DescendantsTree.vue +122 -0
- package/src/modules/otus/components/Panel/PanelDescendants/PanelDescendants.vue +82 -0
- package/src/modules/otus/components/Panel/PanelDescendants/main.js +6 -0
- package/src/modules/otus/components/Panel/PanelDropdown.vue +63 -0
- package/src/modules/otus/components/Panel/PanelGallery/PanelGallery.vue +42 -0
- package/src/modules/otus/components/Panel/PanelGallery/main.js +7 -0
- package/src/modules/otus/components/Panel/PanelKeys/PanelKeys.vue +103 -0
- package/src/modules/otus/components/Panel/PanelKeys/main.js +6 -0
- package/src/modules/otus/components/Panel/PanelMap/PanelMap.vue +124 -0
- package/src/modules/otus/components/Panel/PanelMap/clusters/Mixed.js +50 -0
- package/src/modules/otus/components/Panel/PanelMap/clusters/index.js +2 -0
- package/src/modules/otus/components/Panel/PanelMap/clusters/makeClusterIconFor.js +10 -0
- package/src/modules/otus/components/Panel/PanelMap/components/CachedMap.vue +118 -0
- package/src/modules/otus/components/Panel/PanelMap/components/DwcTable.vue +64 -0
- package/src/modules/otus/components/Panel/PanelMap/components/MapPopup.vue +34 -0
- package/src/modules/otus/components/Panel/PanelMap/components/Search/ListResults.vue +51 -0
- package/src/modules/otus/components/Panel/PanelMap/components/Search/OtuSearch.vue +167 -0
- package/src/modules/otus/components/Panel/PanelMap/components/Search/SearchBar.vue +27 -0
- package/src/modules/otus/components/Panel/PanelMap/composables/useGeojsonOptions.js +36 -0
- package/src/modules/otus/components/Panel/PanelMap/constants/index.js +1 -0
- package/src/modules/otus/components/Panel/PanelMap/constants/legend.js +30 -0
- package/src/modules/otus/components/Panel/PanelMap/main.js +6 -0
- package/src/modules/otus/components/Panel/PanelMap/store/useDistributionStore.js +130 -0
- package/src/modules/otus/components/Panel/PanelMap/utils/index.js +4 -0
- package/src/modules/otus/components/Panel/PanelMap/utils/isRankGroup.js +5 -0
- package/src/modules/otus/components/Panel/PanelMap/utils/makeGeoJSONFeature.js +13 -0
- package/src/modules/otus/components/Panel/PanelMap/utils/makeSegmentedCircle.js +37 -0
- package/src/modules/otus/components/Panel/PanelMap/utils/removeDuplicateShapes.js +40 -0
- package/src/modules/otus/components/Panel/PanelNomenclature/PanelCitationRow.vue +25 -0
- package/src/modules/otus/components/Panel/PanelNomenclature/PanelNomenclature.vue +97 -0
- package/src/modules/otus/components/Panel/PanelNomenclature/PanelNomenclatureShowMore.vue +22 -0
- package/src/modules/otus/components/Panel/PanelNomenclature/main.js +6 -0
- package/src/modules/otus/components/Panel/PanelNomenclature/splitList.js +14 -0
- package/src/modules/otus/components/Panel/PanelNomenclatureReferences/PanelNomenclatureReferences.vue +72 -0
- package/src/modules/otus/components/Panel/PanelNomenclatureReferences/PanelReferenceRow.vue +20 -0
- package/src/modules/otus/components/Panel/PanelNomenclatureReferences/main.js +6 -0
- package/src/modules/otus/components/Panel/PanelSounds/PanelSounds.vue +42 -0
- package/src/modules/otus/components/Panel/PanelSounds/components/AudioPlayer.vue +275 -0
- package/src/modules/otus/components/Panel/PanelSounds/components/PanelSoundRow.vue +21 -0
- package/src/modules/otus/components/Panel/PanelSounds/components/SoundObservations.vue +73 -0
- package/src/modules/otus/components/Panel/PanelSounds/components/TableObservations.vue +31 -0
- package/src/modules/otus/components/Panel/PanelSounds/constants/observationTypes.js +15 -0
- package/src/modules/otus/components/Panel/PanelSounds/main.js +7 -0
- package/src/modules/otus/components/Panel/PanelSounds/utils/index.js +5 -0
- package/src/modules/otus/components/Panel/PanelSounds/utils/makeContinuousObservation.js +5 -0
- package/src/modules/otus/components/Panel/PanelSounds/utils/makeMediaObservation.js +5 -0
- package/src/modules/otus/components/Panel/PanelSounds/utils/makeObservation.js +40 -0
- package/src/modules/otus/components/Panel/PanelSounds/utils/makePresenceAbsenceObservation.js +5 -0
- package/src/modules/otus/components/Panel/PanelSounds/utils/makeQualitativeObservation.js +5 -0
- package/src/modules/otus/components/Panel/PanelSounds/utils/makeSampleObservation.js +29 -0
- package/src/modules/otus/components/Panel/PanelSounds/utils/makeWorkingObservation.js +5 -0
- package/src/modules/otus/components/Panel/PanelStats/PanelStats.vue +160 -0
- package/src/modules/otus/components/Panel/PanelStats/main.js +6 -0
- package/src/modules/otus/components/Panel/PanelTypeDesignation/PanelTypeDesignation.vue +37 -0
- package/src/modules/otus/components/Panel/PanelTypeDesignation/main.js +8 -0
- package/src/modules/otus/components/Panel/PanelTypeSpecimen/PanelTypeSpecimen.vue +52 -0
- package/src/modules/otus/components/Panel/PanelTypeSpecimen/main.js +8 -0
- package/src/modules/otus/components/TaxaInfo.vue +38 -0
- package/src/modules/otus/composables/index.js +2 -0
- package/src/modules/otus/composables/useChildrenRoutes.js +32 -0
- package/src/modules/otus/composables/useUserLifeCycleHooks.js +24 -0
- package/src/modules/otus/constants/index.js +3 -0
- package/src/modules/otus/constants/layouts/index.js +1 -0
- package/src/modules/otus/constants/layouts/overview.js +23 -0
- package/src/modules/otus/constants/layouts.js +43 -0
- package/src/modules/otus/constants/rankGroups.js +5 -0
- package/src/modules/otus/constants/responseError.js +3 -0
- package/src/modules/otus/constants/typeOrder.js +11 -0
- package/src/modules/otus/helpers/useOtuPageRequest.js +19 -0
- package/src/modules/otus/router/index.js +28 -0
- package/src/modules/otus/services/TaxonWorks.js +77 -0
- package/src/modules/otus/store/request.js +34 -0
- package/src/modules/otus/store/store.js +92 -0
- package/src/modules/otus/store/useImageStore.js +57 -0
- package/src/modules/otus/utils/index.js +2 -0
- package/src/modules/otus/utils/isAvailableForRank.js +6 -0
- package/src/modules/otus/utils/stripHtml.js +5 -0
- package/src/modules/otus/views/Index.vue +218 -0
- package/src/modules/otus/views/PageLayout.vue +78 -0
- package/src/modules/setup/views/Index.vue +66 -0
- package/src/plugins/markdown/index.js +2 -0
- package/src/plugins/markdown/relativeToRouter.js +51 -0
- package/src/plugins/markdown/variableReplacement.js +14 -0
- package/src/plugins/schemaOrg/composables/index.js +28 -0
- package/src/plugins/schemaOrg/index.js +31 -0
- package/src/plugins/schemaOrg/loadResolver.js +10 -0
- package/src/plugins/schemaOrg/nodes/Taxon.js +82 -0
- package/src/plugins/schemaOrg/nodes/index.js +1 -0
- package/src/plugins/vite/index.js +2 -0
- package/src/plugins/vite/projectStyle.js +29 -0
- package/src/plugins/vite/restart.js +30 -0
- package/src/router/index.js +46 -0
- package/src/ssr/utils/generateConsoleMessage.js +16 -0
- package/src/ssr/utils/registerFakeClientComponents.js +20 -0
- package/src/ssr/utils/taxonPagesMark.txt +9 -0
- package/src/store/index.js +1 -0
- package/src/store/useFooterStore.js +13 -0
- package/src/utils/color.js +9 -0
- package/src/utils/files.js +21 -0
- package/src/utils/globalVars.js +7 -0
- package/src/utils/index.js +5 -0
- package/src/utils/loadConfiguration.js +34 -0
- package/src/utils/loadLayouts.js +21 -0
- package/src/utils/parseEnvConfig.js +0 -0
- package/src/utils/request.js +18 -0
- package/src/utils/strings.js +12 -0
- package/src/utils/url.js +8 -0
- package/tailwind.config.cjs +92 -0
- package/templates/config/analytics.yml.example +22 -0
- package/templates/config/api.yml +5 -0
- package/templates/config/copyright.yml +5 -0
- package/templates/config/header.yml +17 -0
- package/templates/config/maps.yml +16 -0
- package/templates/config/metadata.yml +10 -0
- package/templates/config/news.yml.example +15 -0
- package/templates/config/project.yml +6 -0
- package/templates/config/router.yml.example +4 -0
- package/templates/config/style/theme.css +48 -0
- package/templates/config/taxa_page.yml.example +22 -0
- package/templates/config/tracker.yml.example +8 -0
- package/templates/pages/about.md +44 -0
- package/templates/pages/home.md +26 -0
- package/vite.config.js +92 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
news_module:
|
|
2
|
+
index_page: # Configuration for the news listing page (/news)
|
|
3
|
+
news_per_page: 10 # Number of news items displayed per page
|
|
4
|
+
pinned_news_id: [] # IDs of news items that are always shown at the top of the list
|
|
5
|
+
layout: 'list' # Layout style for the news list: 'list' or 'cards'
|
|
6
|
+
show_date: true # Display the publication date for each news item
|
|
7
|
+
|
|
8
|
+
news_page: # Configuration for the news detail page (/news/:id)
|
|
9
|
+
show_date: true # Display the publication date of the news item
|
|
10
|
+
show_author: true # Display the author of the news item
|
|
11
|
+
|
|
12
|
+
widget: # Configuration for the news widget
|
|
13
|
+
news_count: 3 # Total number of news items shown in the widget
|
|
14
|
+
show_date: true # Display the publication date for each news item in the widget
|
|
15
|
+
show_content: true # Display a summary or content preview of the news item
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/*
|
|
2
|
+
:root {
|
|
3
|
+
--color-primary: 0, 0, 0;
|
|
4
|
+
--color-primary-content: 255, 255, 255;
|
|
5
|
+
|
|
6
|
+
--color-secondary: 3, 105, 161;
|
|
7
|
+
--color-secondary-content: 255, 255, 255;
|
|
8
|
+
|
|
9
|
+
--color-base-foreground: 255, 255, 255;
|
|
10
|
+
--color-base-background: 245, 247, 251;
|
|
11
|
+
--color-base-muted: 226, 232, 240;
|
|
12
|
+
--color-base-soft: 156, 163, 175;
|
|
13
|
+
--color-base-lighter: 55, 65, 81;
|
|
14
|
+
--color-base-border: 203, 213, 225;
|
|
15
|
+
--color-base-content: 0, 0, 0;
|
|
16
|
+
|
|
17
|
+
--color-map-georeference: 239, 68, 68;
|
|
18
|
+
--color-map-aggregate: 3, 115, 22;
|
|
19
|
+
--color-map-asserted: 249, 115, 22;
|
|
20
|
+
--color-map-type-material: 51, 136, 255;
|
|
21
|
+
--color-map-collection-object: 239, 68, 68;
|
|
22
|
+
|
|
23
|
+
--color-scrollbar-thumb: 156, 163, 175;
|
|
24
|
+
--color-scrollbar-track: 229, 231, 235;
|
|
25
|
+
|
|
26
|
+
--color-map-shape-opacity: 0.5;
|
|
27
|
+
--color-map-marker-opacity: 0.75;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.dark {
|
|
31
|
+
--color-primary: 23, 23, 23;
|
|
32
|
+
--color-primary-content: 255, 255, 255;
|
|
33
|
+
|
|
34
|
+
--color-secondary: 14, 165, 233;
|
|
35
|
+
--color-secondary-content: 255, 255, 255;
|
|
36
|
+
|
|
37
|
+
--color-base-background: 23, 23, 23;
|
|
38
|
+
--color-base-foreground: 38,38,38;
|
|
39
|
+
--color-base-muted: 48, 48, 48;
|
|
40
|
+
--color-base-soft: 200, 200, 200;
|
|
41
|
+
--color-base-lighter: 220, 220, 220;
|
|
42
|
+
--color-base-border: 38, 38, 38;
|
|
43
|
+
--color-base-content: 255, 255, 255;
|
|
44
|
+
|
|
45
|
+
--color-scrollbar-thumb: 156, 163, 175;
|
|
46
|
+
--color-scrollbar-track: 55, 65, 81;
|
|
47
|
+
}
|
|
48
|
+
*/
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Taxon page panel layout configuration
|
|
2
|
+
# Customize which panels appear on taxon pages and their arrangement
|
|
3
|
+
|
|
4
|
+
taxa_page:
|
|
5
|
+
overview:
|
|
6
|
+
panels:
|
|
7
|
+
- - - panel:gallery
|
|
8
|
+
- panel:type
|
|
9
|
+
- panel:type-specimen
|
|
10
|
+
- panel:nomenclature
|
|
11
|
+
- panel:nomenclature-references
|
|
12
|
+
|
|
13
|
+
- - panel:map
|
|
14
|
+
- panel:descendants
|
|
15
|
+
- panel:content
|
|
16
|
+
- panel:keys
|
|
17
|
+
- panel:statistics
|
|
18
|
+
- panel:sounds
|
|
19
|
+
|
|
20
|
+
biological_associations:
|
|
21
|
+
panels:
|
|
22
|
+
- - - panel:biological-associations
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
issue_trackers:
|
|
2
|
+
- label: Data
|
|
3
|
+
description: E.g. missing data that I'd like to add, misspellings, or invalid data
|
|
4
|
+
url: http://www.github.com
|
|
5
|
+
|
|
6
|
+
- label: Website
|
|
7
|
+
description: E.g. a link, panel, or other feature is not working as expected
|
|
8
|
+
url: http://www.github.com
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: About
|
|
3
|
+
contact_email: user@example.com
|
|
4
|
+
copyright: All content is CC 0 so that it maybe be shared throughout the world in places like Wikipedia.
|
|
5
|
+
citation: Project collaborative. 2022. Website title. Available at https://example.com.
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# {{frontmatter.title}}
|
|
9
|
+
|
|
10
|
+
## Dig deeper
|
|
11
|
+
|
|
12
|
+
Please contact us if you need extended access to the data underlying here. The TaxonWorks interfaces used to curate these data include wide range of additional filtering, reporting, and curatorial functionality. With a little training from us we'd be happy to provide you access to this additional functionality. Over time we expect this site to gradually mirror that extended functionality.
|
|
13
|
+
|
|
14
|
+
## Contact
|
|
15
|
+
|
|
16
|
+
If you have a question, want to report new data relevant to the project, or have error our preferred means of contact is to file an issue on our [project tracker](https://github.com/our/project/tracker). You can also [chat live with us](https://slackservername). We can also be reached via [email](mailto:{{frontmatter.contact_email}}).
|
|
17
|
+
|
|
18
|
+
## Team
|
|
19
|
+
|
|
20
|
+
_Please contact us if you would like to join this effort._
|
|
21
|
+
|
|
22
|
+
Made possible by the wonderful:
|
|
23
|
+
|
|
24
|
+
- Gandalf - Technical lead
|
|
25
|
+
- Aragorn - Outside advisor
|
|
26
|
+
- Frodo - Lead curator
|
|
27
|
+
- Samwise - Emotional support
|
|
28
|
+
|
|
29
|
+
## Citing
|
|
30
|
+
|
|
31
|
+
- This website - {{frontmatter.citation}}
|
|
32
|
+
- Individual taxon pages - See citation at the bottom of each page.
|
|
33
|
+
|
|
34
|
+
## Data
|
|
35
|
+
|
|
36
|
+
Data for these pages is collaboratively curated online in a [TaxonWorks](https://taxonworks) project. All data behind this site served as JSON through calls to a [TaxonWorks API](https://api.taxonworks.org). You can follow along by using the Console of your browser to explore the Network tab.
|
|
37
|
+
|
|
38
|
+
## Technical
|
|
39
|
+
|
|
40
|
+
Want to create your own site? This website is built completely on open-source software. There is a [site template](https://github.com/SpeciesFileGroup/<something>) with more information. Data are curated in a [TaxonWorks](https://taxonworks.org) project then shared via a [TaxonWorks API](https://api.taxonworks.org). Come [chat](https://gitter.im/SpeciesFileGroup/taxonworks) with the TaxonWorks community at any time.
|
|
41
|
+
|
|
42
|
+
## Copyright
|
|
43
|
+
|
|
44
|
+
_{{frontmatter.copyright}}_
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: The title
|
|
3
|
+
lead: Taxa from your imagination to the web
|
|
4
|
+
project: Your project
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# {{frontmatter.title}}
|
|
8
|
+
|
|
9
|
+
_{{frontmatter.lead}}_
|
|
10
|
+
|
|
11
|
+
## Overview
|
|
12
|
+
|
|
13
|
+
Welcome to _{{ frontmatter.project }}_, a website of taxon pages generated from the {{ frontmatter.project }} Project, a comprehensive collaborative effort managed in [TaxonWorks](https://taxonworks.org).
|
|
14
|
+
|
|
15
|
+
## Get started!
|
|
16
|
+
|
|
17
|
+
<autocomplete-otu class="w-80"/>
|
|
18
|
+
|
|
19
|
+
## Announcements
|
|
20
|
+
|
|
21
|
+
- 5/1/2022 - We've grown!
|
|
22
|
+
- 1/1/2022 - Our website is live!
|
|
23
|
+
|
|
24
|
+
## Find out more
|
|
25
|
+
|
|
26
|
+
Learn how to collaborate with the {{ frontmatter.title }} project. Contact information, technical details, and more are available at [About](/about).
|
package/vite.config.js
ADDED
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { defineConfig } from 'vite'
|
|
2
|
+
import { loadConfiguration } from './src/utils/loadConfiguration.js'
|
|
3
|
+
import { VitePluginRadar } from 'vite-plugin-radar'
|
|
4
|
+
import path from 'path'
|
|
5
|
+
import { fileURLToPath } from 'node:url'
|
|
6
|
+
import Vue from '@vitejs/plugin-vue'
|
|
7
|
+
import Markdown from 'unplugin-vue-markdown/vite'
|
|
8
|
+
import markdownAnchor from 'markdown-it-anchor'
|
|
9
|
+
import { ViteRestart, projectStylesPlugin } from './src/plugins/vite'
|
|
10
|
+
import {
|
|
11
|
+
relativeToRouterPlugin,
|
|
12
|
+
variableReplacementPlugin
|
|
13
|
+
} from './src/plugins/markdown'
|
|
14
|
+
import Pages from 'vite-plugin-pages'
|
|
15
|
+
import './src/utils/globalVars'
|
|
16
|
+
|
|
17
|
+
const __dirname = path.dirname(fileURLToPath(import.meta.url))
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Vite configuration factory.
|
|
21
|
+
*
|
|
22
|
+
* Supports two modes:
|
|
23
|
+
* 1. Direct invocation via `vite` CLI (backward compatible) — uses __dirname as both package and project root.
|
|
24
|
+
* 2. Programmatic invocation via the taxonpages CLI — receives configEnv with packageRoot/projectRoot.
|
|
25
|
+
*/
|
|
26
|
+
export default (configEnv = {}) => {
|
|
27
|
+
const packageRoot = configEnv.packageRoot || __dirname
|
|
28
|
+
const projectRoot = configEnv.projectRoot || process.cwd()
|
|
29
|
+
|
|
30
|
+
const configuration = loadConfiguration(projectRoot)
|
|
31
|
+
|
|
32
|
+
return defineConfig({
|
|
33
|
+
base: configuration.base_url,
|
|
34
|
+
define: {
|
|
35
|
+
__APP_ENV__: configuration
|
|
36
|
+
},
|
|
37
|
+
|
|
38
|
+
resolve: {
|
|
39
|
+
alias: {
|
|
40
|
+
'@': path.resolve(packageRoot, './src'),
|
|
41
|
+
'~': path.resolve(projectRoot)
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
|
|
45
|
+
css: {
|
|
46
|
+
preprocessorOptions: {
|
|
47
|
+
scss: {
|
|
48
|
+
api: 'modern-compiler'
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
|
|
53
|
+
plugins: [
|
|
54
|
+
ViteRestart({ dir: [path.resolve(projectRoot, 'config/**/*.yml')] }),
|
|
55
|
+
|
|
56
|
+
projectStylesPlugin(projectRoot),
|
|
57
|
+
|
|
58
|
+
Vue({
|
|
59
|
+
include: [/\.vue$/, /\.md$/]
|
|
60
|
+
}),
|
|
61
|
+
|
|
62
|
+
Markdown({
|
|
63
|
+
wrapperComponent: 'markdown-layout',
|
|
64
|
+
markdownItSetup(md) {
|
|
65
|
+
md.use(markdownAnchor)
|
|
66
|
+
md.use(variableReplacementPlugin, {
|
|
67
|
+
variables: { ...configuration }
|
|
68
|
+
})
|
|
69
|
+
md.use(relativeToRouterPlugin, configuration)
|
|
70
|
+
}
|
|
71
|
+
}),
|
|
72
|
+
|
|
73
|
+
Pages({
|
|
74
|
+
dirs: path.resolve(projectRoot, 'pages'),
|
|
75
|
+
exclude: ['**/components/*.vue', 'components/**/*.vue'],
|
|
76
|
+
extensions: ['vue', 'md'],
|
|
77
|
+
extendRoute(route) {
|
|
78
|
+
if (route.path === '/home') {
|
|
79
|
+
route.alias = '/home'
|
|
80
|
+
route.path = '/'
|
|
81
|
+
|
|
82
|
+
return route
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}),
|
|
86
|
+
|
|
87
|
+
VitePluginRadar({
|
|
88
|
+
...configuration?.analytics_services
|
|
89
|
+
})
|
|
90
|
+
]
|
|
91
|
+
})
|
|
92
|
+
}
|