diff --git a/data/en/homepage.yml b/data/en/homepage.yml index fe9ad825b0..be94c9ecc9 100644 --- a/data/en/homepage.yml +++ b/data/en/homepage.yml @@ -11,18 +11,6 @@ slider: label: 'Join the community' link: '/community/' -################################# Banner ##################################### -banner: - enable: true - bg_image: '' - title: '' - content_banner: - bold_text: 'Winding down of PMDK development!' - text: 'Libraries and all related resources will continue to be available, but development and maintenance will be limited.' - download_link: - label: 'Read our blog post for more details and Q&A!' - link: 'https://pmem.io/blog/2022/11/update-on-pmdk-and-our-long-term-support-strategy/' - ################################# Feature ##################################### feature: enable: true diff --git a/data/en/pmdk.yml b/data/en/pmdk.yml index 9f390a0232..86d7c03065 100644 --- a/data/en/pmdk.yml +++ b/data/en/pmdk.yml @@ -9,11 +9,9 @@ slider: ################################# Banner ##################################### banner: enable: true - bg_image: '' - title: '' content_banner: - bold_text: '

The PMDK repository on GitHub is the ultimate source from release 2.0!

' - text: 'The PMDK documentation collected here should be valid up to the 1.13.1 release but is maintained only on a best-effort basis and may not reflect the latest state of the art.' + bold_text: 'The [PMDK repository](https://github.com/pmem/pmdk/) on GitHub is the ultimate source of information on PMDK from release 2.0!' + text: 'For all questions and to submit eventual issues please follow to [that repository](https://github.com/pmem/pmdk/issues). The PMDK documentation collected here should be valid up to the 1.13.1 release but is maintained only on a best-effort basis and may not reflect the latest state of the art.' ################################# Libraries Section ################################# libraries_section: @@ -94,7 +92,7 @@ libraries_section_deprecated:

See the librpmem page for documentation and examples.

Note: librpmem is available only in the release 1.12.1 and before. It is no longer available on the master branch.

Note: This is a deprecated API and should not be used in production environments.

-

Note: The alternative solution for accessing remote persistent memory is implemented by librpma (see above).

" +

Note: The alternative solution for accessing remote persistent memory is implemented by librpma (see above).

" library_item8: title: 'libvmemcache' content: "

libvmemcache is an embeddable and lightweight in-memory caching solution. It’s designed to fully take advantage of large capacity memory, such as persistent memory with DAX, through memory mapping in an efficient and scalable way.

diff --git a/data/en/repoindex.yml b/data/en/repoindex.yml index 20d89f1ea9..7753b83a2c 100644 --- a/data/en/repoindex.yml +++ b/data/en/repoindex.yml @@ -16,26 +16,18 @@ Discontinuation: card_groups: enable: true cards: - card1: - title: "PMDK Repositories" + - title: "PMDK Repositories" description: "The Persistent Memory Development Kit is a collection of libraries and tools. The source is spread across many repositories. Components are separated like this to help with the logistics of parallel development and asynchronous delivery." tables: - table1: - title: "Components Focused on Persistence:" + - title: "Components Focused on Persistence:" headers: - header1: - content: "Repo Name" - header2: - content: "Description" - header3: - content: "Microsite" + - content: "Repo Name" + - content: "Description" + - content: "Microsite" rows: - row1: - cells: - cell1: - content: "pmdk" - cell2: - content: "PMDK Core C libraries and tools: + - cells: + - content: "pmdk" + - content: "PMDK Core C libraries and tools:
" - cell3: - content: "pmem.io/pmdk" - row2: - cells: - cell1: - content: "valgrind" - cell2: - content: "Enhanced Valgrind containing the pmemcheck plugin" - cell3: - content: "pmem.io/valgrind" - row3: - cells: - cell1: - content: "rpma" - cell2: - content: "C library to simplify accessing persistent memory (PMem) on remote hosts over Remote Direct Memory Access (RDMA)" - cell3: - content: "pmem.io/rpma" - row4: - cells: - cell1: - content: "libpmemobj-cpp" - cell2: - content: "C++ bindings & containers for libpmemobj" - cell3: - content: "pmem.io/libpmemobj-cpp" - row5: - cells: - cell1: - content: "llpl" - cell2: - content: "Low-Level Persistence Library for Java" - cell3: - content: "pmem.io/java/llpl" - row6: - cells: - cell1: - content: "libpmemobj-js" - cell2: - content: "JavaScript bindings for libpmemobj" - cell3: - content: "-" - row7: - cells: - cell1: - content: "miniasync" - cell2: - content: "C low-level concurrency library for asynchronous functions" - cell3: - content: "pmem.io/miniasync" - row8: - cells: - cell1: - content: "pmemstream" - cell2: - content: "Logging data structure (with stream-like access to data)" - cell3: - content: "pmem.io/pmemstream" - row9: - cells: - cell1: - content: "pmemkv" - cell2: - content: "Transactional Key-Value Store: Top-Level C & C++ API" - cell3: - content: "pmem.io/pmemkv" - rowA: - cells: - cell1: - content: "pmemkv-bench" - cell2: - content: "Benchmarks for pmemkv" - cell3: - content: "-" - rowA1: - cells: - cell1: - content: "pmemkv-python" - cell2: - content: "Python bindings for pmemkv" - cell3: - content: "pmem.io/pmemkv-python" - rowA2: - cells: - cell1: - content: "pmemkv-java" - cell2: - content: "Java bindings for pmemkv" - cell3: - content: "pmem.io/pmemkv-java" - rowA3: - cells: - cell1: - content: "pmemkv-nodejs" - cell2: - content: "NodeJS bindings for pmemkv" - cell3: - content: "pmem.io/pmemkv-nodejs" - rowA4: - cells: - cell1: - content: "pmemkv-ruby" - cell2: - content: "Ruby bindings for pmemkv" - cell3: - content: "pmem.io/pmemkv-ruby" - rowA5: - cells: - cell1: - content: "pmdk-convert" - cell2: - content: "Conversion tool for PMDK pools" - cell3: - content: "pmdk-convert" - table2: - title: "Components Focused on Volatile Usages of pmem:" - headers: - header1: - content: "Repo Name" - header2: - content: "Description" - header3: - content: "Microsite" - rows: - row1: - cells: - cell1: - content: "memkind" - cell2: - content: "General-purpose malloc/free-style library
(Actually lives outside the pmem GitHub org since it has a life outside of pmem as well)" - cell3: - content: "-" - row2: - cells: - cell1: - content: "vmemcache" - cell2: - content: "A buffer based LRU cache" - cell3: - content: "pmem.io/vmemcache" - row3: - cells: - cell1: - content: "vmem" - cell2: - content: "libvmem, the predecessor to libmemkind.
Maintenance-only -- use libmemkind for all new development." - cell3: - content: "pmem.io/vmem/libvmem" - table3: - title: "Experimental PMDK components (not yet ready for production use):" + - content: "pmem.io/pmdk" + - cells: + - content: "valgrind" + - content: "Enhanced Valgrind containing the pmemcheck plugin" + - content: "pmem.io/valgrind" + - cells: + - content: "rpma" + - content: "C library to simplify accessing persistent memory (PMem) on remote hosts over Remote Direct Memory Access (RDMA)" + - content: "pmem.io/rpma" + - cells: + - content: "libpmemobj-cpp" + - content: "C++ bindings & containers for libpmemobj" + - content: "pmem.io/libpmemobj-cpp" + - cells: + - content: "llpl" + - content: "Low-Level Persistence Library for Java" + - content: "pmem.io/java/llpl" + - cells: + - content: "libpmemobj-js" + - content: "JavaScript bindings for libpmemobj" + - content: "-" + - cells: + - content: "miniasync" + - content: "C low-level concurrency library for asynchronous functions" + - content: "pmem.io/miniasync" + - cells: + - content: "pmemstream" + - content: "Logging data structure (with stream-like access to data)" + - content: "pmem.io/pmemstream" + - cells: + - content: "pmemkv" + - content: "Transactional Key-Value Store: Top-Level C & C++ API" + - content: "pmem.io/pmemkv" + - cells: + - content: "pmemkv-bench" + - content: "Benchmarks for pmemkv" + - content: "-" + - cells: + - content: "pmemkv-python" + - content: "Python bindings for pmemkv" + - content: "pmem.io/pmemkv-python" + - cells: + - content: "pmemkv-java" + - content: "Java bindings for pmemkv" + - content: "pmem.io/pmemkv-java" + - cells: + - content: "pmemkv-nodejs" + - content: "NodeJS bindings for pmemkv" + - content: "pmem.io/pmemkv-nodejs" + - cells: + - content: "pmemkv-ruby" + - content: "Ruby bindings for pmemkv" + - content: "pmem.io/pmemkv-ruby" + - cells: + - content: "pmdk-convert" + - content: "Conversion tool for PMDK pools" + - content: "pmdk-convert" + - title: "Components Focused on Volatile Usages of pmem:" headers: - header1: - content: "Repo Name" - header2: - content: "Description" - header3: - content: "Microsite" + - content: "Repo Name" + - content: "Description" + - content: "Microsite" rows: - row1: - cells: - cell1: - content: "pcj" - cell2: - content: "Persistent Collections for Java" - cell3: - content: "-" - row2: - cells: - cell1: - content: "pmemfile" - cell2: - content: "Userspace implementation of file APIs using pmem" - cell3: - content: "-" - row3: - cells: - cell1: - content: "syscall_intercept" - cell2: - content: "Syscall intercepting library used by libpmemfile" - cell3: - content: "-" - row4: - cells: - cell1: - content: "vltrace" - cell2: - content: "Tool for tracing syscalls" - cell3: - content: "-" - row5: - cells: - cell1: - content: "pynvm" - cell2: - content: "Experimental prototype Python bindings for libpmemobj" - cell3: - content: "-" - table4: - title: "Other:" + - cells: + - content: "memkind" + - content: "General-purpose malloc/free-style library
(Actually lives outside the pmem GitHub org since it has a life outside of pmem as well)" + - content: "-" + - cells: + - content: "vmemcache" + - content: "A buffer based LRU cache" + - content: "pmem.io/vmemcache" + - cells: + - content: "vmem" + - content: "libvmem, the predecessor to libmemkind.
Maintenance-only -- use libmemkind for all new development." + - content: "pmem.io/vmem/libvmem" + - title: "Experimental PMDK components (not yet ready for production use):" headers: - header1: - content: "Repo Name" - header2: - content: "Description" - header3: - content: "Microsite" + - content: "Repo Name" + - content: "Description" + - content: "Microsite" rows: - row1: - cells: - cell1: - content: "dev-utils-kit" - cell2: - content: "Tools used for development of projects under pmem organization" - cell3: - content: "-" - row2: - cells: - cell1: - content: "autoflushtest" - cell2: - content: "Basic data integrity test for platforms with flush-on-fail CPU caches" - cell3: - content: "-" - card2: - title: "ndctl" + - cells: + - content: "pcj" + - content: "Persistent Collections for Java" + - content: "-" + - cells: + - content: "pmemfile" + - content: "Userspace implementation of file APIs using pmem" + - content: "-" + - cells: + - content: "syscall_intercept" + - content: "Syscall intercepting library used by libpmemfile" + - content: "-" + - cells: + - content: "vltrace" + - content: "Tool for tracing syscalls" + - content: "-" + - cells: + - content: "pynvm" + - content: "Experimental prototype Python bindings for libpmemobj" + - content: "-" + - title: "Other:" + headers: + - content: "Repo Name" + - content: "Description" + - content: "Microsite" + rows: + - cells: + - content: "dev-utils-kit" + - content: "Tools used for development of projects under pmem organization" + - content: "-" + - cells: + - content: "autoflushtest" + - content: "Basic data integrity test for platforms with flush-on-fail CPU caches" + - content: "-" + - title: "ndctl" description: "ndctl is the Linux utility for managing persistent memory." tables: - table1: - headers: - header1: - content: "Repo Name" - header2: - content: "Description" - header3: - content: "Microsite" + - headers: + - content: "Repo Name" + - content: "Description" + - content: "Microsite" rows: - row1: - cells: - cell1: - content: "ndctl" - cell2: - content: "ndctl, daxctl, and related libraries" - cell3: - content: "pmem.io/ndctl" - card3: - title: "Web Content" + - cells: + - content: "ndctl" + - content: "ndctl, daxctl, and related libraries" + - content: "pmem.io/ndctl" + - title: "Web Content" description: "The pmem.io website is implemented as static content on GitHub using Jekyll, GitHub-flavored MarkDown, and some tool-generated HTML here and there. Some sub-areas of the website live in the gh-pages branch of the corresponding repo (for example, pmdk and ndctl)." tables: - table1: - headers: - header1: - content: "Repo Name" - header2: - content: "Description" - header3: - content: "Microsite" + - headers: + - content: "Repo Name" + - content: "Description" + - content: "Microsite" rows: - row1: - cells: - cell1: - content: "docs" - cell2: - content: "Persistent Memory Docbook" - cell3: - content: "-" - row2: - cells: - cell1: - content: "pmem.github.io" - cell2: - content: "Repo containing the pmem.io website (including blogs)" - cell3: - content: "-" - row3: - cells: - cell1: - content: "pmdk-examples" - cell2: - content: "PMDK examples and tutorials" - cell3: - content: "-" - row4: - cells: - cell1: - content: "book" - cell2: - content: "Examples used in the pmem Programming Book" - cell3: - content: "-" - row5: - cells: - cell1: - content: "knowledge-base" - cell2: - content: "Knowledge Base for pmem.io" - cell3: - content: "pmem.io/knowledgebase" - card4: - title: "pmem-aware Software" + - cells: + - content: "docs" + - content: "Persistent Memory Docbook" + - content: "-" + - cells: + - content: "pmem.github.io" + - content: "Repo containing the pmem.io website (including blogs)" + - content: "-" + - cells: + - content: "pmdk-examples" + - content: "PMDK examples and tutorials" + - content: "-" + - cells: + - content: "book" + - content: "Examples used in the pmem Programming Book" + - content: "-" + - cells: + - content: "knowledge-base" + - content: "Knowledge Base for pmem.io" + - content: "pmem.io/knowledgebase" + - title: "pmem-aware Software" description: "These repos contain experimental versions of software modified to leverage persistent memory. Typically, when the features are mature and tested they become part of the upstream repo." tables: - table1: - headers: - header1: - content: "Repo Name" - header2: - content: "Description" - header3: - content: "Microsite" + - headers: + - content: "Repo Name" + - content: "Description" + - content: "Microsite" rows: - row1: - cells: - cell1: - content: "pelikan" - cell2: - content: "Working tree for development of pmem-related features for Twitter's Pelikan" - cell3: - content: "-" - row2: - cells: - cell1: - content: "pmem-rocksdb" - cell2: - content: "RocksDB modified to use pmem" - cell3: - content: "-" - row3: - cells: - cell1: - content: "pmem-redis" - cell2: - content: "Redis, enhanced to use pmem" - cell3: - content: "-" - row4: - cells: - cell1: - content: "pmse" - cell2: - content: "MongoDB pmem Storage Engine Prototype" - cell3: - content: "-" - row5: - cells: - cell1: - content: "kvdk" - cell2: - content: "Reference code of key/value store design for pmem" - cell3: - content: "-" - card5: - title: "Inactive" + - cells: + - content: "pelikan" + - content: "Working tree for development of pmem-related features for Twitter's Pelikan" + - content: "-" + - cells: + - content: "pmem-rocksdb" + - content: "RocksDB modified to use pmem" + - content: "-" + - cells: + - content: "pmem-redis" + - content: "Redis, enhanced to use pmem" + - content: "-" + - cells: + - content: "pmse" + - content: "MongoDB pmem Storage Engine Prototype" + - content: "-" + - cells: + - content: "kvdk" + - content: "Reference code of key/value store design for pmem" + - content: "-" + - title: "Inactive" description: "These repos are no longer under active development or use. We archive them here for reference." tables: - table1: - headers: - header1: - content: "Repo Name" - header2: - content: "Description" - header3: - content: "Microsite" + - headers: + - content: "Repo Name" + - content: "Description" + - content: "Microsite" rows: - row1: - cells: - cell1: - content: "linux-examples" - cell2: - content: "Original ideas" - cell3: - content: "-" - row2: - cells: - cell1: - content: "redis" - cell2: - content: "Initial pmem enhancements to Redis" - cell3: - content: "-" - row3: - cells: - cell1: - content: "rocksdb" - cell2: - content: "Initial pmem enhancements to RocksDB" - cell3: - content: "-" - row4: - cells: - cell1: - content: "libcxx" - cell2: - content: "Experimental pmem-aware libcxx" - cell3: - content: "-" - row5: - cells: - cell1: - content: "mpi-pmem-ext" - cell2: - content: "MPI Extensions for pmem" - cell3: - content: "-" - row6: - cells: - cell1: - content: "issues" - cell2: - content: "Archive of some old issues. No longer in-use." - cell3: - content: "-" - row7: - cells: - cell1: - content: "pmemkv-jni" - cell2: - content: "Java bindings via JNI for pmemkv" - cell3: - content: "-" - row8: - cells: - cell1: - content: "pmdk-tests" - cell2: - content: "Extended PMDK tests" - cell3: - content: "-" + - cells: + - content: "linux-examples" + - content: "Original ideas" + - content: "-" + - cells: + - content: "redis" + - content: "Initial pmem enhancements to Redis" + - content: "-" + - cells: + - content: "rocksdb" + - content: "Initial pmem enhancements to RocksDB" + - content: "-" + - cells: + - content: "libcxx" + - content: "Experimental pmem-aware libcxx" + - content: "-" + - cells: + - content: "mpi-pmem-ext" + - content: "MPI Extensions for pmem" + - content: "-" + - cells: + - content: "issues" + - content: "Archive of some old issues. No longer in-use." + - content: "-" + - cells: + - content: "pmemkv-jni" + - content: "Java bindings via JNI for pmemkv" + - content: "-" + - cells: + - content: "pmdk-tests" + - content: "Extended PMDK tests" + - content: "-" ################################# Disclaimer ################################# disclaimer: diff --git a/themes/pmem-hugo/layouts/index.html b/themes/pmem-hugo/layouts/index.html index a5e6eb9227..ff04dff0f3 100644 --- a/themes/pmem-hugo/layouts/index.html +++ b/themes/pmem-hugo/layouts/index.html @@ -4,9 +4,6 @@ {{- partial "content/slider.html" . -}} - - {{- partial "content/banner.html" . -}} - {{- partial "content/features.html" . -}} diff --git a/themes/pmem-hugo/layouts/partials/content/banner.html b/themes/pmem-hugo/layouts/partials/content/banner.html index 06a6ad080a..627d38a1ff 100644 --- a/themes/pmem-hugo/layouts/partials/content/banner.html +++ b/themes/pmem-hugo/layouts/partials/content/banner.html @@ -1,11 +1,9 @@ -{{ $data := index site.Data site.Language.Lang }} {{ if $data.homepage.banner.enable }} {{ with $data.homepage.banner }} +{{ $data := index site.Data site.Language.Lang }} {{ if $data.pmdk.banner.enable }} {{ with $data.pmdk.banner }}
- {{ .content | markdownify }} {{ .content_banner.bold_text | markdownify }} {{ .content_banner.text | markdownify }} - {{ .download_link.label }}
diff --git a/themes/pmem-hugo/layouts/pmdk/list.html b/themes/pmem-hugo/layouts/pmdk/list.html index d62270c112..df26baeca1 100644 --- a/themes/pmem-hugo/layouts/pmdk/list.html +++ b/themes/pmem-hugo/layouts/pmdk/list.html @@ -13,17 +13,8 @@

{{ .title | markdownify }}

{{ end }} {{ end }} -{{ $data := index site.Data site.Language.Lang }} {{ if $data.pmdk.banner.enable }} {{ with $data.pmdk.banner }} -
-
-
- {{ .content | markdownify }} - {{ .content_banner.bold_text | markdownify }} -

{{ .content_banner.text | markdownify }}

-
-
-
-{{ end }} {{ end }} + +{{- partial "content/banner.html" . -}} {{ $data := index site.Data site.Language.Lang }} {{ if $data.pmdk.libraries_section.enable }} {{ with $data.pmdk.libraries_section }} @@ -48,9 +39,9 @@

{{ .title | markdownify }}

{{ $data := index site.Data site.Language.Lang }} {{ if $data.pmdk.libraries_section_deprecated.enable }} {{ with $data.pmdk.libraries_section_deprecated }} -
+
-
+

{{ .title | markdownify }}

{{ .content | safeHTML }} diff --git a/themes/pmem-hugo/layouts/pmdk/single.html b/themes/pmem-hugo/layouts/pmdk/single.html index 6908f5719e..93b6a23c77 100644 --- a/themes/pmem-hugo/layouts/pmdk/single.html +++ b/themes/pmem-hugo/layouts/pmdk/single.html @@ -10,6 +10,9 @@

{{ .Params.header | markdownify }}

{{ end }} + +{{- partial "content/banner.html" . -}} +
{{ $dc_title := strings.TrimSuffix " | pmdk" (.Params.title | lower) }}