Skip to content

Commit 018fbbe

Browse files
committed
feat: badge
1 parent 77e8a37 commit 018fbbe

File tree

2 files changed

+29
-1
lines changed

2 files changed

+29
-1
lines changed

docs/.vuepress/theme/layouts/PackageDetail.vue

+28-1
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,19 @@
160160
</h2>
161161
<div>{{ packageInvalidTagsString }}</div>
162162
</section>
163+
<section class="col-12">
164+
<h2>Badge <small>(click to copy)</small></h2>
165+
<div>
166+
<a
167+
:href="badgeUrl"
168+
data-tooltip="Copied"
169+
class="tooltip tooltip-click"
170+
@click.prevent="onCopyBadgeVersion"
171+
>
172+
<img :src="badgeVersionImageUrl" />
173+
</a>
174+
</div>
175+
</section>
163176
</div>
164177
</div>
165178
</div>
@@ -172,6 +185,7 @@
172185

173186
<script>
174187
import axios from "axios";
188+
import escape from "escape-html";
175189
import copy from "copy-to-clipboard";
176190
import marked from "marked";
177191
import { noCase } from "change-case";
@@ -306,6 +320,11 @@ export default {
306320
return cli;
307321
} else return "not available";
308322
},
323+
badgeVersionHtml() {
324+
return `<a href="${escape(this.badgeUrl)}"><img src="${escape(
325+
this.badgeVersionImageUrl
326+
)}" /></a>`;
327+
},
309328
readmeHtml() {
310329
if (!this.$data.readmeRaw) return "";
311330
else {
@@ -368,6 +387,11 @@ export default {
368387
text: "Edit this package"
369388
};
370389
},
390+
badgeUrl() {
391+
return urljoin(this.$site.themeConfig.domain, this.$page.path);
392+
},
393+
badgeVersionImageUrl() {
394+
return `https://img.shields.io/npm/v/${this.$package.name}?label=openupm&registry_uri=https://package.openupm.com`;
371395
}
372396
},
373397
watch: {
@@ -448,8 +472,11 @@ See more in the [${this.$package.repo}](${this.$package.repoUrl}) repository.
448472
console.error(error);
449473
}
450474
},
451-
onCopyClick() {
475+
onCopyCli() {
452476
copy(this.packageInstallCli, { format: "text/plain" });
477+
},
478+
onCopyBadgeVersion() {
479+
copy(this.badgeVersionHtml, { format: "text/plain" });
453480
}
454481
}
455482
};

package.json

+1
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
"change-case": "^4.1.0",
3131
"copy-to-clipboard": "^3.2.0",
3232
"cross-env": "^6.0.3",
33+
"escape-html": "^1.0.3",
3334
"eslint": "^6.5.0",
3435
"eslint-config-prettier": "^6.3.0",
3536
"eslint-loader": "^3.0.2",

0 commit comments

Comments
 (0)