mirror of
https://github.com/CorentinTh/it-tools.git
synced 2025-05-04 21:37:11 -04:00
chore(lint): switched to a better lint config
This commit is contained in:
parent
4d2b037dbe
commit
33c9b6643f
178 changed files with 4105 additions and 3371 deletions
|
@ -179,13 +179,13 @@ const vocabulary = [
|
|||
];
|
||||
const firstSentence = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.';
|
||||
|
||||
const generateSentence = (length: number) => {
|
||||
function generateSentence(length: number) {
|
||||
const sentence = Array.from({ length })
|
||||
.map(() => randFromArray(vocabulary))
|
||||
.join(' ');
|
||||
|
||||
return sentence.charAt(0).toUpperCase() + sentence.slice(1) + '.';
|
||||
};
|
||||
return `${sentence.charAt(0).toUpperCase() + sentence.slice(1)}.`;
|
||||
}
|
||||
|
||||
export function generateLoremIpsum({
|
||||
paragraphCount = 1,
|
||||
|
@ -194,11 +194,11 @@ export function generateLoremIpsum({
|
|||
startWithLoremIpsum = true,
|
||||
asHTML = false,
|
||||
}: {
|
||||
paragraphCount?: number;
|
||||
sentencePerParagraph?: number;
|
||||
wordCount?: number;
|
||||
startWithLoremIpsum?: boolean;
|
||||
asHTML?: boolean;
|
||||
paragraphCount?: number
|
||||
sentencePerParagraph?: number
|
||||
wordCount?: number
|
||||
startWithLoremIpsum?: boolean
|
||||
asHTML?: boolean
|
||||
}) {
|
||||
const paragraphs = Array.from({ length: paragraphCount }).map(() =>
|
||||
Array.from({ length: sentencePerParagraph }).map(() => generateSentence(wordCount)),
|
||||
|
@ -209,8 +209,8 @@ export function generateLoremIpsum({
|
|||
}
|
||||
|
||||
if (asHTML) {
|
||||
return `<p>${paragraphs.map((s) => s.join(' ')).join('</p>\n\n<p>')}</p>`;
|
||||
return `<p>${paragraphs.map(s => s.join(' ')).join('</p>\n\n<p>')}</p>`;
|
||||
}
|
||||
|
||||
return paragraphs.map((s) => s.join(' ')).join('\n\n');
|
||||
return paragraphs.map(s => s.join(' ')).join('\n\n');
|
||||
}
|
||||
|
|
|
@ -1,3 +1,27 @@
|
|||
<script setup lang="ts">
|
||||
import { computed, ref } from 'vue';
|
||||
import { generateLoremIpsum } from './lorem-ipsum-generator.service';
|
||||
import { useCopy } from '@/composable/copy';
|
||||
import { randIntFromInterval } from '@/utils/random';
|
||||
|
||||
const paragraphs = ref(1);
|
||||
const sentences = ref([3, 8]);
|
||||
const words = ref([8, 15]);
|
||||
const startWithLoremIpsum = ref(true);
|
||||
const asHTML = ref(false);
|
||||
|
||||
const loremIpsumText = computed(() =>
|
||||
generateLoremIpsum({
|
||||
paragraphCount: paragraphs.value,
|
||||
asHTML: asHTML.value,
|
||||
sentencePerParagraph: randIntFromInterval(sentences.value[0], sentences.value[1]),
|
||||
wordCount: randIntFromInterval(words.value[0], words.value[1]),
|
||||
startWithLoremIpsum: startWithLoremIpsum.value,
|
||||
}),
|
||||
);
|
||||
const { copy } = useCopy({ source: loremIpsumText, text: 'Lorem ipsum copied to the clipboard' });
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<c-card>
|
||||
<n-form-item label="Paragraphs" :show-feedback="false" label-width="200" label-placement="left">
|
||||
|
@ -19,31 +43,9 @@
|
|||
<n-input :value="loremIpsumText" type="textarea" placeholder="Your lorem ipsum..." readonly autosize mt-5 />
|
||||
|
||||
<div mt-5 flex justify-center>
|
||||
<c-button autofocus @click="copy"> Copy </c-button>
|
||||
<c-button autofocus @click="copy">
|
||||
Copy
|
||||
</c-button>
|
||||
</div>
|
||||
</c-card>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { useCopy } from '@/composable/copy';
|
||||
import { ref, computed } from 'vue';
|
||||
import { randIntFromInterval } from '@/utils/random';
|
||||
import { generateLoremIpsum } from './lorem-ipsum-generator.service';
|
||||
|
||||
const paragraphs = ref(1);
|
||||
const sentences = ref([3, 8]);
|
||||
const words = ref([8, 15]);
|
||||
const startWithLoremIpsum = ref(true);
|
||||
const asHTML = ref(false);
|
||||
|
||||
const loremIpsumText = computed(() =>
|
||||
generateLoremIpsum({
|
||||
paragraphCount: paragraphs.value,
|
||||
asHTML: asHTML.value,
|
||||
sentencePerParagraph: randIntFromInterval(sentences.value[0], sentences.value[1]),
|
||||
wordCount: randIntFromInterval(words.value[0], words.value[1]),
|
||||
startWithLoremIpsum: startWithLoremIpsum.value,
|
||||
}),
|
||||
);
|
||||
const { copy } = useCopy({ source: loremIpsumText, text: 'Lorem ipsum copied to the clipboard' });
|
||||
</script>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue