Один из вариантов - использовать String.raw
, что позволит вам вводить одиночные обратные слеши в строке без двойного экранирования.Обычно для использования литерального обратного слеша в строке сначала необходимо его экранировать, например, '\\'
- это строковый литерал с единственным обратным слэшем в нем.Но String.raw
позволяет вам набирать в точности так, как вы хотите, чтобы строка была .
Единственная проблема заключается в том, что разделители String.raw
являются обратными чертами, которые могут быть экранированы только внутришаблонный литерал с обратной косой чертой перед каждым обратным тэгом, поэтому, чтобы правильно выровнять изображение, замените все обратные черты другим символом, таким как ~
, в то время как пишет искусство, а затем замените все ~
s с обратными чертами после.
Кроме того, используйте <pre>
s с полем 0, чтобы сохранить правильное выравнивание при отображении текста в браузере:
const fortniteArt = String.raw`
,---,
,~--.' |
,---,. ___ ___ | : :
,' .' | ,--.'|_ ,--, ,--.'|_ ' ' ;
,---.' | ,---. __ ,-. | | :,' ,---, ,--.'| | | :,' | | |
| | .' ' ,'\ ,' ,'/ /| : : ' : ,-+-. / || |, : : ' : ' : ;
: : : / / |' | |' |.;__,' / ,--.'|' |~--'_ .;__,' / ,---. | | '
: | |-,. ; ,. :| | ,'| | | | | ,' |,' ,'| | | | / \ ' : |
| : ;/|' | |: :' : / :__,'| : | | / | |' | | :__,'| : / / |; | ;
| | .'' | .; :| | ' ' : |__ | | | | || | : ' : |__ . ' / |~---'. |
' : ' | : |; : | | | '.'|| | | |/ ' : |__ | | '.'|' ; /| ~--..~;
| | | \ \ / | , ; ; : ;| | |--' | | '.'|; : ;' | / |.--,_
| : \ ~----' ---' | , / | |/ ; : ;| , / | : || |~.
| | ,' ---~-' '---' | , / ---~-' \ \ / ~-- -~, ;
~----' ---~-' ~----' '---~
`;
const htmlStr = "" + (
fortniteArt
.replace(/~/g, '`')
.split('\n')
.slice(1) // remove first empty line, which is there for spacing reasons
.map(line => `${line}
`) .join ('')) + '';$ ('. Terminal'). append (htmlStr);
pre {
margin: 0;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="terminal"></div>