пїЅпїЅпїЅпїЅ пїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅ
По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
Что такое DOM?
DOM
(Document Object Model) – это объектная модель документа. Это интерфейс между JavaScript и веб-браузером.
С помощью DOM вы можете написать код JavaScript для создания, изменения или удаления элементов HTML, установки стилей, классов и атрибутов, а также для принятия событий и реагирования на них.
Дерево DOM формируется из HTML-документа, и с ним уже можно будет взаимодействовать. DOM – это очень сложный API, у которого есть методы и свойства для взаимодействия с деревом DOM.
Как работает DOM – за кадром
DOM продуманно организован. Родительский элемент называется EventTarget. Приведенная ниже диаграмма поможет вам лучше понять, как это работает:
EventTarget
– это интерфейс, реализуемый объектами, которые могут принимать события и у которых могут быть обработчики этих событий. Иными словами, любой источник событий реализует три метода, которые связаны с этим интерфейсом. Самыми распространенными генераторами событий являются Element и его дочерние элементы, Document и Window. Другие объекты также могут выступать в качестве источников событий.
Объект Window
- это окно браузера. Все глобальные объекты, функции и переменные JavaScript автоматически становятся частью объекта Window. Глобальные переменные – это свойства Window. Глобальные функции – это методы Window. И даже Document (DOM HTML) является свойством Window.
window.document.getElementById("header");
// Both are same
document.getElementById("header");
В модели дом DOM есть узлы., и все части документа, такие как элементы, атрибуты, текст и т.д., организованы в виде иерархической древовидной структуры, которая состоит из родителей и потомков. Все эти части документа называются узлами (Node).
Node на приведенной выше диаграмме представлен как объект JavaScript. В основном мы работаем с document, у которого есть такие распространенные методы, как document.queryselector(), document.getElementBy Id() и т.д.
Теперь давайте посмотрим на document.
Как выбирать, создавать и удалять элементы с помощью DOM
С помощью DOM мы можем выбирать, удалять и создавать элементы в JavaScript.
Как выбирать элементы
Существует несколько способов выбрать HTML-элементы (HTML Elements) в JavaScript. Здесь мы рассмотрим следующие методы:
document.getElementById();
document.getElementByClassName();
document.getElementByTagName();
document.querySelector();
document.querySelectorAll();
Как использовать метод document.getElementById()
Метод getElementById() возвращает элемент, идентификатор которого соответствует переданной строке. Идентификаторы элементов HTML должны быть уникальными, поэтому это самый быстрый способ выбрать элемент с идентификатором.
Пример:
const ele = document.getElementById("IDName");
console.log(ele); // This will log the whole HTML element
Как использовать метод document.getElementByClassName()
Метод document.getElementByClassName() возвращает HTMLCollection элементов, которые соответствуют имени переданного класса. Можно искать сразу несколько имен классов, передав их через пробел. Тогда этот метод вернет «живую» HTMLCollection.
Что такое «живая» HTMLCollection? Это означает, что как только мы получим HTMLCollection для какого-то имени класса, и если мы добавим элемент с тем же именем класса, то HTMLCollection автоматически обновится.
Пример:
const ele = document.getElementByClassName("ClassName");
console.log(ele); // Logs Live HTMLCollection
Как использовать метод document.getElementByTagName()
Метод document.getElementByTagName() возвращает HTMLCollection элементов, которые соответствуют переданному имени тега. Его можно вызывать для любого элемента HTML. Метод вернет «живую» HTMLCollection.
Пример:
const paragraph = document.getElementByTagName("p");
const heading = document.getElementByTagName("h1");
console.log(paragraph); // p element HTMLCollection
console.log(heading); // h1 element HTMLCollection
Как использовать метод document.querySelector()
Метод document.querySelector() возвращает первый элемент, который соответствует переданному селектору. Здесь мы можем передать имя класса, идентификатор и имя тега. Давайте посмотрим на пример ниже:
const id = document.querySelector("#idname"); // using id
const classname = document.querySelector(".classname"); // using class
const tag = document.querySelector("p"); // using tagname
Правила выбора:
если вы выбираете по имени класса, то используйте (.) в начале. Например, (“.classname”).
если вы выбираете по идентификатору, то используйте (#) в начале. Например, (“#id”).
если вы выбираете по имени тега, то просто введите тег. Например, (“p”).
Как использовать метод document.querySelectorAll()
Метод document.querySelectorAll() - это расширение метода querySelector. Этот метод возвращает все элементы, которые соответсвуют переданному селектору. Он возвращает «неживую» коллекцию Nodelist.
Пример:
const ele = document.querySelectorAll("p");
console.log(ele); // return nodelist collection of p tag
ПРИМЕЧАНИЕ
: HTMLCollection – это «живая» коллекция, а коллекция Nodelist – статическая.
Как создавать элементы
Вы можете создавать HTML-элементы в JavaScript и динамически добавлять их в HTML. Вы можете создать любой элемент HTML с помощью метода document.createElement(), просто передав имя тега в скобках.
После того, как элемент будет создан, вы сможете добавить к нему имя класса, атрибуты и текст.
Вот пример:
const ele = document.createElement("a");
ele.innerText = "Click Me";
ele.classList.add("text-left");
ele.setAttribute("href", "www.google.com");
// update to existing element in HTML
document.querySelector(".links").prepend(ele);
document.querySelector(".links").append(ele);
document.querySelector(".links").befor(ele);
document.querySelector(".links").after(ele);
// Simalar to below anchor tag
// Click Me
В приведенном выше примере мы создали тег привязки (anchor) в JavaScript и добавили атрибуты и имя класса к этому тегу. Там же у нас есть четыре метода для того, чтобы обновить созданный элемент в HTML.
prepend(): вставляет данные поверх своего первого дочернего элемента.
append(): вставляем данные или содержимое внутрь элемента по последнему индексу.
before(): вставляет данные перед выбранным элементом.
after(): помещает элемент после указанного элемента. Или можно сказать, что он вставляет данные за пределами элемента (делая это содержимое элементом того же уровня) в набор подходящих элементов.
Как удалять элементы
Мы знаем, как создавать элементы на JavaScript и помещать их в HTML. Но, что если нам нужно удалить элементы в HTML? Это довольно просто! Нам достаточно воспользоваться методом remove() для нужного элемента.
Вот пример:
const ele = document.querySelector("p");
// This will remove ele when clicked on
ele.addEventListner('click', function(){
ele.remove();
})
Как управлять CSS из JavaScript
Мы знаем, как управлять HTML из JavaScript. А теперь мы узнаем, как управлять CSS из JavaScript. Это может помочь вам динамически менять стиль ваших веб-страниц.
Например, если вы нажимаете на элемент, то его фоновый цвет должен поменяться. Это реально сделать, управляя CSS из JavaScript.
Вот пример синтаксиса:
const ele = document.querySelector("desired element");
ele.style.propertyName = value;
// E.g -
ele.style.color = red;
Когда вы меняете свойства CSS с помощью JavaScript, помните, что всякий раз, когда в CSS печатается «-», в JavaScript там будет стоять заглавная буква. Например, в CSS вы бы написали background-color, а в JavaScript – backgroundColor (с большой буквы C).
Вот пример:
const ele = document.querySelector("div");
ele.style.backgroundColor = "red";
Предположим, что вы написали код CSS для своего проекта и хотите добавить классы с помощью JavaScript. Это можно сделать с помощью classList в JavaScript.
Вот еще один пример:
const ele = document.querySelector(".link");
ele.classList.add("bg-red"); // add class bg-red to existing class list
ele.classList.remove("pb-4");// remove class bg-red from existing class list
ele.classList.toggle("bg-green"); // toggle class bg-red to existing class list which means if it already exists then it will be removed, if it doesn't exist it will be added.
classList добавляет, удаляет или переключает классы относительно какого-то элемента. Это чем-то похоже на обновление существующих классов.
В отличие от element.className, он удаляет все существующие классы и добавляет указанный класс.
И еще один пример:
const ele = document.querySelector(".link");
ele.classList.add("bg-red"); // add class bg-red to existing class list
ele.classList.remove("pb-4");// remove class bg-red from existing class list
ele.className = "p-10"; // Now this will remove all existing classes and add only "p-10 class to element."
Как использовать обработчики событий
Событие (Event) – это изменение состояния объекта. Обработка событий (Event Handling) – процесс реагирования на события.
События происходит всякий раз, когда пользователь щелкает кнопкой мыши, наводит курсор на элемент, нажимает клавишу и т.д. Поэтому, когда происходит событие, и вы хотите выполнить какое-то действие, то вы используете обработчики событий, чтобы это действие произошло.
Мы используем обработчики событий для того, чтобы выполнить определенный код, когда это конкретное событие происходит. В JavaScript есть несколько обработчиков событий, однако процесс их добавления к элементам одинаков.
Вот синтаксис:
const ele = document.querySelector("a");
ele.addEventListner("event", function(){
// callback function
});
Вот некоторые события, которые вы можете использовать:
click
mouseover
mouseout
keypress
keydown
А вот пример использования события «click» (нажатия на кнопку мыши):
const ele = document.querySelector("a");
ele.addEventListner("click", function(){
ele.style.backgroundColor = "pink";
});
Распространение событий: всплывание событий и перехват событий
Распространение событий определяет то, в каком порядке элементы будут получать события. Существует два способа обработки порядка распространения событий в DOM: всплывание событий и перехват событий.
Что такое всплывание событий?
Когда в каком-то компоненте происходит событие, то он сначала на нем запускается обработчик событий, только потом на его родительском компоненте, а затем уже и на всех остальных компонентах, которых называют предками.
По умолчанию все обработчики событий перемещаются именно в этом порядке - от события центрального компонента к событию компонента, который находится от него дальше всех.
Что такое перехват событий?
Этот способ – противоположность предыдущему. Обработчик событий запускается сначала на родительском компоненте, а уже потом на том компоненте, на котором он фактически и должен был сработать.
Проще говоря, это означает, что событие сначала перехватывается самым удаленным элементом, а затем распространяется на внутренние элементы. Также этот способ называют «просачиванием вниз».
Давайте попробуем запустить следующий пример:
Example
Этот код выдаст нам следующее:
Теперь давайте внимательно изучим приведенный выше пример. Я добавил получатель событий к тегу nav и тегу anchor. Когда вы нажимаете на nav, то цвет фона меняется на зеленый. Когда вы нажимаете на тег anchor, то цвет фона меняется на розовый.
Но когда вы нажимаете на тег anchor, то цвет фона меняется как у nav, так и у anchor. Это происходит из-за всплывания событий.
Вот что происходит, когда вы нажимаете только на элемент nav:
А вот что происходит, когда вы нажимаете только на элемент anchor:
Для того, чтобы остановить распространение событий, мы можем воспользоваться методом stoppropagation() на получателе событий, из-за которого и происходит распространение события. В таком случае в приведенном выше примере получатель событий элемента nav не сработает.
Example
Как перемещаться по модели DOM
«Хороший разработчик JavaScript должен знать, как перемещаться по модели DOM. Перемещаться по модели DOM значит выбирать один элемент из другого,» - Зелл Лью.
Теперь посмотрим, почему лучше обойти модель DOM, чем использовать метод document.querySelector(), и как это выполнить на профессиональном уровне.
Есть три способа обхода модели DOM:
Снизу-вверх
Сверху-вниз
Продольный
Как обойти модель DOM снизу-вверх
Существует два метода, которые помогут вам перемещаться по модели DOM снизу-вверх:
parentElement
closest
parentElement – это свойство, которое выбирает родительский элемент, например:
const ele = document.querySelector("a");
console.log(ele.parentElement); //
parentElement отлично подходит для того, чтобы выбрать элемент, который находится на один уровень выше. Но closest позволяет найти элемент, который может быть на несколько уровней выше текущего. closest позволяет вам выбрать ближайший элемент-предок, который соответствует селектору.
Вот пример с использованием closest:
const ele = document.querySelector(".heading");
console.log(ele.closest(".demo")); // This is heading
В приведенном выше фрагменте кода мы пытаемся получить ближайший элемент к .heading, который имеет класс .demo.
Как обойти модель DOM сверху-вниз
Мы можем перемещаться вниз, используя метод селектора children. При таком подходе вы можете выбрать прямого потомка нужного элемента.
Вот пример:
const ele = document.querySelector("div");
const child = ele.children;
console.log(child); // gives HTMLCollection
// 4 element inside div
Как обойти модель DOM продольно
Это очень интересный вопрос, как же мы можем продольно обойти DOM. В основном мы можем использовать лишь два метода:
previousElementSibling
nextElementSibling
С помощью метода previousElementSibling мы можем выбрать предшествующие элементы в HTML:
This is sample
This is heading
This heading 2
Link-1
const ele = document.querySelector("h1");
console.log(ele.previousElementSibling); // Link-1
А с помощью метода nextElementSibling мы можем выбрать последующие элементы в HTML:
Heading
Link-1
const ele = document.querySelector("a");
console.log(ele.nextElementSibling); // Heading
Heading
Предположим, у вас есть увесистый дистрибутив софта в формате .iso, гигабайт на 5, например, и вы хотите передать его через сеть партнеру. Вы загружаете его на FTP сервер и даете ссылку партнеру, мол «На, скачивай, дружище!». Ваш партнер скачивает его и работает с ним. Думаете этого достаточно? Нет. Сейчас объясним почему.
p>
Зачем сверять контрольную сумму?
Дело в том, что при загрузке файла из сети файл может прилететь к вам побитым. Да –да, вы не ослышались. Любой .iso это так или иначе, набор блоков данных. И при скачивании, а особенно по нестабильному FTP, он может «крашнуться».
И чтобы избежать этого, используется следующий алгоритм передачи файла. Его последовательность такова:
Владелец файла считает контрольную сумму рабочего файла (по MD5, например);
Загружает файл на публичное хранилище и передает контрольную сумму получателю файла;
Получатель файла скачивает файл, считает его контрольную сумму на своей стороне и сверяет ее с оригинальной, которую посчитал владелец файла;
Получатель и Владелец кидают смешные стикеры в Telegram друг другу из стикерпака про лягушку Пепе.
Как работает контрольная - простым языком
Контрольная сумма - результат некой хэш – функции. Запомнили. Далее, что такое хэш – функция? Это функция, которая получает на вход массив данных, «прокручивает» эти данные по определенному алгоритму и дает на выходе битовую строку, длина которой задана заранее.
Не вдаваясь в подробности сложных алгоритмов, так это и работает:
Массив данных на вход (файл);
Магия внутри;
Контрольная сумма на выходе!
Как рассчитать контрольную сумму?
Будем использовать криптографическую функцию MD5. Скачиваем утилиту WinMD5Sum по ссылке: https://sourceforge.net/projects/winmd5sum/. Установите ее и идем дальше.
Итак, вот мой заветный дистрибутив. Лежит в папке:
Запускаем WinMD5Sum:
Тут все предельно просто. Просто в поле File Name выбираем наш дистрибутив и нажимаем кнопку Calculate.
Зачастую, как только вы выберите файл в поле File Name через кнопку поиску (три точки), то подсчет хэша начнется без нажатия на кнопку Calculate.
Огонь. Копируйте значение из поля MD5 Sum и сохраняйте себе отдельно. Теперь, по легенде, мы берем этот файл и отправляем другу/партнеру/коллеге. Выкладываем файл на FTP, а контрольную сумму передаем ему отдельно – по смс, емаил, в чате. Далее, давайте рассмотрим процесс с точки зрения получателя файла.
Как сверить контрольную сумму?
Мы получили файл и его контрольную сумму. Как ее проверить? Все так же, как и при расчете контрольной суммы! Сначала считаем контрольную сумму скачанного файла:
С одним лишь отличием. Теперь мы берем контрольную сумму которая была посчитана ранее, вставляем ее в поле Compare и нажимаем кнопку Compare:
Вот и все. Наша контрольная сумма совпала, а это значит, что файл во время загрузки поврежден не был. Иначе, мы бы получили вот такое значение:
Дотфайлы (dotfiles) – это немаловажные файлы, которые могут сыграть ключевую роль в вашей карьере разработчика программного обеспечения.
Во-первых, они могут помочь вам быть более продуктивными. Но и это не все– вы сможете использовать эту настройку, которую вы создали для себя лично, на любом компьютере.
Эта статья – это введение в работу с дотфайлами.
Вы узнаете, что это такое, как их можно найти в вашей системе и как создать пару простых дотфайлов. К тому же, я поделюсь некоторыми советами и ресурсами, которые помогут в настройке параметров и расширят ваши познания.
Приступим!
Что такое дотфайл?
Большое количество компьютерных программ хранят свои параметры конфигурации в простых текстовых файлах или каталогах.
Дотфайлы – это файлы конфигурации для различных программ. Эти файлы помогают им управлять своими функциональными возможностями.
Отличает их от обычных файлов и каталогов их префикс.
Дотфайлы имеют такое название из-за того, что каждый файл и каталог начинается с точки (.).
В Unix-подобных системах дотфайлы по умолчанию скрыты операционной системой.
Примеры самых распространенных дотфайлов
Большая часть программ по умолчанию хранит свои конфигурации в вашем корневом каталоге.
Ниже приведены некоторые самые распространенные дотфайлы, о которых вы, возможно, слышали или которыми даже пользовались:
Если вы используете оболочку Bash, то у вас могут быть файлы
.bash_profile
и
.bashrc
. Каждый из этих файлов включает в себя сценарии, которые загружаются при каждом запуске нового сеанса терминала и настройке оболочки.
Если вы используете оболочку Zsh (это новая оболочка по умолчанию для MacOS), то у вас должен быть (или вы должны были создать) файл
.zshrc
, который задает настройки для оболочки.
Если вы используете редактор кода командной строки Vim, то его настройки должны быть сохранены в файле
.vimrc
.
После того, как вы установили и настроили Git на вашем локальном компьютере, у вас должен был появиться файл
.gitconfig
, который содержит всю вашу информацию и настройки.
Большое количество программ не хранят свои конфигурации в вашем корневом каталоге, они хранят их в скрытом каталоге (папке)
.config
в вашей системе.
Как найти дотфайлы?
В Finder корень вашего домашнего каталога может выглядеть примерно следующим образом:
Но вы уже видели, что в компьютерных системах хранится гораздо большее количество файлов – часть из них по умолчанию скрыты.
Для того, чтобы просмотреть дотфайлы в Finder, перейдите в корень вашего домашнего каталога и удерживайте одновременно клавиши
Command Shift
.
И вы увидите большое количество дотфайлов, которые вы создали сами или которые были созданы при установке программного обеспечения.
Чтобы просмотреть дотфайлы через командную строку (а именно так вы будете использовать их и именно там вы будете чаще всего с ними взаимодействовать), вам потребуется несколько дополнительных этапов для поиска.
Команда list -
ls
, которая выводит список всех файлов и каталогов в текущем каталоге, по умолчанию не показывает дотфайлы, даже несмотря на то, что они там могут быть.
Для начала вам нужно перейти в свой домашний каталог. Если вы находитесь не там, то чтобы туда переместиться, можете воспользоваться командой
cd
.
Затем воспользуйтесь командой
ls
с флагом
-a
, который расшифровывается как
all
:
ls -a
Если вы хотите увидеть дополнительные биты информации о своих файлах, то вы также можете воспользоваться флагом
-l
. С его помощью можно получить список файлов и каталогов в длинном формате, а также сведения о дате и времени их создания, их размере и т.д.
ls -la
В результате вы увидите все файлы и каталоги – и скрытые тоже, - которые находятся в вашем текущем домашнем каталоге.
Каждый файл и каталог, который начинается с точки, - это дотфайл.
Для чего нужен дотфайл?
Ваши дотфайлы – это ваши личные файлы.
Вы тратите уйму времени на точную настройку. Вы тщательно подбираете конфигурации и настройки, чтобы они самым лучшим образом соответствовали вашей организации рабочего процесса, эстетическим и другим предпочтениям. И в результате вы получаете среду разработки, которая помогает лично вам быть более продуктивным.
А что, если после всего этого потраченного времени вам придется перейти на новый, другой, компьютер? И вам придется все делать заново?
А как вы запомните точные настройки и команды, которые вы использовали?
Или что, если у вас есть второй компьютер, и вы хотите, чтобы обе системы были одинаково настроены?
Одна из основных целей разработчиков – автоматизация повторяющихся задач.
Если вы создадите репозиторий дотфайлов, который будет контролироваться системой контроля версий и будет размещен на GitHub, то сэкономите ваше время в случае, если вы захотите настроить новый компьютер и установить точно такие же настройки, которые вы уже создали для своего предыдущего компьютера.
Тем самым все ваши настройки и предпочтения можно будет использовать повторно и воспроизводить на других компьютерах.
Как создавать дотфайлы?
Как настроить папку для хранения ваших дотфайлов?
Рекомендуется хранить все свои дотфайлы в отдельной папке.
Для простоты понимания я покажу пример создания папки в корне вашего домашнего каталога. Но вы можете добавить папку куда вам удобно.
Также я продемонстрирую пример того, как можно создать файлы
.zshrc
и
.vimrc
. При этом для того, чтобы создать любые другие дотфайлы, потребуются аналогичные действия.
Перейдите в свой домашний каталог (
cd
) и создайте каталог под названием
dotfiles
, который будет хранить все ваши файлы конфигурации:
mkdir dotfiles
Для того, чтобы создать дотфайлы, воспользуйтесь командой
touch
и передайте этой команде имя/имена файла/файлов в качестве аргумента. Имя файла/имена файлов должны начинаться с точки.
Для того, чтобы создать файлы
.zshrc
и
.vimrc
в каталоге
dotfiles
, выполните следующее:
touch ~/dotfiles/.zshrc ~/dotfiles/.vimrc
Если эти файлы уже существуют в вашей системе, и вы просто хотите их переместить в каталог
dotfiles
, то вы можете это сделать с помощью команды
mv
:
mv ~/.zshrc ~/dotfiles/
Первый аргумент – это текущий путь к файлу. Тильда (
~
) расшифровывается как домашний каталог. По умолчанию именно там находится большая часть скрытых файлов конфигурации.
Второй аргумент – это путь, по которому вы хотите переместить файл. В данном случае мы хотим переместить его в каталог
dotfiles
, который находится в нашем домашнем каталоге.
Тоже самое можно сделать и для файла
.vimrc
:
mv ~/.vimrc ~/dotfiles/
А чтобы просмотреть файлы, выполним следующее:
ls -a dotfiles
. .. .vimrc .zshrc
Если у вас есть эти файлы, то вы можете добавить в них все свои желаемые конфигурации.
Что такое псевдонимы и функции?
Один из способов усовершенствовать организацию рабочего процесса и повысить продуктивность – сократить время, которое тратится на ввод часто используемых команд. Это можно сделать путем создания клавиш быстрого доступа.
Псевдонимы – это комбинации клавиш для команд терминала. Они представляют собой более короткую версию длинной команды.
Как разработчик, вы часто будете использовать Git, поэтому рекомендуется создавать псевдонимы для Git, чтобы сэкономить на длинных и повторяющихся командах.
Еще один способ сэкономить время – это упростить процессы.
Вы можете объединить две команды в одну, создав отдельную линию поведения, которая бы выполняла одну конкретную задачу. Это можно сделать с помощью функций.
Вот одна полезная функция, которую можно создать: объединение команды для создания нового каталога (
mkdir
) и команды для перехода в новый каталог (
cd
).
В таком случае вы создадите папку и сразу же перейдете в нее – и все это произойдет за один этап.
Эта функция будет выглядеть следующим образом:
function mkcd() {
mkdir -p "$@" && cd "$_";
}
Вы можете добавить как псевдонимы, так и функции к вашему дотфайлу
.zshrc
, а можете создать для низ отдельные файлы:
.aliases
и
.functions
.
Как связать символическими ссылками ваши дотфайлы?
Вы могли заметить, что ни одна из настроек, которые вы добавили в файлы в папке
dotfiles
, никак не повлияли на вашу систему.
Файлы конфигурации программы, как уже было сказано ранее, по умолчанию скрыты и хранятся в корневом каталоге. Именно здесь программа будет искать свои настройки и считывать их.
Именно поэтому рекомендуется связать символическими ссылками (или создать символическую ссылку (symbolic link) - указатель) файл в каталоге
dotfiles
, где вы храните свои настройки наряду с другими созданными вами файлами, с файлом в его корневом каталоге по умолчанию.
Это будет выглядеть так, как будто файл одновременно находится в двух местах!
Файл будет находиться в каталоге
dotfiles
, но при этом его «копия» также будет располагаться в корневом каталоге.
Для того, чтобы создать ссылку, воспользуйтесь командой
ln
(разворовывается как «link») с флагом
-s
(который расшифровывается как «simbolic»).
Ниже показано, как связать символическими ссылками файлы
.zshrc
и
.vimrc
:
ln -s ~/dotfiles/.vimrc ~/.vimrc
ln -s ~/dotfiles/.zshrc ~/.zshrc
Это позволит программам, которые вы используете, знать, где, в общем случае, находятся их файлы конфигурации – снова в домашнем каталоге.
ls -l ~/.zshrc
lrwxr-xr-x 1 dionysialemonaki staff 39 Oct 21 18:30 /Users/dionysialemonaki/.zshrc -> /Users/dionysialemonaki/dotfiles/.zshrc
Если посмотреть на данные файла
.zshrc
, то можно увидеть, что файл, который расположен в корневом каталоге, указывает на файл в каталоге
dotfiles
. Значок
->
обозначает символическую ссылку.
Процесс связывания символическими ссылками всех ваших дотфайлов вручную – достаточно трудоемкий процесс и быстро может стать утомительным и скучным, если вы добавляете в папку все больше дотфайлов.
Для того, чтобы упростить процесс, можно создать сценарий оболочки, который будет автоматизировать вызов команды
ln -s
для дотфайлов, которые вы создаете, или можно воспользоваться специальной программой.
Как управлять версиями ваших дотфайлов?
Контроль версий ваших файлов может помочь вам отслеживать все изменения, которые вы со временем вносите в них, а также позволит делиться ими на GitHub.
Убедитесь, что вы сменили каталог на
dotfiles
(
cd dotfiles
).
Придерживайтесь следующих пунктов, чтобы привести в порядок ваши файлы в репозитории Git:
Инициализируйте репозиторий:
git init
Добавьте все созданные вами до настоящего времени файлы:
git add .
Зафиксируйте изменения и добавьте сообщение о завершении:
git commit -m "Added dotfiles"
Как разместить свои дотфайлы на GitHub?
Убедитесь, что вы вошли в свой аккаунт GitHub.
Теперь, создайте новый репозиторий:
Назовите его и нажмите «Create repository» («Создать репозиторий»).
Далее, добавьте следующее в командную строку:
git remote add origin url
#where 'url',the GitHub url of the repository you previously created
#ending in .git
И наконец,
git push -u origin main
Теперь вы можете делиться своими дотфайлами онлайн!
Заключение
Готово! Теперь вы знаете основы работы с дотфайлами! Я надеюсь, что для вас этот урок был полезен.
Ваш проект с дотфайлами, скорее всего, будет с вами на протяжении всей вашей карьеры и будет расти по мере того, как будут увеличиваться ваши знания о самих дотфайлах. И он будет меняться, когда методом проб и ошибок вы будете узнавать все больше о том, что вам нравится и что не нравится в вашей организации рабочего процесса и настройках среды разработки.
