Сохранен 20
https://2ch.hk/pr/res/1621690.html
Прошлые домены не функционирует! Используйте адрес ARHIVACH.VC.
24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

Тестовое задание

 Аноним 03/03/20 Втр 10:27:50 #1 №1621690 
4f4242212e3cbb4ac05ce5756540a449.png
Гайз ай нид ёр хелп, плиз

Сверстайте страницу (стилевое оформление на свое усмотрение), разделенную пополам. В левой части страницы разместите поле для ввода текста. В правой половине отведите место место для вывода результата.

Ваше приложение должно преобразовать вводимый текст (из левой части), преобразовать его в HTML и отобразить в правой части страницы по определенным правилам:

# Заголовок - вся строка, которая начинается с символа # помещается в тег <H1/>. При переходе на новую строку, тег H1 закрывается. Символ # удаляется из этой строки.
Жирный текст - Текст помещенный между становится жирным, то есть помещается в тег<b/>, символы удаляются из этой строки.
Курсив - Текст помещенный между становится курсивным, то есть помещается в тег <i/>, символ удаляется из этой строки.
Перенос строки заменяется на <br>

Иначе говоря, с правой стороны должен появиться красивый сверстанный текст.

Каким образом можно реализовать? Хотелось бы через PHP это всё прогнать.
Аноним 03/03/20 Втр 10:31:57 #2 №1621693 
>>1621690 (OP)
> сверстайте
> PHP
Мы вам перезвоним.
Аноним 03/03/20 Втр 10:43:36 #3 №1621706 
>>1621693
Ну а на чём реализовать. Помоги лучше бро
Аноним 03/03/20 Втр 10:54:40 #4 №1621712 
>>1621690 (OP)
Это не возможно, в html есть только тэг hr горизонтальная линия, вертикально разделить нельзя.
Аноним 03/03/20 Втр 18:00:53 #5 №1622084 
>>1621693
Да запросто - отправляешь формой на сервер по клику, а тот ответ присылает. Можно без перезагрузки страницы реализовать - ажаксом.
Можно на чистом жс распарсить.

Верстать можно на гридах, флексах или бутстрапе его лучше не надо на этом задании.

Я бы за час-два сделал в любом виде - я сам ждун в поисках первой работы.
Аноним 04/03/20 Срд 07:22:32 #6 №1622639 
Где вы вообще такие тестовые берёте? Я что ни постучусь на вакансию, то всякие круды на Ларавель пилить надо или баги править на куске реального проекта. И это только тестовые.
Аноним 04/03/20 Срд 10:02:03 #7 №1622684 
я когда-то такую фигню делал проходя фрикодкэмповский курс, там использовалась либа https://marked.js.org/#/README.md#README.md
Аноним 04/03/20 Срд 11:35:47 #8 №1622744 
>>1622684
Я бы точно не брал человека, который для простой задачи по вёрстке ноду ставит.
Аноним 04/03/20 Срд 17:06:03 #9 №1622994 
Тащемт js может и должен это всё прямо на странице сделать, нахера для такого сервер?
Сверстаю на изи если давать остальную работу и платить зарплату тоже будут мне
Аноним 05/03/20 Чтв 07:34:11 #10 №1623520 
image.png
>>1622994
>нахера для такого сервер?
Аноним 05/03/20 Чтв 07:42:09 #11 №1623521 
>>1622744
тебя то как взяли если ты читать даже не умеешь, у нее cdn

<script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script>
Аноним 05/03/20 Чтв 07:44:25 #12 №1623523 
>>1623521
Да мне не интересно читать доки по очередному велосипеду.
Бесполезная хуйня.
Аноним 06/03/20 Птн 03:02:34 #13 №1624784 
1546162168190.webm
>>1621690 (OP)
Запилил за полчасика, не обессудь что на крестах.
Аноним 06/03/20 Птн 05:06:46 #14 №1624807 
>>1624784
сейчас он с твоей утилитой возьмет и устроится
Аноним 06/03/20 Птн 05:15:31 #15 №1624813 
>>1624807
Только порадуюсь за такой результат.
Аноним 06/03/20 Птн 15:51:19 #16 №1625080 
>>1621690 (OP)
Держи братюня https://codepen.io/satorini/pen/XWbzbVG
Аноним 06/03/20 Птн 16:13:08 #17 №1625112 
>>1624784
Это где так пишут вообще?
мимо-крестовик-ньюфаг
Аноним 06/03/20 Птн 17:22:34 #18 №1625179 
>>1625112
Да ладно там же все просто и понятно.
1-2. инклюды чтобы строки и консолька работали
3-4. разработчики юникода и шиндоус мудаки, поэтому копипаста чтобы utf-16 работало
5. ненужный инклюд забыл убрать
6. конфиг. половинная ширина терминала (подобранная методом проб и ошибок)
7. функция для перевода символа юникода в его смещение относительно буквы А
8. функция добавления символа к строке с учетом текущих тегов.
9. если нет тегов или символ не конвертируемый, добавить как есть
10. если символ в нижнем регистре, то доп.смещение. потому что авторы юникода мудаки
11. автоматически высчитываемое смещение в зависимости от текущих тегов.
12. фикс пропущенных символов. потому что авторы юникода мудаки.
13. добавление к строке суррогатной пары. потому что авторы юникода и шиндоус мудаки.
15-16. глобальные переменные, вынесены туда из мейна для простоты.
17. функция, дописывающая к строке накопленные символы незавершенного тега. есть бага.
18. псевдохешмап, на два валидных и один невалидный тег
19. главная функция
20. копипаста чтобы utf-16 работало, потому что авторы юникоды и шиндоус мулаки.
21. цикл, считывающий строку целиком из консольки и сбрасывающий переменные
22. цикл для всех сивмолов в строке. есть бага.
23. если самый первый символ строки #, то вход в режим заголовка. сам # не добавляется к строке
24. добавление к строке символа в режиме заголовка
26. конечный автомат микропарсера тегов
27. в начальном состоянии, если символ открытия тега, то следующее состояние
28. иначе символ добавляется к строке с учетом текущих тегов
29. в состоянии ожидания буквы тега, если /, то переход в состояние закрывающегося тега
30. в состоянии ожидания буквы тега или закрывающегося тега, запомнить букву тега
31. в случае незавершенного тега, записать сохраненные символы.
32. в состоянии окончания открывающего или закрывающего тега, если тег валиден, то (кроме случая, когда тег не был открыт) увеличить или уменьшить счетчик активных тегов. И сбросить состояние конечного автомата.
33. как 31.
36. завершение последнего незакрытого тега в строке
37. обрезать обработанную строку по полуширине терминала
38. выровнять строку пробелами до полуширины терминала и отделить вертикальной чертой
39. вывести обработанную строку и подготовиться к вводу новой строки, вернув каретку в начало.
40. повторить весь цикл ввода.
Аноним 12/03/20 Чтв 08:49:45 #19 №1630761 
Спасибо всем кто не помог.
Сделал на js, с помощью регулярных выражений. Спасибо Stack Overflow и Google.
>>1625179
Ну ты и даун.
>>1625080
Спасибо бро, вот именно так и запилил. Почёт и уважение.
Аноним 14/04/20 Втр 09:58:00 #20 №1657557 
>>1621690 (OP)
>Сверстайте страницу (стилевое оформление на свое усмотрение),
В /web.
comments powered by Disqus