Git Product home page Git Product logo

hugo-theme-terminalcv's Introduction

terminalCV

semantic-release Conventional Commits

terminalCV

General Information

An easy to setup and (almost) fully customizable command line style CV theme

Live example at: https://coolapso.sh

Features

  • Custom Greeting
    • Multi line text is respected
  • Customizable prompt
    • Custom before & after prompt text
    • Custom before & after prompt colors
    • Custom prompt text
    • Custom prompt text Color
    • custom separator text
    • custom separator color
    • custom before & after symbols text
    • custom before & after symbols colors
    • Custom symbols
    • Custom symbols color
    • Custom extra text
    • Custom extra text color
  • Multiple sections with individual commands:
    • Whois: General information about the individual
    • social: shows social networks
      • Any social network is supported, even the ones that don't exist! just provide a name and a URL
      • The social network name can be hidden and show only the URL
    • work: shows work experience information
      • Title can have custom color
    • education: shows education information
      • Title can have custom color
    • sklls: Shows skills information
      • Skill name can have custom color
    • softskills: shows softskills information
      • Skill name can have custom color
    • languages: Shows languages skills information
      • Language name can have custom color
    • projects: Shows projects information
      • Project title can have custom color
    • misc: Free text
      • misc command can be overriden and given another name
      • Title can have custom color
      • Content can have custom color
  • Extra commands:
    • startx: Shows "loading..." progress bar and redirects to another website
      • Disabled by default
      • only enabled if provided a location to send to
    • exit: Shows "terminating..." progress bar and redirects to another website
      • Disabled by default
      • only enabled if provided a location to send to
    • source: Shows the glider and the theme github repo URL
      • Enabled by default
      • Can be disabled
    • version: Shows the website version
      • Disabled by default
      • only enabled if provided a version parameter
  • Less, print commands output with less
    • Global, all commands use less instead of standard output
    • Per command, only defined commands use less as output method
    • less <command>, will output using less instead of standard output
  • Command auto completion
  • progression bars can be interrupted by pressing ctrl+d
  • Favicons

How to start

This theme is far more simplistic than most themes therefore running hugo new site creates a lot of things that are not necessary.

mkdir -p myterminalcv/themes
cd myterminalcv
git clone https://github.com/coolapso/hugo-theme-terminalcv themes/terminalcv
cp themes/exampleSite/config.yaml .
hugo server

Now you can start personalizing it by changing the config.yaml and when you are happy just build the site with hugo

Recommended way

If you are using git (which you should be!) for your website and don't want to make any radical changes to the theme itself, it's recommended that you add the theme as a submodule. This way, you can easily get new updates when they are available.

$ git submodule add https://github.com/coolapso/hugo-theme-terminalcv.git themes/terminalcv

How to configure

All the content and configuration is done through the config.yml.

you can just copy the existing example file and change it to your liking.

Faviconss

RealFaviconGenerator and put the generated files into the static your folder

Contributions

Improvements and suggestions are always welcome, feel free to open an Issue or Pull Request

If you like this theme and want to support / contribute in a different way you can always:

Buy Me A Coffee

Development

If you just want to make any changes and be able to test them as you progress, or if you simply just want to test the module wihtou having to create a new hugo website you can just run

git clone https://github.com/coolapso/hugo-theme-terminalcv
cd hugo-theme-terminalcv
make server

if you don't have make, then you can just run:

hugo server --config exampleSite/config.yml --theme ""

jcubic/Jquery.Terminal

terminalCV makes use jcubic/jquery.terminal

Using this theme?

Let me know and feel free to open a Pull Request and add it to this list:

link Description
https://coolapso.sh Simple CV

hugo-theme-terminalcv's People

Contributors

coolapso avatar davidem avatar pauldavidjarvis avatar pandyah5 avatar jcubic avatar

Stargazers

Pravin Kumar avatar Juliya Gannon avatar  avatar  avatar Rudy avatar Rinaldi Roberto avatar Casual_Kitt3n / SereniTeaWithKetamine avatar Leo Yin avatar  avatar Yintong avatar SalahDin Rezk avatar Sid avatar  avatar Thiago Faioli avatar Tristan avatar  avatar noahsec avatar Angad Behl avatar catszy avatar Sorath avatar  avatar  avatar  avatar Mischa avatar Tejaswini Ray avatar Eduardo José Barrios García avatar Dyl Bromell avatar Dencho Taylor avatar estivillpol avatar  avatar ivan l. avatar Alireza Dehghanzadeh avatar Alex S. avatar  avatar Alvaro GJ avatar Clara Contreras avatar Reda avatar gigi avatar Boris Levenzon avatar Nihal Atwal avatar  avatar roddie digital avatar  avatar Sofia Popova avatar Paulo Vinícius Pinto avatar Mohammed Thaier avatar Vio avatar  avatar Ryan Balfanz avatar Jakub Jíra avatar Roger Steve Ruiz avatar Suren Lockwood avatar Motape Oswald Langa avatar Christoph avatar Nicolas Flandrois avatar Breanne avatar Almas Baktubayev avatar Fernando Garcia avatar Julia Piaskowski avatar futurewizard avatar K4LM3D avatar Phat Dang avatar  avatar Zekeriya AY avatar Raoni Meira Gabriel avatar Stefen Wakefield avatar Korben Tompkin avatar Atanas Atanasov avatar Felix Thümmler avatar DarkNetArmy avatar Aleksei avatar  avatar  avatar Bert Vaerendonck avatar DavidB avatar KayFreyer avatar John Bowdre avatar  avatar HackingHieser avatar 简律纯 avatar absolute in doubt avatar Brennan McCandliss avatar Mehmet avatar Chad Boyce avatar VanDulti avatar Jerry Xu avatar Luis G Luna avatar Hernán J. Maina avatar Fastidious avatar Otavio Coelho avatar J. Alcocer Tagua avatar who ? where ?! HOW !! avatar  avatar l151820 avatar Ilham Taufiq avatar Geoffrey avatar  avatar Friedrich Pittelkow avatar  avatar Vijayakumar Ravi avatar

Watchers

 avatar

hugo-theme-terminalcv's Issues

Prompt showing too soon

Hi there, me again. I've found another thing that I can't fix myself.

The bootsequence works with v2.42.2 and is called 'onInit', but apparently the prompt already shows. It didn't show this behaviour in v2.35.1. See attached recording.

Screen.Recording.2024-07-17.at.21.41.33.mov

Not sure it is because of your rework. It looks like the bugs 934 and 938 over at jquery.terminal, but they appear to be fixed.

Using HUGO posts.

Hi this is not so much an issue, but more a comment.
I love the idea and how you executed.
Just got a bit down when i realized it is more about .js than Hugo.
Having said that I know it is up to me fork and modify. :)

Anyway, thank you for making it available.

Enter should result in a newline instead of an 'unknown command'

Hi Carlos,

awesome theme for Hugo! Thanks!

One tiny thing that annoyed me was that when you press 'enter', the prompt came back with an 'unknown command' error. Imho it should simply return a newline. Only when a real unknown command is typed, it should return the error.

I've added 2 lines of code to catch '', which fixes it for me. Please check the pull request. Not sure if it is the best way to do this, but it works for me ;)

#10

Cheers,

David

"Erro" testando o tema

Olá Carlos

Tentei fazer um teste simples do seu tema... Porém estou tento o erro "Page Not Found"
Segue abaixo o procedimento executado e o erro obtido...

Como não encontrei nenhum aviso quanto a teste subindo server local do hugo... Supus que deveria rodar! Ou não ?

hugo new site teste.hugo
cd teste.hugo/
git clone https://github.com/coolapso/hugo-theme-terminalcv.git themes/terminalcv
cp themes/terminalcv/exampleSite/config.yml .
hugo server -D --logLevel debug

Watching for changes in /home/0xttfx/Git/cv0xttfx.hugo/{archetypes,assets,content,data,i18n,layouts,static}
Watching for config changes in /home/0xttfx/Git/cv0xttfx.hugo/hugo.toml
Start building sites … 
hugo v0.121.2+extended linux/amd64 BuildDate=2024-02-07T00:00:00+00:00 VendorInfo=Fedora:0.121.2-1.fc40

INFO  copy static: syncing static files to /
INFO  build: running step process duration 52.943µs
INFO  build: running step assemble duration 53.384µs
WARN  found no layout file for "html" for kind "home": You should create a template file which matches Hugo Layouts Lookup Rules for this combination.
WARN  found no layout file for "html" for kind "taxonomy": You should create a template file which matches Hugo Layouts Lookup Rules for this combination.
INFO  build: running step render duration 694.339µs
INFO  build: running step postProcess duration 3.206µs

                   | EN  
-------------------+-----
  Pages            |  3  
  Paginator pages  |  0  
  Non-page files   |  0  
  Static files     |  0  
  Processed images |  0  
  Aliases          |  0  
  Sitemaps         |  1  
  Cleaned          |  0  

Built in 1 ms
Environment: "development"
Serving pages from memory
Running in Fast Render Mode. For full rebuilds on change: hugo server --disableFastRender
Web Server is available at http://localhost:1313/ (bind address 127.0.0.1) 

erroCVCommand

term.typing results in undefined messages

Hi, I see you changed from jquery.terminal 2.35.1 to 2.42.0.

Unfortunately term.typing results in a massive spam of undefined messages when using the new version.

This is with 2.42.0 set in head.html:
https://github.com/coolapso/hugo-theme-terminalcv/assets/706591/f3194252-38dd-47be-8500-54a28735a2d3

This is with 2.35.1 set in head.html:
https://github.com/coolapso/hugo-theme-terminalcv/assets/706591/8b8cbc4c-f648-4140-bf90-5626a0506fb4

I call term.typing like this:
term.typing('echo', 5, '{{ .Site.Params.bootsequence9 }}', function() { });

Bootsequence parameter:

  bootsequence9: |
    [OSBoot1]
    [OSBoot2]
    [OSBoot3]
    [OSBootTheme]

    Boot Complete

I assume this is not because of your rework, but I thought to ask first here.

Boot sequence for example in 'greetings'

Is it possible to create a boot sequence? So it looks like it is booting up when the page loads?

The way I'm trying now is to tweak 'greetings', but I can't seem to add a 'clear' command between the sequence and the normal greeting.

This is what I have now:

greetings: "{{ .Site.Params.bootsequence }}[[b;{{ .Site.Params.greetingBannerColor | default "white" }};]{{ .Site.Params.greetingBanner }}][[b;{{ .Site.Params.greetingColor | default "white" }};]{{ .Site.Params.greeting }}]",

Is it possible to add a 'clear' command after the bootsequence? My jQuery/javascript skills are limited ;)

Or is there another way?

Adding Certifications Suggestion

Hey, love your template and this idea! I was adding my own to my website and saw that you never included an option to discuss any certifications a person might hold so I added my own little bits to \themes\terminalcv\layouts\index.html and thought I'd add it a suggestion.

Added this to my toml file, had to use a converted to convert your yaml to toml:

[[params.certificate]]
certName = "Certificate Name"
company = "Certifying Company"
date = "Date of Completion"
description = "Lorem Ipsum"

Firstly included certificate as one of the available commands:

var availableCommands = ["all", "whois", 'social', 'work', 'education', 'certificate',

Next added a new function based on the education function and taking the company from the job function:

    /* Functions to be called by commands */
    function certificate () {
          term.echo("");
          {{ with .Site.Params.certificate }}
              {{ range . }}
			      term.echo("[[b;{{ .color | default "grey" }};]{{ .certName }}]");
                  term.echo("{{ .company }}");
                  term.echo("{{ .date }}");
                  {{ if .description }}
                      term.echo("{{ .description }}");
                  {{ end }}
                  term.echo("-------------------- ");
                  term.echo("");
              {{ end }}
          {{ end }}
      }

Then finally needed to include the case along with the rest in the Functions end section:

      /* Functions End */
	 case 'certificate':
                certificate();
                break;

And the case 'all' section:

            case 'all':
		   certificate();

Space before command

It doesn't look very good if there is no space between the command and prompt.

Make this multilanguage

Hi i love this theme, i was wondering if you can point me in the right direction to make the theme multilanguage i would love to add spanish to it

Add Posts

Hi Coolapso,
I love your work, but I'm not familiar with Hugo (last time I used Jekyll to build a blog). Can we add a post to this "terminal-like" website, so that.. visitors don't need to move to another website to read blog posts?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.