Случайно нашел неплохой бесплатный хостинг для бэка
alwaysdata.net
До 100Mb,
Год использую - всё ровно.
#webhosting
alwaysdata.net
До 100Mb,
MySQL/PostgreSQL
с портом наружу, PHP, Python, Ruby, Node.js, Elixir, Java, Deno, .NET
, SSH
, подключение кастомного доменаГод использую - всё ровно.
#webhosting
Сегодня этому каналу 1 год.
Время вспомнить первый пост
По сей день это лучший учебник для изучения
#vuefaq #learning #architecture #book
Время вспомнить первый пост
По сей день это лучший учебник для изучения
Vue.js
на русском языке.#vuefaq #learning #architecture #book
Telegram
Vue-FAQ
📖
Закончен перевод книги "Vue.js 3 Design Patterns and Best Practices"
Лучший материал для самостоятельного изучения Vue.js
https://vue-faq.org/ru/book/
#learning #architecture #book
Закончен перевод книги "Vue.js 3 Design Patterns and Best Practices"
Лучший материал для самостоятельного изучения Vue.js
https://vue-faq.org/ru/book/
#learning #architecture #book
Для реализации своих
Их
В данном случае содержимое тултипа является ребенком элемента, на котором его надо показать. Возможны другие варианты реализации, включая кастомную директиву.
Обертывать в
#lib #tooltip #dropdown
tooltip
-ов и "выпадашек", наверное, самым оптимальный вариантом является использование современной и минималистичной библиотеки Floating UIИх
Vue
адаптер мне не подошел. Вот простой вариант своего тултипа на их чистом js
пакете.В данном случае содержимое тултипа является ребенком элемента, на котором его надо показать. Возможны другие варианты реализации, включая кастомную директиву.
Обертывать в
Tooltip
компонент то, на чем его надо показать, имхо, извращение.<script setup lang="ts">
import { computePosition, flip, offset, shift } from "@floating-ui/dom";
import { onMounted, ref, useTemplateRef } from "vue";
const popover = useTemplateRef("popover");
onMounted(() => {
popover.value.showPopover();
computePosition(popover.value.parentElement, popover.value, {
placement: "left",
middleware: [flip(), shift({ padding: 5 }), offset(10)],
}).then(({ x, y }) => {
Object.assign(popover.value.style, {
left: `${x}px`,
top: `${y}px`,
});
});
});
</script>
<template>
<div
ref="popover"
class="popover"
popover
role="tooltip"
>
<div class="tooltip-body">Hello</div>
</div>
</template>
<style scoped>
.popover {
position: fixed;
width: max-content;
top: 0;
left: 0;
margin: 0;
padding: 1em;
text-align: left;
border: 1px solid var(--bbl-c-border);
border-radius: 5px;
max-width: 400px;
box-shadow:
0 14px 44px rgba(0, 0, 0, 0.12),
0 3px 9px rgba(0, 0, 0, 0.12);
border-color: #bbb;
}
</style>
#lib #tooltip #dropdown
Floating-Ui
Floating UI - Create tooltips, popovers, dropdowns, and more
A JavaScript library to position floating elements and create interactions for them.
Что для вас TypeScript?
Anonymous Poll
29%
Язык программирования
22%
Препроцессор
3%
Библиотека
1%
Фреймворк
29%
Язык описания интерфейсов (IDL)
16%
Непонятная хрень
27%
Счастье
17%
Горе
Автор русского перевода документации
#vite #i18n
VitePress
перевел и Vite
документацию и просит сделать ревью его PR , чтобы его пропустили.#vite #i18n
GitHub
feat: add Russian translation by dragomano · Pull Request #18684 · vitejs/vite
Description
Add Russian translation for the docs site
Repository: https://github.com/dragomano/vite-docs
Preview: https://dragomano.github.io/vite-docs/
Add Russian translation for the docs site
Repository: https://github.com/dragomano/vite-docs
Preview: https://dragomano.github.io/vite-docs/
Вышел
Из примечательного - по инициативе Эвана на
Анимацию которого можно кастомизировать
Может быть быстрее вьюшного
#router #animation #css
vue-router 4.5.0
Из примечательного - по инициативе Эвана на
router-link
появился prop view-transition
, который задействует нативный View Transitions API для перехода между роутами.<template>
<RouterLink to="/some-page" view-transition>
Go to some page
</RouterLink>
</template>
Анимацию которого можно кастомизировать
CSS
стилямиМожет быть быстрее вьюшного
<Transition>
и уж точно удобней в записи (по сравнению с конструкцией с router-view
). Но не такой функциональный, для простых переходов.#router #animation #css
MDN Web Docs
View Transition API - Web APIs | MDN
The View Transition API provides a mechanism for easily creating animated transitions between different website views. This includes animating between DOM states in a single-page app (SPA), and animating the navigation between documents in a multi-page app…
Неожиданно вышел Vite 6.0
Больших и даже просто значимых изменений практически нет. Предполагается, что это последний мажорный стабильный релиз перед заносом в
#vite
Больших и даже просто значимых изменений практически нет. Предполагается, что это последний мажорный стабильный релиз перед заносом в
Vite
Rolldown
-a и прочей Voidzero
-шной машинерии.#vite
GitHub
vite/packages/vite/CHANGELOG.md at v6.0.0 · vitejs/vite
Next generation frontend tooling. It's fast! Contribute to vitejs/vite development by creating an account on GitHub.
Вышел отчет State of Frontend 2024
Кроме того, что
#stats #survey
Кроме того, что
JQuery
еще использует пятая часть опрошенных (а основная часть jq
разрабов просто игнорирует подобные опросы), особо ничего интересного#stats #survey
State of Frontend 2024
Based on surveys filled in by 6028 developers from 139 countries, the State of Frontend 2024 is supported by 23 expert commentaries about frontend trends and the future.
Статья от 20 ноября 2024 года
8 Reasons Why Vue JS is the Best Framework for Your Modern Projects
И пишут же вот такие вот контент-райтеры на дешевеньких LLM-ках вот такую вот хрень. Для компаний, которые, типа, предлагают услуги разработки на
И наверняка могут написать о чем угодно...
#facepalm
8 Reasons Why Vue JS is the Best Framework for Your Modern Projects
И пишут же вот такие вот контент-райтеры на дешевеньких LLM-ках вот такую вот хрень. Для компаний, которые, типа, предлагают услуги разработки на
Vue.js
И наверняка могут написать о чем угодно...
#facepalm
Когда-то модалки были довольно нетривиальным элементом, породившим кучу библиотек для их отображения (даже сам когда-то заэнпиэмил одну).
Сейчас
Вот пример модалки в 30 строк с оверлеем, закрытием по outside клику и клавише
Использование:
И всё. Не надо никаких композаблов, телепортов и мучений с позиционированием.
В комментариях будут стили для плавного (
#html #tip
Сейчас
HTML
<dialog>
делает это легко и непринужденноВот пример модалки в 30 строк с оверлеем, закрытием по outside клику и клавише
ESC
, с поддержкой доступности и других W3C
стандартов<script setup lang="ts">
import { ref } from "vue";
const dialog = ref(null);
function show() {
dialog.value.showModal();
}
function close() {
dialog.value.close();
}
function onClick($event) {
if ($event.target === dialog.value) {
dialog.value.close();
}
}
defineExpose({ show, close });
</script>
<template>
<dialog
ref="dialog"
role="textbox"
tabindex="0"
@mousedown="onClick"
>
<slot />
</dialog>
</template>
<style scoped></style>
Использование:
const holaModal = useTemplateRef("holaModal");
// holaModal.value.show();
...
<ModalDialog ref="holaModal">
<div>Hola!</div>
<button @click="holaModal.close()">
Close
</button>
</ModalDialog>
И всё. Не надо никаких композаблов, телепортов и мучений с позиционированием.
В комментариях будут стили для плавного (
fade in-out
) открытия и закрытия окна диалога и оверлея.#html #tip
В вышедшем недавно
Появились ассиметричные (?) модификаторы доступа свойств класса и переопределяемые геттеры/сеттеры (привет, js).
А также наконец, через 30 лет, удобный
#php
PHP 8.4
тем временем небольшая революцияПоявились ассиметричные (?) модификаторы доступа свойств класса и переопределяемые геттеры/сеттеры (привет, js).
А также наконец, через 30 лет, удобный
API
для парсинга HTML
документов.#php
Как приятно выйти на пенсию и заниматься только пет-проектами...
Предпоследний - Библеистика
Фронт в целом занял где-то треть работы. Технически было много интересных моментов, особенно на бэке (сбор данных, нормализация, структурирование, размещение, организация/оптимизация передачи их на фронт, индексация, морфологический поиск и т.п.). Был (и есть) даже вариант, что сайт может быть полностью статичным, без бэка, даже с поиском.
В итоге сайт "сотки" и близко к ним выбивает на
Репозиторий
#pet
Предпоследний - Библеистика
Фронт в целом занял где-то треть работы. Технически было много интересных моментов, особенно на бэке (сбор данных, нормализация, структурирование, размещение, организация/оптимизация передачи их на фронт, индексация, морфологический поиск и т.п.). Был (и есть) даже вариант, что сайт может быть полностью статичным, без бэка, даже с поиском.
В итоге сайт "сотки" и близко к ним выбивает на
PageSpeed
Репозиторий
#pet
Библеистика
Изучение Библии по контекстам с помощью Конкорданса Стронга