แแแแ แแ แ แฌแแแก แแแแแแแแแแแจแ แฃแคแ แ แแแขแแ แฉแแแแ แแ แแแแฃแแแแขแแชแแแจแ. แแฎแกแแ-แแแแแแ แขแแแแแ แขแแฅแกแขแแก แแแฌแแ แ แแแแก แจแแกแแฎแแ, แแฃ แ แแแแ แแฃแจแแแแก แแแแแ แแขแฃแแ แกแแกแขแแแ, แแแแแแแ แกแแแแแแ แแแ แขแแแแ. แแแแแ แแแแก แแแฎแแขแแ, แ แแแแแแช แแฉแแแแแแก แงแแแแ แซแแ แแแแ แแแแแฅแขแก แแ แแ แแแแแฅแขแแแก แจแแ แแก แแแแจแแ แแแก, แแกแแแ แกแแแแแแ แแแ แขแแแแ.
แแแแ แแ แงแแแแแแ แแ แแแแแแฃแ แ แแกแแแฅแขแ แแ แแก แแ แแแแฃแแแแขแแชแแแก แแแแแฎแแแแ. แแ แขแแฅแกแขแ แแแ แแ แแฅแแแแแแ, แแแแ แแ แแแแแ แแแแแ... แแแแขแแ... แงแแแแ แแแแฃแแแแขแแชแแ แแ แแก แแแแแแ, แ.แ. html แคแแ แแแขแจแ, แจแแแแแ แขแแฅแกแขแก แแฎแแแแก gif/jpeg/png แกแฃแ แแแแแ, แ แแแแแแจแแช แ แแแแฃแ แแ แฉแแแก แแแแแ แแแแแ. แแ แแแแแ แแแแแ แจแแแแแแแแแ แกแฎแแแแแกแฎแแ แแ แแแ แแแแแจแ, แ แแแแ แแชแแ Visio แแ แแแแแแ แกแแ แแแกแแแ a la draw.io. แจแแแแแ แแฅแแแ แแฌแแ แแแแแ แแแแแ แแแแก แแ แแคแแแฃแ แคแแ แแแขแจแ แแ แแแแญแแแ แแแก html-แแ. แฒแก แแแ แขแแแแ.
แ แ แแ แแก แแ แแแแแแ?
แกแฅแแแแแ แฉแแแฃแแแแ แแ แแแ แขแแแแ. แฃแคแ แ แกแฌแแ แแ, แแ แช แแกแ แ แแฃแแ. แแแแฎ, แแแแแฅแขแแแแก แ แแแแแแแแ แแ แแก แแแแฃแแ แแ แแ แ, แแแแจแแ แแแแก แ แแแแแแแแ แแแแฎแแแแแแ แแแแแแ. แแแฃแก แฎแแแแแฌแแ แแแ, แแแแแแ แแ แแฆแแแจแแแ. แแแ แขแแแ แกแฅแแแแแ แจแแแซแแแแ แกแแขแงแแแแแ แแงแแก แแฆแฌแแ แแแ, แแแแ แแ แแแแแแขแแ แ แแฃแแ, แแฐแแ... (แ) โแแแ แแแแแแแแ, แแแขแแแโ. แแแแ แ แกแฅแแแแ, แแแแจแ แชแแแแแแแแแแ แกแแญแแ แ แแแ แแแแฃแแแ, แแแแแแแฃแ แแ, แ.แ. แแฃแแแแแแ แแแแขแแ แแกแแแ แแแแแงแฃแ แก แแแแแแแแแ แฉแแแแ แแ แแแฃแฅแชแแแก แแแแแแแแ แแแแก.
แจแแแแซแแแแ แฉแแ แแแ แกแแ แแแกแแก html. แกแชแแแ?
แฒแ, แ แ แแฅแแ แฃแแแ. แแแแแแแแแ, แแ แแแแฌแแแก gliffy.com-แแก แแ แแคแแแ. แแแแ แแ แชแแแแแแแแแแก แจแแกแแขแแแแ, แแฅแแแ แฃแแแ แแแแแฎแแแแแ แแแกแแแ แแฎแแ แแก แกแแ แแแกแแ แแ แแฅ แแแแ แแแแฅแขแแ แแ. แแ แฃแคแ แ แ แแฃแแแ แแแแแแแกแแแแก แจแแกแฌแแ แแแแแแก แแแแแแแ แแแ.
แ แ แฃแแแ แแแแแแแแแ?
แแฎแแแฎแแ แ แแแแแแแแแชแแแแจแ แฌแแแแฌแงแแ Github-แแ แแ แกแแแฃแ แกแแชแแแก
แกแฎแแแแ แจแแ แแก, แแ แแฌแแ แแแแฃแแแแขแแชแแแก แแ แ แแแแแแแแ html-แจแ. แ แแแแ แช แฌแแกแ, แแแแฃแแแแขแแชแแ แแ แแก แคแแแแแแแก แแ แแแแแแแแ แแแ แแแ แแแฃแแ แขแแฅแกแขแแ, แ แแแแแแช แจแแแแแ แแแ แแแแฅแแแแแ แแแแฃแแแแขแแชแแแก แกแ แฃแแคแแกแแแแ แกแแแขแแ แแแแแแ แแ แซแ แแแแก แแแแ , แแแแแแแแแ, แแแแแแ แ. แแ แแแแ แกแแกแขแแแ.
แแแแแแแก แซแแแแแ แแแกแแฎแแ แฎแแแแแ: แฉแแแ แแแแฌแแ แแ แขแแฅแกแขแ, แจแแแแแ แแฎแกแแแแ แกแแ แแแขแแก แขแแแ แแ แแแกแจแ แแฆแฌแแ แแแแ แกแฅแแแแก JS แแแแ.
แแกแแ แ แแกแ แแ แแแแ?
แแ แแแแแฌแแแ แแก แกแแชแแแ, แแแแ แแ แแก แแ แแ แแก แแ แแแแแ แแ แแแแแแแแ, แ แแแแกแแช แแแแแ แแแ แจแแแแแแแแแ แแแแแก แแ แขแแฅแกแขแแก แฌแแ แแแแแแแแก แแแแแงแแแแแแ. (แกแขแแขแแแก แแแแแก แแฅแแแแ แแแฃแแแแ แแ แแแฅแขแแแแกแ แแ แกแขแแขแแแแแก แจแแกแแฎแแ, แ แแแแแแแช แแ แแฃแแแจแ แแแแแซแแ แแแแแก แแแแแ แแแแแ แแแแแก แกแแฎแแ.)
แแ แแ แแ แแแ แแ แแแแแ แแ, แแแแช แแแกแฌแแ แแ แแแแฃแแแแขแแชแแแก. แฎแแแแแฎแแ แแแแแแแแแช แฎแแแก แฃแฌแงแแแแ - แจแแแกแฌแแ แแ แกแแขแงแแ, แจแแชแแแแแ แแฆแฌแแ แ, แฉแแแแ แแฎแแแ แกแฃแ แแแแแ.
แแแแขแแ, แแ แแกแฃแ แก แแแฎแแก แแแแแ แแแ แฌแแกแแแแแฎแแ, แแแกแแแแแ แขแแฅแกแขแแก แคแแ แแแขแจแ, แ แแแแแแช แแ แกแแญแแ แแแแก แกแฌแแแแแก แฎแแแแ แซแแแ แแ แฃแแก. แแแแแแ แ แแแแแแแก แแ แจแแแแซแแแแ แฃแแ แแแแ แแแแแแแแ แแ-แแแกแขแ, แ แแแ แแแแฉแฅแแ แแ แแฎแแแ แแแแ แแกแฅแแแแก แแแแแขแแแ.
แแ แแแแแ แแ แแแ แแแแแแแ แแฆแแแจแแ, แ แแ แแแแ, แ แ แแฅแแ แฃแแแ, แแแ แแแ, แแแแ แแ แแฃ แแงแแแแแ แกแขแ แฃแฅแขแฃแ แแก, แงแแแแแคแแ แ แจแแแซแแแแ แแงแแก แซแแแแแ แแแแชแ แ แแ แแแแแแฎแแขแแแแ.
แแแแขแแ, แแ แจแแแแชแแแ แฌแแ แแแแแแแแแ แแแแแ แแแ, แ แแแแ แช แ แแแแแแแแ แแแขแแ แ แแแกแแแแก แแแแ แแแ, แ แแแแแแช แแฆแฌแแ แก แแแแแซแแแก, แแแแจแแ แแแก, แแแแแซแแแแก แฏแแฃแคแแแก, แแกแแแ แแแแแซแแแแก แแแแแแแแแแแ แแแแแก. แแฆแแแฉแแแ, แฉแแแ แแแแ แซแแแแแฃแแ แแแ แแ, แกแแแแแแ แแแกแแฎแแ แฎแแแแแ, แแฃแแชแ, แ แ แแฅแแ แฃแแแ, แแแแ แแ แคแแ แ...
แ แแแแ แแ แแก แแก แแแแแ แแแ แแแกแแแจแ?
- แแแแแแฃแแ แแแแแซแ แแฆแฌแแ แแแแ แแแแแขแแคแแแแขแแ แแ, แ แแแแแแช แชแแแกแแฎแแ แแแแกแแแฆแแ แแแก แแแแแซแก.
- แแฅแแแ แแกแแแ แจแแแแซแแแแ แแแแแแขแแ แฎแแขแ แแแแแซแจแ แแ แแแแแแขแแ แฌแแ แฌแแ แ.
- แแฅแแแ แจแแแแซแแแแ แแแฃแแแแแ แฃแ แแแแ แแแแ แแ แแแแแซแก แจแแ แแก.
- แแแแแ แแแแแ แแแแฃแแแแแชแแแกแแแแก แจแแแแซแแแแ แแแแงแแแแ แคแแ แ แแ แฌแแ แฌแแ แ.
- แแแแฃแแแแแชแแแก แแแแแ แแฃแแแแ แแแแแกแแแฆแแ แแแ แ แแแแ แช แฌแงแแ แแแแ แแแแแแแแ. แแ แฌแงแแ แ แแ แกแแแแแแ แแแแแแแแฃแแแ แแแแแซแแก แแแแแขแแคแแแแขแแ แแแแ.
- แแ แแ แแ แแแขแ แแแแแซแ แจแแแซแแแแ แแแแแแขแแก แฏแแฃแคแก.
- แฃแ แแแแ แแแแ แแกแแแ แจแแแซแแแแ แแแแแกแแแฆแแ แแก แ แแแแ แช แฏแแฃแคแแแแ แแกแแแ แฏแแฃแคแแกแแแแก.
แแ แแแ แขแแแ แฌแแกแแแแก แแแแแงแแแแแแ, แฉแแแ แแแฆแแแ แจแแแแแ แแแแแ แแแแก. แฒฃแแ แแแแ? แกแแแแแแ.
แแ แแก แแฆแฌแแ แแแแ แจแแแแแแ js แแแแแ. แแฅ แแแแแแ แแ แแแแแแแขแแแแก แแแแแฅแขแ. แ แแแแแแจแแช แแแแแแแแฃแแแ แแแแแซแแแ - แแแแแซแแแ, แแแแแแแ - แแแแจแแ แแแ.
const elements = {
nodes: [ // ะพะฟะธััะฒะฐะตะผ ัะทะปั
{ id: 'client', type: 'smartphone', label: 'Mobile App'},
{ id: 'server', type: 'server', label: 'Main Server'},
{ id: 'db1', type: 'database', label: 'DB 1'},
{ id: 'db2', type: 'database', label: 'DB 2'},
],
edges: [ // ัะบะฐะทัะฒะฐะตะผ ัะฒัะทะธ
{ source: 'client', target: 'server', label: 'request' },
{ source: 'server', target: 'db1', label: 'request' },
{ source: 'server', target: 'db2', label: 'request' },
],
};
Diagram('scheme1', elements);
แ แ แแฅแแ แฃแแแ, แแ แแแแแแ แแ แแแแแแแแแแ แแแแ แแกแฅแแแแก แแแฎแแแ, แแแแ แแ แแแแแแแงแแแ แแแแแแแแแแ
แแแ แแ, แแก แแแ แขแแแ แแแแแแแแแ. แจแแแซแแแแ แฃแคแ แ แ แแฃแแ แแงแแก?
แฒแแแฎ, แแฃ แจแแแซแแแแ. แแแแแชแแแแแก แแฆแกแแแแจแแแแแ แแแงแแแแแ แแแแแชแแแแก, แฏแแฃแคแแแแก แแฆแกแแแแจแแแแแ แแแแฃแแแแแแ แฏแแฃแคแแแแก แฉแแแแแแแแแแก แแ แแแแแ แแแแแแแขแแแก แแฅแแ แฏแแฃแคแแก แแขแ แแแฃแขแ.
แแ แแก แแ แแก แแแแ:
<div id="scheme5" style="height:500px;width:800px;"></div>
<script>
const elements5 = {
groups: [
{ id: 'g1', label: 'ะััะฟะฟะฐ ัะตัะฒะธัะพะฒ 1'},
{ id: 'g2', label: 'ะััะฟะฟะฐ ัะตัะฒะธัะพะฒ 2'},
],
nodes: [
{ id: 'man1', type: 'person', label: 'ะงะตะปะพะฒะตะบ'},
{ id: 'client', type: 'smartphone', label: 'ะกะผะฐัััะพะฝ'},
{ id: 'agent-backend', type: 'server', group: 'g1', label: 'agent-backend'},
{ id: 'web', type: 'server', group: 'g1', label: 'ะัะธะปะพะถะตะฝะธะต admin'},
{ id: 'www', type: 'server', group: 'g1', label: 'ัััะฐะฝะธัะฐ ะทะฐะณััะทะบะธ'},
{ id: 'mongodb1', type: 'database', group: 'g1', label: 'Mongo DB 1'},
{ id: 'mongodb2', type: 'database', group: 'g1', label: 'Mongo DB 2'},
{ id: 'runner-integration1', type: 'worker', group: 'g1', label: 'ะพัะฟัะฐะฒะบะฐ'},
{ id: 'runner-integration2', type: 'worker', group: 'g1', label: 'ะพัะฟัะฐะฒะบะฐ'},
{ id: 'api', type: 'server', group: 'g1', label: 'API'},
{ id: 'server2', type: 'server', group:'g2', label: 'ัะตัะฒะตั'},
{ id: 'otherServer', type: 'server', group:'g2', label: 'ัะตัะฒะตั'},
{ id: 'firebase', type: 'cloud', label: 'Google Firebase'},
],
edges: [
{ source: 'client', target: 'agent-backend', label: 'json', color: 'red' },
{ source: 'agent-backend', target: 'mongodb1', color: 'red' },
{ source: 'agent-backend', target: 'mongodb2', color: 'red' },
{ source: 'mongodb1', target: 'runner-integration1', label: 'ะดะฐะฝะฝัะต' },
{ source: 'mongodb2', target: 'runner-integration2', label: 'ะดะฐะฝะฝัะต' },
{ source: 'mongodb1', target: 'web', label: 'ะดะฐะฝะฝัะต ะดะปั ะพัะพะฑัะฐะถะตะฝะธั' },
{ source: 'runner-integration1', target: 'server2', label: 'ะดะฐะฝะฝัะต' },
{ source: 'runner-integration2', target: 'otherServer', label: 'ะดะฐะฝะฝัะต' },
{ source: 'api', target: 'firebase', label: 'ะทะฐะฟัะพัั', color: 'blue', },
{ source: 'firebase', target: 'client', label: 'push', color: 'blue'},
{ source: 'server2', target: 'api', label: 'ัะฒะตะดะพะผะปะตะฝะธั', color: 'blue'},
{ source: 'man1', target: 'client', },
],
positions: [
{ id: 'client', row: 2, col: 1,},
{ id: 'agent-backend', row: 2, col: 3,},
{ id: 'web', row: 6, col: 3,},
{ id: 'www', row: 1, col: 3,},
{ id: 'mongodb1', row: 1, col: 4,},
{ id: 'mongodb2', row: 2, col: 5,},
{ id: 'runner-integration1', row: 3, col: 3,},
{ id: 'runner-integration2', row: 4, col: 3,},
{ id: 'api', row: 5, col: 3,},
{ id: 'server2', row: 6, col: 7,},
{ id: 'otherServer', row: 4, col: 7,},
{ id: 'firebase', row: 5, col: 1,},
{ id: 'logger', row: 2, col: 7,},
{ id: 'crm', row: 5, col: 8,},
],
};
Diagram('scheme5', elements5, {layout: 'grid'});
</script>
แแ แแแก แแฎแ แแ, แแกแแแ แกแฅแแแ แแ แแก แแแแแก แแแแฅแแแก แ แแแแแแแแ แแแ แแแ แแแแขแแแแ, แแแแ แแก แแฎแ แแ, แกแขแ แฃแฅแขแฃแ แ a la json แกแแจแฃแแแแแแก แแแซแแแแ แจแแแแกแแ แงแแแแ แแแแแชแแแ แแแแแแแแแ, แกแฌแ แแคแแ แแ แจแแแแซแแแแ แแแแแแแแ แแ-แแแกแขแ.
แ แแขแแ แแ แแก แแแแแแแกแแแฃแแ แแแแแชแแแแ แแแแแซแแแแกแแแ แแแแชแแแแแแแแแ?
แฃแคแ แ แแแแคแแ แขแฃแแแ. แแแ แแแ แ แแแจแ แแแแฃแกแขแแแ แแแแแซแแแก. แจแแแแแ แฉแแแ แจแแแแแซแแแ แแแแแกแแแฆแแ แแ แ แแแแแแแแ แฏแแฃแคแ แแ แแแแฃแแแแแ แแกแแแ แแแแแซแแแจแ. แจแแแแแ แฉแแแ แแแแจแแแแ แแแแจแแ แแแก. แแ แแฎแแแแ แแแจแแ, แ แแแแกแแช แแแแแแ แ แแแแแฅแขแแแ แแ แแแ แจแแ แแก แแแแจแแ แแแ แแ แกแแแแแก, แฉแแแ แแแฆแแแ แแ แแแแแฅแขแแแแก แแแแแแ แแแแแก แแแแแ แแแแแ. แฒแ แแแ แแฅแแ.
แจแแกแแซแแแแแแแ แแฃ แแ แ แแแแแชแแแแแก แแแ แแจแ?
แแแแแชแแแแแก แแแ แแจแแช แจแแกแแซแแแแแแแ. แแแแ แแ แแก แชแแขแแแ แแแญแงแแแขแแแ แแฅแแแแ; แแฅแแแ แจแแแแซแแแแ แแแฎแแ แแก แแแ แแแแขแ แแแแแแแแแแจแ. แแก แแแแแฌแแแฃแแแ แแแแ, แ แแ แแ แกแแแแแก แชแแขแแกแแแแแกแแแแก แแแแแซแแแแก แแแแแแแแแแแ แแแแแก แแแแแ แแแแ
แแแแแชแแแแ แแกแแแ แจแแแซแแแแ แแแแแแแแฃแแ แแงแแก แกแแแ แซแแแ แฎแแแแแแแก แกแขแแแจแ. แแแแ. แแ แแ แแแแแซแ แแแแแแ แแแแก a1-แจแ, แฎแแแ แแแแ แ d5-แจแ. แแก แแแแกแแแฃแแ แแแแ แแฎแแแ แแแ, แ แแ แชแแขแแกแแแแแ แขแแแแแ แแ แกแแแฃแ แแแแแฅแขแแแก แแแซแ แแแก แฎแแแก, แ.แ. แฉแแแ แจแแแแแซแแแ แแแแ แแแแแขแแแ, แจแแแฎแแแแ แแแแแแแแแแก แกแฎแแแแแกแฎแแ แแแ แแแแขแแแก แแ แจแแแแแ แแแแแคแแฅแกแแ แแ แแ แแแแแแแขแแแแก แแแแแแแแแ, แ แแแแแแแช แแแแแฌแแแก แแแแจแ.
แแแแแแแ, แแแกแแแแแแ. แแกแแแ แจแแแแซแแแแ แกแชแแแแ?
แ แ แแฅแแ แฃแแแ, แกแฅแแแแแแก แกแฌแ แแคแแ แจแแกแแฅแแแแแแ, แแ แแแแฎแแ แแแขแแ แ
แกแชแแแ? แแฎแแ แจแแแแซแแแแ แแแแแแขแแ แแก แแฅแแแแก แแแแ แแแ.
แฒจแแแแแ แแกแแ:
1. แกแแ แแแขแแก แแแแแแจแแ แแแ
<script src="https://unpkg.com/@antirek/[email protected]/dist/code-full.min.js"></script>
2. แแแแแแขแแ แแแแ html-แจแ
<div id="scheme1" style="height:300px;width:800px;"></div>
<script>
const elements = {
nodes: [
{ id: 'client', type: 'smartphone', label: 'Mobile App'},
{ id: 'server', type: 'server', label: 'Main Server'},
{ id: 'db1', type: 'database', label: 'DB 1'},
{ id: 'db2', type: 'database', label: 'DB 2'},
],
edges: [
{ source: 'client', target: 'server', label: 'request' },
{ source: 'server', target: 'db1', label: 'request' },
{ source: 'server', target: 'db2', label: 'request' },
],
};
Diagram('scheme1', elements);
</script>
3. แฉแแแ แแแกแฌแแ แแแ แแแแก แฉแแแแแแแก แกแแญแแ แ แแแแแ แแแแแ (แแคแแฅแ แแ, แ แแ แฃแคแ แ แแแแแแแ, แแแแ แ แแฃแก แแแฎแแขแแ :)
แแแแแขแแแแแ แแแขแแแแแ แแฅ
แจแแแแแ?
แแ แแแแแฆแฌแแ แฉแแแก แแแแแแแก - แแแแฃแแแแขแแชแแแก แแแแแแแขแ แแแแแแ แแแแแ แแแแแ, แคแแ แแแขแ แกแแแแแแ แแแ แขแแแ แแ แแแกแแแแแแ. แแก แแ แแ แแก แจแแกแแคแแ แแกแ แกแฃแแแ แกแฅแแแแแแกแแแแก, แแแแ แแ แแชแแ แ แกแฅแแแแแแกแแแแก, แ แแแแแแแช แฎแกแแแแ แแแแจแแ แแแแก แกแขแ แฃแฅแขแฃแ แแก, แแก แแแกแแแฃแขแฃแ แแ แแแ แแแ. แแฅแแแ แงแแแแแแแแก แจแแแแซแแแแ แกแฌแ แแคแแ แจแแชแแแแแ แแ แจแแชแแแแแ แ แแฆแแช แแ แแแ แแแแแแแแแแแจแ. แแแแฎ, แแ แแแแแแแแก แจแแฃแซแแแแ แแแแแ แจแแแกแฌแแ แแ แ แแฆแแช แแแแจแ, แกแฃแ แแชแแ แ แฌแแ แฌแแ แแแ แแแแแฅแขแแแแกแแแแก, แกแแแชแแแแฃแ แ แแแแแแแแแแก แแแ แแจแ))
แ แ แจแแแซแแแแ แแแฃแแฏแแแแกแแแก?
แแฅ, แ แ แแฅแแ แฃแแแ, แแแแ แ แแแ แแแแขแแ. แแแแแแขแแ แแแแแขแแแแแ แฎแแขแแแ (แงแแแแ แแ แกแแแฃแแ แแแแแขแแแฃแแแ แกแแ แแแขแจแ). แแแ แฉแแแ แฎแแขแแแแก แฃแคแ แ แแแแแฎแแขแฃแแ แแแแ แแแ. แจแแกแแซแแแแแแ แแแฎแแแแ แแแแจแแ แแก แฎแแแแก แกแขแแแแก แแแแฃแกแขแแแ. แแแแแแขแแ แคแแแแก แกแฃแ แแแ.
แฒ แแก แคแแฅแ แแ?
แแ แฃแแแ แแแฅแแก แ แแแแแแแแ แแแแ แกแแแแแฎแแแจแ แแแแกแแฎแแ แชแแแแแแแแ, แแกแแแ แจแแแแซแแแแ แแแแแแขแแ แแฅแแแแ แแแแแแขแแ แแแจแ.
แฉแแแ แแแแแฌแงแแแขแ แแแแแแแแแ แแแแแกแแงแแแแแแแแ แแ แแแแแแแแแก แแแฌแ แ แแแแแแแแแจแ แแ, แแแแแ, แแฅแแแ แแแแแแ แแแแแ แแแแแแก แแแฎแแขแแแก แฃแคแ แ แแแกแแฎแแ แฎแแแแ แฎแแแกแแฌแงแแก แแแ แฃแแ แแแแ แแแแแ แแแแ - แ แแแแ แช แแแแแแแ, "แแแฉแแแแ แจแแแ แแแแแ แแแ แ แแแแ แช แแแแ".
แกแแกแแแแแแแ แแ แฉแแแแแ แแแแ แกแแ แแแกแ (9 แขแแแแก แแแแแ แแแแแ แแแแแแ แ แแแแฅแขแแ แ)แ แ แแฅแแ แฃแแแ, mermaid.js - แแ แแฃ แแแแฌแแแ แกแฃแแแ แแแขแแแฃแ แ แแ แ แแฃแแ แแแแแ แแแแแ, แแแจแแ แแฃแชแแแแแแแ แแฆแคแ แแแแแแแแฃแแ แแฅแแแแแ แแ แแ แแแฅแขแแ:
แฌแแแ.แแแฎแแแ.แแแข
แฌแงแแ แ: www.habr.com