ls support for files
This commit is contained in:
parent
2651eba0f9
commit
254385faee
|
@ -1,7 +1,7 @@
|
|||
div#resume_js_app {
|
||||
background: #212121;
|
||||
width:800px;
|
||||
height:600px;
|
||||
width:1000px;
|
||||
height:800px;
|
||||
border: 1px solid #e1e1e1;
|
||||
border-radius: 6px;
|
||||
font-family: monospace;
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
"memfs": "^3.4.13",
|
||||
"react": "^18.2.0",
|
||||
"react-dom": "^18.2.0",
|
||||
"unionfs": "^4.4.0",
|
||||
"xterm": "^5.1.0",
|
||||
"xterm-for-react": "^1.0.4",
|
||||
"xterm-js-shell": "^1.1.3"
|
||||
|
|
|
@ -4,7 +4,11 @@ let cmds = {
|
|||
'cmdls': require('./cmds'),
|
||||
'help': require('./cmds'),
|
||||
'ls': require('./ls'),
|
||||
'skills': require('./skills')
|
||||
'skills': require('./skills'),
|
||||
|
||||
|
||||
// alias l='ls -l'
|
||||
'l': (a,t) => {require('./ls')([...a, '-l'], t)},
|
||||
};
|
||||
|
||||
module.exports = cmds;
|
|
@ -26,7 +26,7 @@ module.exports = (argv, terminal) => {
|
|||
|
||||
// remove .* files if -a not specified
|
||||
if (!all)
|
||||
directories = directories.filter(x => x.startsWith('.'));
|
||||
directories = directories.filter(x => !x.startsWith('.'));
|
||||
|
||||
// remove arguments
|
||||
directories = directories.filter(x => !x.startsWith('-'));
|
||||
|
@ -38,23 +38,30 @@ module.exports = (argv, terminal) => {
|
|||
|
||||
directories.forEach((dir, i) => {
|
||||
|
||||
if (!fs.lstatSync(dir).isDirectory()) {
|
||||
terminal.write(dir);
|
||||
return;
|
||||
}
|
||||
|
||||
if (directories.length != 1) {
|
||||
terminal.writeln(dir + ':');
|
||||
terminal.writeln('');
|
||||
}
|
||||
|
||||
if (!fs.existsSync(dir)) {
|
||||
terminal.writeln(`${argv[0]}: cannot access '${dir}': No such file or directory`);
|
||||
return;
|
||||
}
|
||||
let files = fs.readdirSync(dir);
|
||||
files.forEach((file, i) => {
|
||||
|
||||
if (!fs.accessSync(file, fs.constants.X_OK))
|
||||
terminal.write('\033[1;32m');
|
||||
if (fs.accessSync(file, fs.constants.R_OK))
|
||||
terminal.write('\033[35m');
|
||||
|
||||
if (!long_format)
|
||||
terminal.write(file + '\033[0m ');
|
||||
else
|
||||
terminal.writeln('drwx-xr-x 1 nobody nobody 4.0K Jan 1 13 01:00 ' + file);
|
||||
if ((i+1) % 5 == 0)
|
||||
terminal.writeln('');
|
||||
});
|
||||
terminal.writeln('');
|
||||
})
|
||||
terminal.writeln('');
|
||||
}
|
|
@ -1,4 +1,20 @@
|
|||
const fs = require('../fs');
|
||||
|
||||
module.exports = (argv, terminal) => {
|
||||
|
||||
if (argv.indexOf('--help') != -1) {
|
||||
terminal.writeln(`Usage: ${argv[0]}\nShows my skills info`);
|
||||
return;
|
||||
}
|
||||
|
||||
if (argv[1] != undefined) {
|
||||
const file = 'skills/' + argv[1];
|
||||
if (!fs.existsSync(file))
|
||||
return;
|
||||
terminal.write(fs.readFileSync(file));
|
||||
return;
|
||||
}
|
||||
|
||||
terminal.write(`
|
||||
My skills
|
||||
|
||||
|
@ -10,6 +26,7 @@ Learn more: \x1b[4;32mskills web\x1b[0m
|
|||
\x1b[1;33m[## ] 40% Native C/C++/Rust\x1b[0m
|
||||
Not really my zone of work but its really fun to
|
||||
make something with these in spare time.
|
||||
Learn more: \x1b[4;32mskills nt\x1b[0m
|
||||
|
||||
\x1b[1;38:5:244m[ ] 0% Being cis\x1b[0m
|
||||
Never liked it
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
module.exports = {
|
||||
'/skills/web': `
|
||||
My web experience
|
||||
I don't really know anything about web development,
|
||||
but I have some projects which are presented below:
|
||||
|
||||
blek! Site: Second rewrite of my website. https://github.com/b1ek/blekSite
|
||||
blek! ID: An auth server. https://github.com/b1ek/blekID
|
||||
blek! Bin: A pastebin alternative. https://git.blek.codes/blek/bin
|
||||
homepage.js: Third rewrite of my website. https://git.blek.codes/blek/homepage.js
|
||||
`
|
||||
}
|
|
@ -1,4 +1,8 @@
|
|||
const { fs } = require('memfs');
|
||||
const { fs, vol } = require('memfs');
|
||||
fs.writeFileSync('README.md', 'uwu');
|
||||
const { ufs } = require('unionfs');
|
||||
|
||||
module.exports = fs;
|
||||
ufs.use(fs).use(vol.fromJSON(require('./files')));
|
||||
ufs.constants = fs.constants;
|
||||
|
||||
module.exports = ufs;
|
|
@ -1,52 +1,43 @@
|
|||
div#resume_js_app {
|
||||
width: 800px;
|
||||
height: 600px;
|
||||
background: #212121;
|
||||
width:1000px;
|
||||
height:800px;
|
||||
border: 1px solid #e1e1e1;
|
||||
border-radius: 6px;
|
||||
padding: 8px 2px;
|
||||
font-family: monospace;
|
||||
transition: all .15s;
|
||||
box-shadow: 0 2px 1px #303030a0;
|
||||
box-shadow: 0 2px 1px #303030A0;
|
||||
color: #e1e1e1 !important;
|
||||
padding: 8px 2px;
|
||||
transition: 150ms ease;
|
||||
}
|
||||
|
||||
div#resume_js_app:hover {
|
||||
box-shadow: 0 2px 3px #303030;
|
||||
}
|
||||
|
||||
div#resume_js_app p.js_loading_indicator {
|
||||
width: -moz-fit-content;
|
||||
padding: 0; margin: 0;
|
||||
position: relative;
|
||||
top: 50%; left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
width: fit-content;
|
||||
text-align: center;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
position: relative;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
}
|
||||
|
||||
|
||||
div#resume_js_app * {
|
||||
color: #e1e1e1;
|
||||
font-family: Source Code Pro, monospace !important;
|
||||
font-family: 'Source Code Pro', monospace !important;
|
||||
}
|
||||
|
||||
div#resume_js_app a, div#resume_js_app a:visited {
|
||||
text-shadow: 0 0 #24557e30;
|
||||
font-weight: 500;
|
||||
color: rgb(36, 85, 126) !important;
|
||||
text-decoration: none;
|
||||
transition: all .15s;
|
||||
color: #24557e !important;
|
||||
font-weight: 500;
|
||||
transition: 150ms ease;
|
||||
text-shadow: 0 0 0px #24557e30;
|
||||
}
|
||||
|
||||
div#resume_js_app a:hover {
|
||||
text-shadow: 0 0 4px #24557e30;
|
||||
}
|
||||
|
||||
div#resume_js_app table * {
|
||||
border:0;
|
||||
text-align: left;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
/*# sourceMappingURL=resume.css.map */
|
||||
|
|
Loading…
Reference in New Issue