-
Notifications
You must be signed in to change notification settings - Fork 0
Code Style
Use 4 spaces to indent, instead of tabs.
The order can be template, script, style
or script, template, style
.
If the script is relatively long, template, script, style
should be preferred.
<script setup>
should be highly preferred over <script>
s.
<script>
s and <script setup>
s should use TypeScript (i.e., <script setup lang="ts">
instead of <script setup lang="js">
)
<style scoped>
should be highly preferred over <style>
s.
<style>
s and <style scoped>
should use SCSS (i.e., <style scoped lang="scss">
instead of <style scoped lang="css">
)
Elements that have no children, and has a long attribute list, can be styled like this using with a full indentation:
<element
attr1="value1"
attr2="value2"
class="name"
id="form-name"
/>
If the element does not support />
(e.g. <div>
), it can be styled like this using a full indentation:
<div
v-if="condition"
v-for="thing in array"
:key="thing.id"
class="square"
id="square-div"
></div>
If the element has children and a long attribute list, you can use half-tabs (2 spaces instead of 4) to list the attributes, like this:
<div
v-if="condition"
v-for="thing in array"
:key="thing.id"
class="square"
id="square-div">
<img :src="thing.imgSrc" />
</div>
SCSS is a superset of CSS, so there's basically no reason not to use SCSS.
SCSS files should be put in ./assets/scss/
.
Global selectors should be put in ./assets/scss/global.scss
.
Color variables should be put in ./assets/scss/colors.scss
.
Non-color constants should be put in ./assets/scss/consts.scss
.
Scripts should always use TypeScript unless it's really needed to not use it.
General/helper scripts go in ./assets/scripts/
.
Type declaration files go in ./assets/types/
.
Have any questions? Ask here: