Давайте создадим веб-сайт-портфолио, который выглядит как Терминал.

Ты программист? Вам нравится программировать? Вы когда-нибудь пользовались Терминалом? Вы хотите, чтобы веб-сайт портфолио выглядел как Терминал?

Что ж, этим мы и займемся в этой статье.

Начнем с самого результата. То, что мы собираемся здесь построить, я использую для своего веб-сайта творческого портфолио. Пойдите и проверьте следующую ссылку. Откройте следующую ссылку в новой вкладке, я подожду ...

Похоже на это.

Не хотите переходить по новой ссылке? Вы пропустите что-то грандиозное, но в любом случае вот изображение.

Тебе понравилось? Хотите построить это для себя? Тогда читайте дальше ...

Итак, это мое личное портфолио веб-сайтов, которое я разместил на страницах GitHub. Вы также можете разместить его на страницах GitHub Pages или использовать другую службу, которая развертывает ваш код с GitHub (бесплатно!), Например Netlify.

Если вы хотите использовать GitHub Pages, перейдите в GitHub, создайте новый репозиторий и назовите его [ваше-имя пользователя] .github.io.

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

Если вы не хотите использовать GitHub Pages, вы можете дать репозиторию любое имя.

Теперь перейдем к коду.

Сначала давайте сделаем HTML-файл для вашей веб-страницы. Код html очень прост для понимания, поскольку большая часть магии, которую мы будем делать, заключается в JavaScript или CSS.

Я назвал этот файл index.html для этого. Код будет таким:

<html> 
  <head> 
    <title>CodeNerve</title> 
    <script type="text/javascript"  src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
    <link rel="stylesheet" type="text/css" href="index.css">
  </head> 
  <body> 
    <script type="text/javascript" src="index.js"> 
    </script> 
    <div id="console"></div> 
    <script type="text/javascript", src="index2.js">
    </script>
  </body> 
</html>

Это простой HTML-код, который составляет основу нашего портфолио.

Теперь мы можем немного улучшить его внешний вид и сделать его похожим на терминал. Вот где CSS - наш спаситель. Для CSS мы сделаем фон черным, текст терминала - белым, а «метки» - ярко-зелеными.

Код файла CSS index.css будет выглядеть примерно так:

body {
	background-color: #000
}

#console {
	font-family: courier, monospace;
	color: #fff;
	width:750px;
	margin-left:auto;
	margin-right:auto;
	margin-top:100px;
	font-size:14px;
}

a {
	color: #0bc;
	text-decoration: none;
}

#a {
	color: #0f0;
}

#c {
	color: #0bc;
}

#b {
	color: #ff0096;
}

#k {
    	animation: change 1s;
}

#op{
    	color: #888888
}

@keyframes change {
    	0%  { color:  #0f0; }
    	50% { color:  #0f0; }
    	99% { color: black; }
}

После этого мы должны написать код для автоматического набора текста и самого текста. Во-первых, давайте займемся автоматическим вводом текста, который мы сделаем с помощью JavaScript.

Код файла index.js будет выглядеть примерно так:

var Typer={
	text: null,
	accessCountimer:null,
	index:0, 
	speed:2,
	file:"", 
	accessCount:0,
	deniedCount:0, 
	init: function(){
		accessCountimer=setInterval(function(){Typer.updLstChr();},500); 
		$.get(Typer.file,function(data){
			Typer.text=data;
			Typer.text = Typer.text.slice(0, Typer.text.length-1);
		});
	},
 
	content:function(){
		return $("#console").html();
	},
 
	write:function(str){
		$("#console").append(str);
		return false;
	},
 
	addText:function(key){
		
		if(key.keyCode==18){
			Typer.accessCount++; 
			
			if(Typer.accessCount>=3){
				Typer.makeAccess(); 
			}
		}
		
    		else if(key.keyCode==20){
			Typer.deniedCount++; 
			
			if(Typer.deniedCount>=3){
				Typer.makeDenied(); 
			}
		}
		
    		else if(key.keyCode==27){ 
			Typer.hidepop(); 
		}
		
    		else if(Typer.text){ 
			var cont=Typer.content(); 
			if(cont.substring(cont.length-1,cont.length)=="|") 
				$("#console").html($("#console").html().substring(0,cont.length-1)); 
			if(key.keyCode!=8){ 
				Typer.index+=Typer.speed;	
			}
      		else {
			if(Typer.index>0) 
				Typer.index-=Typer.speed;
			}
			var text=Typer.text.substring(0,Typer.index)
			var rtn= new RegExp("\n", "g"); 
	
			$("#console").html(text.replace(rtn,"<br/>"));
			window.scrollBy(0,50); 
		}
		
		if (key.preventDefault && key.keyCode != 122) { 
			key.preventDefault()
		};  
		
		if(key.keyCode != 122){ // otherway prevent keys default behavior
			key.returnValue = false;
		}
	},
 
	updLstChr:function(){ 
		var cont=this.content(); 
		
		if(cont.substring(cont.length-1,cont.length)=="|") 
			$("#console").html($("#console").html().substring(0,cont.length-1)); 
		
		else
			this.write("|"); // else write it
	}
}

Этот приведенный выше код типизирует то, что мы видим на терминале. Теперь давайте установим скорость набора и сделаем URL-адрес похожим на url.

Добавьте следующий код под приведенным выше кодом в том же файле index.js.

function replaceUrls(text) {
	var http = text.indexOf("http://");
	var space = text.indexOf(".me ", http);
	
	if (space != -1) { 
		var url = text.slice(http, space-1);
		return text.replace(url, "<a href=\""  + url + "\">" + url + "</a>");
	} 
	
	else {
		return text
	}
}

Typer.speed=3;
Typer.file="[your-name].txt"; // add your own name here
Typer.init();
 
var timer = setInterval("t();", 30);
function t() {
	Typer.addText({"keyCode": 123748});
	
	if (Typer.index > Typer.text.length) {
		clearInterval(timer);
	}
}

Теперь все настроено для нашего сайта-портфолио. Наслаждаться!!

Но ждать,

Где текст, который мы хотим иметь? Разумеется, какой-либо из приведенных выше кодов не дал текст для ввода, и конечно же, это не ML или AI, который получит текст для нас автоматически .

Поэтому создайте файл с вашим именем в качестве имени файла с расширением .txt. Имя файла должно иметь вид [ваше-имя] .txt.

Добавьте следующие данные и замените текстом, который хотите включить в свое портфолио.

<span id="a">your-first-name@your-last-name</span>:<span id="b">~</span><span id="c">$</span> cd CodeNerve/<!-- laglaglaglaglaglag -->About_Us
<span id="a">your-first-name@your-last-name</span>:<span id="b">~</span><span id="c">$</span> cat <!-- laglaglaglaglaglaglaglaglag -->[your-name].txt<br/><br/>
My favorite code quote, "<span id="k">Quote you like</span>". <!-- sjkfhskjf -->

Hey There! This is the portflio website in the skin of a terminal.<!-- laglaglaglaglaglaglaglaglaglaglaglag --><p>You can see that, this is how your portfolio would look like.</p>
<p>You can introduce yourself here.</p> <!-- bitlagbitlagbitlagbitlagbitlagbitlag -->
<p> You can also tell what you've worked and known and what skills you have, you can also give link to your professional portfolio here<a href="link"> portfolio</a>.</p><!-- delaydelaydelaydelaydelaydelaydelay -->
<p>Tell more about yourself. <br><br><br>Give your project links or something like that. <a href="link"> Here you go</a>.</p><!-- moredelaymoredelaymoredelaymoredelaymoredelaymoredelay-->
<p> You can give links to other professional profiles you have on Internet, here: <br> <a href="link1">Profile1</a> <br> <a href="link2">Profile2</a> and <br> <a href="link3">Profile3</a>.</p>

You can also give your email ID for contacting you<!-- slightdelayhere-->, feel free to send me an email at<!-- longlonglongcomment --><a href="Your email ID">Email</a>.

<p>Cheers!</p>

И мы все сделали, теперь точно :)

Вы можете найти полный исходный код для этого здесь.

Если вы использовали страницы GitHub, ваш веб-сайт будет отображаться по адресу [your-username] .github.io.

Если вы использовали не GitHub Pages, а такой веб-сайт, как Netlify. Затем перейдите в Netlify, войдите в систему и нажмите зеленоватую кнопку с надписью новый сайт от git.

Разверните код с GitHub, и он предоставит вам URL-адрес, по которому находится ваш сайт.

Вы создали себе личный сайт в оболочке Терминала.

Чего вы ждете? Иди и покажись !!

Прочтите мой предыдущий пост о создании приложения для отслеживания взгляда и распознавания лиц для начинающих.