commit 6a9d132d58f5fb2574f21b79d023934139a9225f Author: Milianor Date: Thu Mar 23 20:39:26 2023 -0300 Initial commit diff --git a/INSTALL.md b/INSTALL.md new file mode 100644 index 0000000..ae79c6b --- /dev/null +++ b/INSTALL.md @@ -0,0 +1,17 @@ +### [Foobar](https://foobar.com) + +#### Install using Git + +If you are a git user, you can install the theme and keep up to date by cloning the repo: + + git clone https://github.com/dracula/foobar.git + +#### Install manually + +Download using the [GitHub .zip download](https://github.com/dracula/foobar/archive/master.zip) option and unzip them. + +#### Activating theme + +1. Do this +2. Then that +3. Boom! It's working diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..8877ffb --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 Dracula Theme + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..0519310 --- /dev/null +++ b/README.md @@ -0,0 +1,27 @@ +# Dracula for [Foobar](https://foobar.com) + +> A dark theme for [Foobar](https://foobar.com). + +![Screenshot](./screenshot.png) + +## Install + +All instructions can be found at [draculatheme.com/foobar](https://draculatheme.com/foobar). + +## Team + +This theme is maintained by the following person(s) and a bunch of [awesome contributors](https://github.com/dracula/foobar/graphs/contributors). + +| [![Zeno Rocha](https://github.com/zenorocha.png?size=100)](https://github.com/zenorocha) | +| ---------------------------------------------------------------------------------------- | +| [Zeno Rocha](https://github.com/zenorocha) | + +## Community + +- [Twitter](https://twitter.com/draculatheme) - Best for getting updates about themes and new stuff. +- [GitHub](https://github.com/dracula/dracula-theme/discussions) - Best for asking questions and discussing issues. +- [Discord](https://draculatheme.com/discord-invite) - Best for hanging out with the community. + +## License + +[MIT License](./LICENSE) diff --git a/sample/Dracula.yml b/sample/Dracula.yml new file mode 100644 index 0000000..17d95a5 --- /dev/null +++ b/sample/Dracula.yml @@ -0,0 +1,27 @@ +name: Dracula +spec: # https://spec.draculatheme.com + # Base https://draculatheme.com/contribute#color-palette + background: &BACKGROUND '#282A36' + foreground: &FOREGROUND '#F8F8F2' # 07 + selection: &SELECTION '#44475A' + comment: &COMMENT '#6272A4' + cyan: &CYAN '#8BE9FD' # 06 + green: &GREEN '#50FA7B' # 02 + orange: &ORANGE '#FFB86C' + pink: &PINK '#FF79C6' + purple: &PURPLE '#BD93F9' + red: &RED '#F55' # 01 + yellow: &YELLOW '#F1FA8C' # 03 + + # ANSI 0–15 https://spec.draculatheme.com#sec-ANSI + black: &BLACK '#21222C' # 00 + blue: &BLUE '#BD93F9' # 04 + magenta: &MAGENTA '#FF79C6' # 05 + bright_black: &BRIGHT_BLACK '#6272A4' # 08 + bright_red: &BRIGHT_RED '#FF6E6E' # 09 + bright_green: &BRIGHT_GREEN '#69FF94' # 10 + bright_yellow: &BRIGHT_YELLOW '#FFFFA5' # 11 + bright_blue: &BRIGHT_BLUE '#D6ACFF' # 12 + bright_magenta: &BRIGHT_MAGENTA '#FF92DF' # 13 + bright_cyan: &BRIGHT_CYAN '#A4FFFF' # 14 + bright_white: &BRIGHT_WHITE '#FFF' # 15 diff --git a/sample/SAMPLE.md b/sample/SAMPLE.md new file mode 100644 index 0000000..1945513 --- /dev/null +++ b/sample/SAMPLE.md @@ -0,0 +1,18 @@ +# Sample + +In order to improve the quality of our screenshots, we created this folder with standardized code snippets. + +## Instructions + +After you're done taking a screenshot, feel free to delete this `sample` folder. + +## Why this is cool? + +* It contains examples of string, number, and array +* It contains examples of single line and multi-line comments +* It contains examples of inheritance and functions +* It's simple, funny, and silly :) + +## Is there a programming language missing? + +Feel free to send a pull request. This will help new theme authors to create awesome screenshots. \ No newline at end of file diff --git a/sample/dracula.c b/sample/dracula.c new file mode 100644 index 0000000..c0ea987 --- /dev/null +++ b/sample/dracula.c @@ -0,0 +1,28 @@ +#include + +struct Vampire { + char *location; + int birthday; + int deathdate; + char *weaknesses[2]; +}; + +int _calcAge(struct Vampire *v) { return v->deathdate - v->birthday; } + +int get_age(struct Vampire *v) { return _calcAge(v); } + +int main() { + struct Vampire v; + + /* There was a guy named Vlad */ + v.location = malloc(12 * sizeof(char)); + v.location = "Transylvania"; + v.birthday = 1428; + v.deathdate = 1476; + v.weaknesses[0] = "Sunlight"; + v.weaknesses[1] = "Garlic"; + + get_age(&v); + + return 0; +} \ No newline at end of file diff --git a/sample/dracula.c++ b/sample/dracula.c++ new file mode 100644 index 0000000..fc6e30c --- /dev/null +++ b/sample/dracula.c++ @@ -0,0 +1,38 @@ +#include +#include + +/* + * Once upon a time... + */ + +class Vampire { + public: + Vampire(std::string location, int birth_date, int death_date, + std::vector weaknesses) + : _location{location}, + _birth_date{birth_date}, + _death_date{death_date}, + _weaknesses{weaknesses} {} + + int age() { return calc_age(); } + + private: + std::string _location; + int _birth_date; + int _death_date; + std::vector _weaknesses; + + int calc_age() { return _death_date - _birth_date; } +}; + +// ...there was a guy named Vlad + +int main() { + std::string location = "Transylvania"; + int birth_date = 1428, death_date = 1476; + std::vector weaknesses { "Sunlight", "Garlic" }; + + Vampire dracula{location, birth_date, death_date, weaknesses}; + + return 0; +} diff --git a/sample/dracula.clj b/sample/dracula.clj new file mode 100644 index 0000000..c79c8e0 --- /dev/null +++ b/sample/dracula.clj @@ -0,0 +1,13 @@ +(comment + "Once upon a time...") + +(ns clj-dracula) + +(defstruct dracula :location :birth-date :death-date :weaknesses) + +(defn age + [vamp] (- (vamp :death-date) (vamp :birth-date))) + +;;...there was a guy named Vlad +(let [d (struct dracula "Transylvania" 1428 1476 '("Sunlight", "Garlic"))] + (println (age d))) \ No newline at end of file diff --git a/sample/dracula.cs b/sample/dracula.cs new file mode 100644 index 0000000..1920dca --- /dev/null +++ b/sample/dracula.cs @@ -0,0 +1,43 @@ +/* +* Once upon a time... +*/ + +public class Vampire +{ + public string Location { get; private set; } + public int BirthDate { get; private set; } + public int DeathDate { get; private set; } + public string[] Weaknesses { get; private set; } + + public Vampire(string location, int birthDate, int deathDate, string[] weaknesses) + { + Location = location; + BirthDate = birthDate; + DeathDate = deathDate; + Weaknesses = weaknesses; + } + + public int Age() + { + return calcAge(); + } + + private int calcAge() + { + return DeathDate - BirthDate; + } +} +class Program +{ + static void Main(string[] args) + { + // ...there was a guy named Vlad + + var vampire = new Vampire( + "Transylvania", + 1428, + 1476, + new string[] { "Sunlight", "Garlic" } + ); + } +} diff --git a/sample/dracula.css b/sample/dracula.css new file mode 100644 index 0000000..fc3d20b --- /dev/null +++ b/sample/dracula.css @@ -0,0 +1,33 @@ +/* + * Once upon a time... + */ + +:root { + --birthDate: 1428px; + --deathDate: 1476px; +} + +body { + background: #000; +} + +/* ...there was a guy named Vlad */ + +#dracula { + opacity: 0; + display: none; + visibility: hidden; + font-family: "Transylvania"; + height: calc(var(--deathDate) - var(--birthDate)); +} + +.cape { + background: #ff0000 !important; +} + +@font-face { + font-family: "Transylvania"; + src: url("/location/Transylvania.woff2") format("woff2"); + font-weight: 700; + font-style: normal; +} diff --git a/sample/dracula.dart b/sample/dracula.dart new file mode 100644 index 0000000..7748c88 --- /dev/null +++ b/sample/dracula.dart @@ -0,0 +1,24 @@ +/* + * Once upon a time... + */ + +class Vampire { + String location; + int birthDate, deathDate; + List weaknesses; + + Vampire({this.location, this.birthDate, this.deathDate, this.weaknesses}); + + int get age => this.calcAge(); + + int calcAge() => this.deathDate - this.birthDate; +} + +void main() { + // ...there was a guy named Vlad + final Dracula = Vampire( + location: 'Transylvania', + birthDate: 1428, + deathDate: 1476, + weaknesses: ['Sunlight', 'Garlic']); +} \ No newline at end of file diff --git a/sample/dracula.ex b/sample/dracula.ex new file mode 100644 index 0000000..2a76d07 --- /dev/null +++ b/sample/dracula.ex @@ -0,0 +1,33 @@ +defmodule Vampire do + @moduledoc """ + Once upon a time... + """ + + defstruct [:location, :birth_date, :death_date, :weaknesses] + + def new(props) do + %__MODULE__{ + location: props[:location], + birth_date: props[:birth_date], + death_date: props[:death_date], + weaknesses: props[:weaknesses] + } + end + + def age(vampire) do + calc_age(vampire) + end + + defp calc_age(vampire) do + vampire.death_date - vampire.birth_date + end +end + +# ...there was a guy named Vlad + +dracula = Vampire.new( + location: "Transylvania", + birthDate: 1428, + deathDate: 1476, + weaknesses: ["Sunlight", "Garlic"] +) diff --git a/sample/dracula.go b/sample/dracula.go new file mode 100644 index 0000000..da16915 --- /dev/null +++ b/sample/dracula.go @@ -0,0 +1,34 @@ +package main + +import "fmt" + +/* + Once upon a time... +*/ +type Vampire struct { + Location string + BirthDate int + DeathDate int + Weaknesses []string +} + +func (v *Vampire) Age() int { + return v.calcAge() +} + +func (v *Vampire) calcAge() int { + return v.DeathDate - v.BirthDate +} + +// ...there was a guy named Vlad + +func main() { + dracula := &Vampire{ + Location: "Transylvania", + BirthDate: 1428, + DeathDate: 1476, + Weaknesses: []string{"Sunlight", "Garlic"}, + } + + fmt.Println(dracula.Age()) +} diff --git a/sample/dracula.html b/sample/dracula.html new file mode 100644 index 0000000..8bccb8b --- /dev/null +++ b/sample/dracula.html @@ -0,0 +1,34 @@ + + + + + Dracula + + + +

Vampires

+ +
+ + + + + + + + + + + +
+ + + + diff --git a/sample/dracula.java b/sample/dracula.java new file mode 100644 index 0000000..f7e4989 --- /dev/null +++ b/sample/dracula.java @@ -0,0 +1,30 @@ +class Vampire { + private String location; + private int birthDate; + private int deathDate; + private String[] weaknesses; + + public Vampire(String location, int birthDate, int deathDate, String[] weaknesses) { + this.location = location; + this.birthDate = birthDate; + this.deathDate = deathDate; + this.weaknesses = weaknesses; + } + + public int getAge() { + return this.calcAge(); + } + + public int calcAge() { + return this.deathDate - this.birthDate; + } +} + +// ...there was a guy named Vlad +public class dracula { + Vampire vampire = new Vampire( + "Transylvania", + 1428, + 1476, + new String[] { "Sunlight", "Garlic" }); +} \ No newline at end of file diff --git a/sample/dracula.js b/sample/dracula.js new file mode 100644 index 0000000..9b5be18 --- /dev/null +++ b/sample/dracula.js @@ -0,0 +1,27 @@ +/* + * Once upon a time... + */ +class Vampire { + constructor(props) { + this.location = props.location; + this.birthDate = props.birthDate; + this.deathDate = props.deathDate; + this.weaknesses = props.weaknesses; + } + + get age() { + return this.calcAge(); + } + + calcAge() { + return this.deathDate - this.birthDate; + } +} + +// ...there was a guy named Vlad +const Dracula = new Vampire({ + location: 'Transylvania', + birthDate: 1428, + deathDate: 1476, + weaknesses: ['Sunlight', 'Garlic'] +}); \ No newline at end of file diff --git a/sample/dracula.kt b/sample/dracula.kt new file mode 100644 index 0000000..a6304e0 --- /dev/null +++ b/sample/dracula.kt @@ -0,0 +1,27 @@ +/* + * Once upon a time ... + */ + +class Vampire( + val location: String, + val birthDate: Int, + val deathDate: Int, + val weaknesses: Array +) { + val age: Int + get() = this.calcAge() + + fun calcAge() = + this.deathDate - this.birthDate +} + +// ... there was a guy named Vlad + +fun main() { + Vampire( + "Transylvania", + 1428, + 1476, + arrayOf("Sunlight", "Garlic") + ) +} \ No newline at end of file diff --git a/sample/dracula.md b/sample/dracula.md new file mode 100644 index 0000000..8cbbd36 --- /dev/null +++ b/sample/dracula.md @@ -0,0 +1,17 @@ + + +# Vampires + +| Name | Value | +|------------|------------------| +| location | Transylvania | +| birth date | 1428 | +| death date | 1476 | +| weaknesses | Sunlight, Garlic | + + + +> The **age** is the `deathDate` minus the `birthDate` + diff --git a/sample/dracula.php b/sample/dracula.php new file mode 100644 index 0000000..e7151ac --- /dev/null +++ b/sample/dracula.php @@ -0,0 +1,34 @@ +location = $props['location']; + $this->birthDate = $props['birthDate']; + $this->deathDate = $props['deathDate']; + $this->weaknesses = $props['weaknesses']; + } + + public function age(): int { + return $this->calcAge(); + } + + private function calcAge(): int { + return $this->deathDate - $this->birthDate; + } +} + +// ...there was a guy named Vlad +$Dracula = new Vampire([ + 'location' => 'Transylvania', + 'birthDate' => 1428, + 'deathDate' => 1476, + 'weaknesses' => ['Sunlight', 'Garlic'] +]); +?> diff --git a/sample/dracula.py b/sample/dracula.py new file mode 100644 index 0000000..95d9346 --- /dev/null +++ b/sample/dracula.py @@ -0,0 +1,23 @@ +# Once upon a time... + +class Vampire: + def __init__(self, props): + self.location = props['location'] + self.birthDate = props['birthDate'] + self.deathDate = props['deathDate'] + self.weaknesses = props['weaknesses'] + + def get_age(self): + return self.calc_age() + + def calc_age(self): + return self.deathDate - self.birthDate + +# ...there was a guy named Vlad + +Dracula = Vampire({ + 'location': 'Transylvania', + 'birthDate': 1428, + 'deathDate': 1476, + 'weaknesses': ['Sunlight', 'Garlic'] +}) \ No newline at end of file diff --git a/sample/dracula.rb b/sample/dracula.rb new file mode 100644 index 0000000..5a149c1 --- /dev/null +++ b/sample/dracula.rb @@ -0,0 +1,33 @@ +# +# Once upon a time... +# + +class Vampire + def initialize(opts) + @location = opts[:location] + @birthDate = opts[:birthDate] + @deathDate = opts[:deathDate] + @weaknesses = opts[:weaknesses] + end + + def age + calcAge + end + + private + + def calcAge + @deathDate - @birthDate + end +end + +# ...there was a guy named Vlad + +dracula = Vampire.new( + location: 'Transylvania', + birthDate: 1428, + deathDate: 1476, + weaknesses: %w[Sunlight Garlic] +) + +puts dracula.age diff --git a/sample/dracula.rs b/sample/dracula.rs new file mode 100644 index 0000000..78bc96b --- /dev/null +++ b/sample/dracula.rs @@ -0,0 +1,46 @@ + // Once upon a time... + +#[derive(Debug)] +pub struct Vampire { + location: String, + birth_date: u16, + death_date: u16, + weaknesses: Vec, +} + +impl Vampire { + pub fn new( + location: String, + birth_date: u16, + death_date: u16, + weaknesses: Vec, + ) -> Self { + Vampire { + location, + birth_date, + death_date, + weaknesses, + } + } + + pub fn age(&self) -> u16 { + self.calc_age() + } + + fn calc_age(&self) -> u16 { + self.death_date - self.birth_date + } +} + +// ...there was a guy named Vlad + +fn main() { + let dracula = Vampire::new( + "Transylvania".to_string(), + 1428, + 1476, + vec!["Sunlight".to_string(), "Garlic".to_string()], + ); + + println!("{:?}", dracula); +} diff --git a/sample/dracula.scala b/sample/dracula.scala new file mode 100644 index 0000000..7f0353e --- /dev/null +++ b/sample/dracula.scala @@ -0,0 +1,15 @@ +/* + * Once upon a time... + */ +class Vampire(location: String, birthDate: Int, deathDate: Int, weaknesses: Array[String]) { + def age(): Int = { + calcAge() + } + + def calcAge(): Int = { + this.deathDate - this.birthDate + } +} + +// ...there was a guy named Vlad +val dracula = new Vampire(location = "Transylvania", birthDate = 1428, deathDate = 1476, weaknesses = Array("Sunlight", "Garlic")) diff --git a/sample/dracula.sml b/sample/dracula.sml new file mode 100644 index 0000000..764bbff --- /dev/null +++ b/sample/dracula.sml @@ -0,0 +1,22 @@ +(* + * Once upon a time... + *) + +structure Vampire = struct + type params = {location: string, + birthDate: int, + deathDate: int, + weaknesses: string list} + type vampire = params + fun new (v : params) : vampire = v + fun age (v : vampire) : int = (#deathDate v) - (#birthDate v) +end + +(* ...there was a guy named Vlad *) + +structure Romainia = struct + val dracula = Vampire.new {location="Transylvania", + birthDate=1428, + deathDate=1476, + weaknesses=["Sunlight", "Garlic"]} +end diff --git a/sample/dracula.swift b/sample/dracula.swift new file mode 100644 index 0000000..da7d325 --- /dev/null +++ b/sample/dracula.swift @@ -0,0 +1,29 @@ +/* +* Once upon a time... +*/ + +class Vampire { + var location: String + var birthDate: Int + var deathDate: Int + var weaknesses: [String] + + init(location: String, birthDate: Int, deathDate: Int, weaknesses: [String]) { + self.location = location + self.birthDate = birthDate + self.deathDate = deathDate + self.weaknesses = weaknesses + } + + var age: Int { + self.calcAge() + } + + func calcAge() -> Int { + self.deathDate - self.birthDate + } +} + +// ...there was a guy named Vlad + +let dracula = Vampire(location: "Transylvania", birthDate: 1428, deathDate: 1476, weaknesses: ["Sunlight", "Garlic"]) \ No newline at end of file diff --git a/sample/dracula.ts b/sample/dracula.ts new file mode 100644 index 0000000..1dd1c25 --- /dev/null +++ b/sample/dracula.ts @@ -0,0 +1,41 @@ +/* + * Once upon a time... + */ + +interface VampireProps { + location: string; + birthDate: number; + deathDate: number; + weaknesses: string[]; +} + +class Vampire { + location: string; + birthDate: number; + deathDate: number; + weaknesses: string[]; + + constructor(props: VampireProps) { + this.location = props.location; + this.birthDate = props.birthDate; + this.deathDate = props.deathDate; + this.weaknesses = props.weaknesses; + } + + get age(): number { + return this.calcAge(); + } + + calcAge(): number { + return this.deathDate - this.birthDate; + } +} + +// ...there was a guy named Vlad + +const Dracula: VampireProps = new Vampire({ + location: 'Transylvania', + birthDate: 1428, + deathDate: 1476, + weaknesses: ['Sunlight', 'Garlic'], +}); diff --git a/screenshot.png b/screenshot.png new file mode 100644 index 0000000..8f7a1f5 Binary files /dev/null and b/screenshot.png differ