• Инструменты для подбора цвета?

    @Vit632 Автор вопроса
    accountnujen

    дело раскрыто. цвета меняет pdf редактор. Открывай Pdf файлы в браузере

    Выполнил:
    - открыл файл в браузере;
    - ткнул пипеткой;
    - результат: см. ниже;
    Вывод: вроде тоже самое...
    Я правильно вас понял?

    Цвет из ПДФ файла
    RGBA (Red, Green, Blue, Alpha) = 239, 235, 224, 255
    HSB (Hue, Saturation, Brightness) = 44,0°, 6,3%, 93,7%
    CMYK (Cyan, Magenta, Yellow, Key) = 0,0%, 1,7%, 6,3%, 6,3%
    Hex (RGB, RGBA, ARGB) = #EFEBE0, #EFEBE0FF, #FFEFEBE0
    Decimal (RGB, RGBA, ARGB) = 15723488, -269754113, -1053728
    Cursor position (X, Y) = 622, 639


    Цвет из Браузера.
    RGBA (Red, Green, Blue, Alpha) = 239, 235, 224, 255
    HSB (Hue, Saturation, Brightness) = 44,0°, 6,3%, 93,7%
    CMYK (Cyan, Magenta, Yellow, Key) = 0,0%, 1,7%, 6,3%, 6,3%
    Hex (RGB, RGBA, ARGB) = #EFEBE0, #EFEBE0FF, #FFEFEBE0
    Decimal (RGB, RGBA, ARGB) = 15723488, -269754113, -1053728
    Cursor position (X, Y) = -1074, 712
  • Инструменты для подбора цвета?

    @Vit632 Автор вопроса
    @accountnujen
    В браузере вбей chrome://flags/#force-color-profile. Должно стоять Default (у тебя скорее всего сейчас sRGB). После этого цвет будет тот, который ты задал

    Стоит Дефолт... Я ничего не менял
  • Как правильно организовать переход по страницам?

    @Vit632 Автор вопроса
    WapSter,

    ejs шаблонизатор смотри как у него вставляются переменные. Заведи где-то конфиг какой у тебя текущий домен и вставляй эту переменную

    Это решение не пробовал...

    Заработало решение, которое в ответе....

    Решил пробовать ещё раз через несколько часов...
    Т.е. запустил другой проект, потом вернулся к этому... И заработало...
    Хотя в прошлый раз вроде выполнял перезагрузку страницы c использованием Ctrl+F5 в Chrome.
  • Как правильно организовать переход по страницам?

    @Vit632 Автор вопроса
    WapSter
    1. Установил "/". Не помогает.
    Выполнил:
    - в pageoneone.ejs

    <h1>PageOneOne</h1>
     
    <a href="/pageone" >-=PageOne=-</a> </br>
    <a href="/" >`Index`(Главная)</a> </br>


    2. Как в коде будет выглядеть использование прямых ссылок?
    Использовать прямые ссылки


    Картинки к п.1
    62fc676ae5d61446761867.png
    62fc677596711503511659.png
    62fc677f4ef42411919640.png
  • Как подключить Bootstrap через nmp?

    @Vit632 Автор вопроса
    IgorGross
    Извините, можно подробнее... Что имеете ввиду?
  • Как фильтровать список без перезагрузки страницы?

    @Vit632 Автор вопроса
    ThunderCat
    критерии это что? просто текст по совпадению с титлом?


    -----
    Обновление-1
    Критерием для фильтра является текст.
    Фильтрация осуществляется по полю: `title`
    В данном примере текущее содержание поля `title`, текст типа "Articles-...' ", является условным.
    В будущем в поле может находится словосочетание из нескольких слов ( как текстовый заголовок, так и ФИО и т.д. по аналогии).
  • Как нанести метки на картинку?

    @Vit632 Автор вопроса
    iBird Rose,
    А с HTML как быть? В смысле сама вёрстка...
    Что применить?

    Я начинающий... Не знаю как подступиться...
  • Как нанести метки на картинку?

    @Vit632 Автор вопроса
    @Dr_Elvis
    Где можно найти картинки таких флажков?
    Как они называются?
    Геометка?
    Может есть какие сайты с такими картинками для HTML?
  • Как нанести метки на картинку?

    @Vit632 Автор вопроса
    iBird Rose
    Сайт будет отображаться на одном устройстве - 43 дюйма.
    Тогда наверное адаптивность не нужна?

    Где можно найти картинки таких флажков?
    Как они называются?
    Геометка?
  • Как правильно разместить картинки на странице?

    @Vit632 Автор вопроса
    что вы хотите сделать? сверстать так, чтобы на мониоре люого размера выглядело как на картинке? текст слева, 4 картинки справа?

    Да.
    Или хотя бы на мониторе 43дюйма
  • Как правильно разместить картинки на странице?

    @Vit632 Автор вопроса
    ForSureN1,
    Чё-то с наскоку не получается разобраться с гридом..
    Я даже в вашем решении для фото понять логику не могу как распределяются блоки по сетке......
    Продолжаю смотреть документацию...
    Вы бы не могли для примера набросать сетку для моего макета?
    А как там три кнопки вертикально разместить?
  • Как правильно разместить картинки на странице?

    @Vit632 Автор вопроса
    ForSureN1,
    "бутстрапом не пользуюсь, если вы до сих пор плаваете по структуре"
    Вопрос.1
    Я запутался... Бустрапы, Гриды, Флексы...
    Это всё различные методологии(технологии) для вёрстки
    Что порекомендуете использовать?
    Если можно ключевые слова для поиска, ссылки.. Спасибо...
  • Как правильно разместить картинки на странице?

    @Vit632 Автор вопроса
    ForSureN1,

    Я вроде так и сделал...
    А оно всё в кось и кривь...
    Вопрос-1.
    С помощью каких блоков это делать?
    Так: div "container-fluid" --> div class="row" --> div class="col" ?

    <!-- Bootstrap 5  -->
    <!-- body --- --- --- --- --- --- --- --- --- -->
    <body>
        <div class="container-fluid bg-primary">
            <div class="row bg-primary">
                <!-- Col-1 === === === === === === === === === === === -->
                <div class="col bg-danger sidebar">      
                    Column-Left
                    <div class="row ">                    
                    </div>
                    <div class="row ">                             
                    </div>          
                    <div class="row">
                        Текст
                    </div>
                </div>
                <!-- Col-1.END === === === === === === === === === === ===  -->
                <!-- Col-2.  === === === === === === === === === === === -->
                <div class="col-4 bg-warning sidebar">
                    Right                                
                </div>
    			<!-- Col-2.END  === === === === === === === === === === === -->  
            </div>
        </div>
    </body>

    Вопрос-2.
    Как вы определили размеры блоков для фото?
    Их замерять нужно или на глаз?
  • Как правильно разместить картинки на странице?

    @Vit632 Автор вопроса
    @ForSureN1
    Извините, а как это применить в моём случае?
    https://jsfiddle.net/User65659/sdzpk4hq/33/
  • Как сделать главное меню в виде дерева?

    @Vit632 Автор вопроса
    Владимир,
    Очень прошу извинить, но я только начинаю разбираться...
    Может у вас есть возможность подробнее описать, что делать?
    Не понимаю, что и зачем выводить в консоль?

    Я так понимаю, что мне нужно
    - создать меню. Выполнить рекурсию...
    - по клику по элементу меню обновить элемент страницы(например div) без перезагрузки страницы.

    Как это собрать в одну систему не понимаю...
  • Как сделать главное меню в виде дерева?

    @Vit632 Автор вопроса
    Не могли бы вы добавить деталей...
    Где размещать этот код?
    В app.js?
    Как это использовать?

    Обновление.
    В вопрос добавил код файла app.js
  • Почему возникает ошибка You have tried to call .then(), .catch()?

    @Vit632 Автор вопроса
    Dmitriy Grape,
    Vit632, как я понял, вызовы вроде db.article.getById не возвращают промис, а вы пытаетесь применить к ним await.

    Понял... Буду разбираться....

    Я тут подумал...
    Может проблема в разногласии версий чего либо с чем-то?
    Версии Node, пакетов...

    Пример: проект сделан в одной версии Node, а я установил Node.js v18.7.0.
    При установке было окно с чекбоксом "Automatically install the necessary tools." я его установил false.
    Я правильно сделал?

    62e37a7202264599902303.png
  • Почему возникает ошибка You have tried to call .then(), .catch()?

    @Vit632 Автор вопроса
    Обновление-2
    Поиск .then(), .catch() await

    62e2f940cd12c120278283.png



    Обновление-2
    \db\connection.js
    const mysql = require('mysql2');
    const config = require('../config.json');
    const connection = mysql.createConnection({
      host: config.mysql.host,
      user: config.mysql.user,
      password: config.mysql.password,
      database: config.mysql.db,
      charset: 'utf8_general_ci',
      multipleStatements: true
    });
    
    connection.connect();
    
    module.exports = connection;


    Картинка. Поиск "mysql2"
    62e2fc79e3636394753657.png
  • Почему возникает ошибка You have tried to call .then(), .catch()?

    @Vit632 Автор вопроса
    Картинка: поиск .then(), .catch() await

    62e2f992adacf110903413.png
  • Почему возникает ошибка You have tried to call .then(), .catch()?

    @Vit632 Автор вопроса
    …\controllers\main.js

    const db = require('../db');
    const fs = require('fs');
    const path = require('path');
    const config = require('../config.js');
    class Main {
    
      async video(req, res, next) {
        const videoFolder = './static/video'
        let videos = []
    
        fs.readdirSync(videoFolder).forEach((file) => {
          let extension = path.extname(file)
          let filename = path.basename(file, extension)
    
          videos.push({
            file,
            filename: parseInt(filename),
          })
        })
    
        videos = videos.sort((a, b) => {
          return a.filename - b.filename
        })
    
    
    
        return res.render('video', {
          domain: config.express.domain,
          videos,
        })
      }
    
        async panomuseum(req, res) {
        const article = await db.article.getByID(req.params.lang);
        const sub = await db.article.getRoot(req.params.lang);
        const files = await db.files.getByOwnerId(req.params.lang);
    
        const lang = await db.lang.getById(req.params.lang);
    
        return res.render('panomuseum', {
          article,
          sub,
          files,
          lang
        });
      }
    
      async panomuseum2(req, res) {
        const article = await db.article.getByID(req.params.lang);
        const sub = await db.article.getRoot(req.params.lang);
        const files = await db.files.getByOwnerId(req.params.lang);
    
        const lang = await db.lang.getById(req.params.lang);
    
        return res.render('panomuseum2', {
          article,
          sub,
          files,
          lang
        });
      }
    
      async panotheatre(req, res) {
        const article = await db.article.getByID(req.params.lang);
        const sub = await db.article.getRoot(req.params.lang);
        const files = await db.files.getByOwnerId(req.params.lang);
    
        const lang = await db.lang.getById(req.params.lang);
    
        return res.render('panotheatre', {
          article,
          sub,
          files,
          lang
        });
      }
    
      async index(req, res) {
        const article = await db.article.getByID(req.params.lang);
        const sub = await db.article.getRoot(req.params.lang);
        const files = await db.files.getByOwnerId(req.params.lang);
    
    
        const lang = await db.lang.getById(req.params.lang);
        const timeout = await db.settings.getByID("timeout");
        const caption = await db.settings.getByID("caption");
    
    
        return res.render("index", {
          article,
          sub,
          files,
          lang,
          timeout,
          caption,
          domain: req.app.get("domain"),
        });
      }
    
      async menu(req, res) {
        return res.render("menu", {
          domain: req.app.get("domain"),
        });
      }
    
      async slideshow(req, res) {
        const slideshow = await db.files.getSlideshow();
        const timer = await db.settings.getByID("timer");
    
        return res.render("slideshow", {
          slideshow,
          timer,
          domain: req.app.get("domain"),
        });
      }
    
      async slide(req, res) {
        const slideshow = await db.files.getByID(req.params.id);
        const timer = await db.settings.getByID("timer");
    
        return res.render("slideshow", {
          slideshow: [slideshow],
          timer,
          domain: req.app.get("domain"),
        });
      }
    
      async article(req, res) {
        const article = await db.article.getByID(req.params.id);
        const sub = await db.article.getSub(req.params.id);
        const files = await db.files.getByOwnerId(req.params.id);
        const id = req.params.id;
        const lang = await db.lang.getById(req.params.lang);
        const timeout = await db.settings.getByID("timeout");
        const caption = await db.settings.getByID("caption");
    
        return res.render("index", {
          id,
          article,
          sub,
          files,
          lang,
          timeout,
          caption,
          domain: req.app.get("domain"),
        });
      }
    
      
      async lang(req, res) {
        const langs = await db.lang.getAll();
    
        let activeCount = 0;
    
        for (let lang of langs) {
          if (lang.value == 1) {
            activeCount++;
          }
        }
    
        if (activeCount == 0) {
          return res.redirect("/0");
        } else if (activeCount == 1) {
          for (let lang of langs) {
            if (lang.value == 1) {
              return res.redirect("/" + lang.id);
            }
          }
        }
    
        const timeout = await db.settings.getByID("timeout");
    
        return res.render("lang", {
          langs,
          timeout,
        });
      }
    
      async openSlide(req, res) {
        console.log("openSlide");
        let files = await db.files.getSyncSmartHome();
    
        parentIO.sockets.in("client").emit("goToUrl", {
          message: "/slide/" + files[parseInt(req.params.id)].id,
        });
    
        return res.json({
          success: true,
        });
      }
    
      async openSlideshow(req, res) {
        console.log("open slideshow");
    
        parentIO.sockets.in("client").emit("goToUrl", {
          message: "/slideshow",
        });
    
        return res.json({
          success: true,
        });
      }
    }
    
    module.exports = new Main();