|
|
|
|
@ -45,7 +45,7 @@ export default defineComponent({
|
|
|
|
|
}, |
|
|
|
|
computeWords() { |
|
|
|
|
this.loading = true; |
|
|
|
|
const words = Object.keys(skills) |
|
|
|
|
let words: (cloud.Word & { size: number })[] = Object.keys(skills) |
|
|
|
|
.map((p) => skills[p]) |
|
|
|
|
.map((s) => ({ text: s.name, size: s.score })); |
|
|
|
|
|
|
|
|
|
@ -65,11 +65,22 @@ export default defineComponent({
|
|
|
|
|
const range = 120 * (1 - ((s - min) / (max - min)) * 0.7); |
|
|
|
|
return Math.random() * range - range / 2; |
|
|
|
|
}; |
|
|
|
|
words = [ |
|
|
|
|
{ |
|
|
|
|
size: max * 1.6, |
|
|
|
|
text: "Nicolas Marsal", |
|
|
|
|
rotate: -30, |
|
|
|
|
padding: 6, |
|
|
|
|
x: 0, |
|
|
|
|
y: 0, |
|
|
|
|
}, |
|
|
|
|
...words, |
|
|
|
|
]; |
|
|
|
|
cloud<{ size: number } & cloud.Word>() |
|
|
|
|
.size([this.width!, this.height!]) |
|
|
|
|
.words(words) |
|
|
|
|
.padding(1) |
|
|
|
|
.rotate((w) => randomRotate(w.size)) |
|
|
|
|
.padding((w) => w.padding ?? 1) |
|
|
|
|
.rotate((w) => w.rotate ?? randomRotate(w.size)) |
|
|
|
|
.spiral("archimedean") |
|
|
|
|
.fontSize((d) => scaleFontSize(d.size)) |
|
|
|
|
.on("end", (d: cloud.Word[]) => { |
|
|
|
|
|