Skip to content

fabiosperotto/linuxJS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

Linux JS

Este projeto não é nada sério, é um terminal baseando em Linux feito puramente com Javascript. Faz referência ao bash, entretanto, ainda é incipiente. Em um futuro pode haver interação com PHP para manipulação de arquivos (até o presente momento não existem editores de texto).

LinuxJs

Trabalha em cima da lib termlib de N. Landsteiner. Dentro do projeto tem o arquivo termlib.zip onde o autor original fornece uma documentação e exemplos de uso. Vários tópicos da documentação não funcionam mais, provavelmente o Landsteiner deve ter retirado algumas funcionalidades.

Pra quem não conhece os trabalhos do Landsteiner: JS/UIX complete terminal e Google BBS Terminal.

Estrutura

termlib.js:

  • Faz a manipulação de Javascript e CSS em uma div, transformando-a em um terminal.

init_terminal.js:

  • Inclui novos arquivos js na página;
  • Inicializa o terminal, baseado nos exemplos da documentação.
  • Configura o terminal para não guardar históricos de comandos repetidos sequencialmente, posicionamento XY do terminal no navegador, tamanho em colunas e linhas do terminal. Também ativa o wrapping necessário para inserir múltiplas linhas de texto no terminal.

A partir destes dois arquivos um terminal já é instanciado na página, entretanto não tem funcionalidade alguma. Então foi desenvolvido o seguinte:

bash.js:

  • É a classe responsável em interpretar os comandos inseridos no terminal.
  • Ao digitar um comando e pressionar enter, um objeto de bash.js é instanciado para receber o comando e chamar o método referente ao mesmo, que retorna o resultado da execução para o próprio terminal. O ponto de partida e retorno estão nas linhas 52 e 53 da função termHandler() do arquivo init_terminal.js.

man.js:

  • Classe responsável em fornecer a documentação dos comandos existentes. Referência a man pages do Linux. Exemplo:

Man Page

  • index.html: página inicial do projeto com exemplo de utilização da <div> com terminal, veja também a folha de estilo style.css para formatos do terminal.

About

Terminal baseado em Linux feito em Javascript.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published