diff --git a/pages/assets/images/docker-mark-blue.svg b/pages/assets/images/docker-mark-blue.svg
new file mode 100644
index 00000000..eba6cc41
--- /dev/null
+++ b/pages/assets/images/docker-mark-blue.svg
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/registry/index.html b/pages/registry/index.html
index 66a66295..04ef7e09 100644
--- a/pages/registry/index.html
+++ b/pages/registry/index.html
@@ -8,26 +8,26 @@
mcpm.sh - Server Registry
{% include favicon.html %}
-
+
-
+
-
+
-
+
@@ -41,7 +41,7 @@
@@ -1635,7 +1651,7 @@ Raw Manifest:
const summary = document.createElement('summary');
summary.textContent = key;
details.appendChild(summary);
-
+
const subUl = document.createElement('ul');
Object.entries(value).forEach(([subKey, subValue]) => {
const subLi = document.createElement('li');
@@ -1660,7 +1676,7 @@ Raw Manifest:
const summary = document.createElement('summary');
summary.textContent = tool.name || `Tool ${index + 1}`;
details.appendChild(summary);
-
+
const subUl = document.createElement('ul');
Object.entries(tool).forEach(([key, value]) => {
const subLi = document.createElement('li');
@@ -1685,7 +1701,7 @@ Raw Manifest:
const summary = document.createElement('summary');
summary.textContent = resource.name || `Resource ${index + 1}`;
details.appendChild(summary);
-
+
const subUl = document.createElement('ul');
Object.entries(resource).forEach(([key, value]) => {
const subLi = document.createElement('li');
@@ -1710,7 +1726,7 @@ Raw Manifest:
const summary = document.createElement('summary');
summary.textContent = prompt.name || `Prompt ${index + 1}`;
details.appendChild(summary);
-
+
const subUl = document.createElement('ul');
Object.entries(prompt).forEach(([key, value]) => {
const subLi = document.createElement('li');
@@ -1863,7 +1879,24 @@ Raw Manifest:
const heading = document.createElement('h3');
heading.textContent = server.display_name || server.name;
-
+
+ if (server.docker_url) {
+ const dockerIcon = document.createElement('span');
+ dockerIcon.className = 'docker-icon';
+ dockerIcon.innerHTML = ' ';
+ dockerIcon.style.cursor = 'pointer';
+ dockerIcon.title = 'Docker';
+
+ // Open Docker Hub link in new tab
+ dockerIcon.addEventListener('click', (event) => {
+ event.stopPropagation();
+ window.open(server.docker_url, '_blank');
+ });
+
+ // Add Docker icon to heading
+ heading.appendChild(dockerIcon);
+ }
+
// Add official badge if the server is marked as official
if (server.is_official) {
const officialBadge = document.createElement('span');
@@ -1871,7 +1904,7 @@ Raw Manifest:
officialBadge.textContent = 'Official';
heading.appendChild(officialBadge);
}
-
+
serverHeader.appendChild(heading);
// Add placeholder for GitHub stars in the header
@@ -1887,11 +1920,11 @@ Raw Manifest:
description.className = 'description';
description.textContent = server.description;
serverContent.appendChild(description);
-
+
// Create tags container
const tagsContainer = document.createElement('div');
tagsContainer.className = 'tags';
-
+
// Add regular tags (if any)
if (server.tags && server.tags.length > 0) {
server.tags.slice(0, 4).forEach(tag => {
@@ -1901,20 +1934,20 @@ Raw Manifest:
tagsContainer.appendChild(tagSpan);
});
}
-
+
// Append tags container to server content
serverContent.appendChild(tagsContainer);
-
+
const meta = document.createElement('div');
meta.className = 'meta';
-
+
// Add placeholder for author that will be populated later
const authorMeta = document.createElement('span');
authorMeta.className = 'author author-placeholder';
authorMeta.textContent = 'Loading author...';
authorMeta.style.opacity = '0';
meta.appendChild(authorMeta);
-
+
// Add categories if they exist
if (server.categories && server.categories.length > 0) {
const categorySpan = document.createElement('span');
@@ -1922,7 +1955,7 @@ Raw Manifest:
categorySpan.textContent = server.categories[0]; // Display first category
meta.appendChild(categorySpan);
}
-
+
// Update author information directly from server data (no need to fetch)
if (server.author && server.author.name) {
// Add user icon before author name
@@ -2188,4 +2221,4 @@ Raw Manifest: