
Research
Security News
Malicious PyPI Package Exploits Deezer API for Coordinated Music Piracy
Socket researchers uncovered a malicious PyPI package exploiting Deezer’s API to enable coordinated music piracy through API abuse and C2 server control.
balloon-generator
Advanced tools
Because balloons generate static...
Balloon is a very simple static site generator. Built for deploying to S3. It works for my needs, but it's pretty simple.
View the source code of my website.
.md
npm install -g balloon-generator
# generate static based on settings in balloon.json (see below)
balloon
balloon --output ./another/destination/ # override build directory
# Same as above, except it watches for changes and serves the build directory
balloon --serve
balloon --serve 3000 # with port
# Get help
balloon --help
Usage: balloon [options]
Options:
-h, --help output usage information
-V, --version output the version number
-s, --serve [port] watch and serve files
-b, --build <path> override build path
Here's what a base project looks like:
MyBalloonProject/
├── balloon.json # Main config file (see below)
├── content/ # Website pages live here (markdown and/or HTML)
├── layouts/ # Layouts live here
└── static/ # Everything in here remains untouched (use for images, css, etc)
Here is something a bit more complicated:
MyBalloonProject/
├── balloon.json
├── content/
│ ├── index.html
│ ├── rss.xml
│ ├── blog/
│ │ ├── index.html
│ │ └── 2014/
│ │ └── 12/
│ │ ├── 04/
│ │ │ ├── My First Post.md
│ │ └── 08/
│ │ └── My Second Post.md
├── layouts/
│ ├── rss.xml
│ └── base.html
└── static/
├── favicon.ico
├── styles/
│ └── main.css
└── scripts/
└── main.js
A few notes on what you see above:
mysite.com/blog/2014/12/04/my-first-post.html
Balloon looks for a balloon.json
file in the directory that it is run from. Here is an example
of a config:
{
/** Directory to watch */
"source": "./",
/** Directory to put built files */
"build": "build/",
/** The domain (S3 bucket) to deploy to */
"domain": "website.com",
/**
* Context attributs (values) in each of these will apply if
* the regex pattern (key) matches the URL path of the page
* being rendered.
*/
"defaults": {
".*": {
// The only required context variable
"_layout": "default.html",
// Some useful variables to be used in templates
"siteName": "My Website",
"page_type": "basic"
},
"^/blog/.+": {
"_layout": "blog.html",
// Change the type for blog posts so the template knows
// what to do
"page_type": "blog"
}
}
}
Balloon lets you define context variables in balloon.json
(see below), but it also provides some
default ones that should be useful. All Balloon-generated variables start with underscores.
_title
name of the file, without the extension_slug
full URL path of the current page_created
an extracted date if the URL path contains the pattern /YYYY/MM/DD/
timestamp
, year
, month
, day
_pages
a list of all the pages that were rendered, along with the context for each one
index.html
and rss.xml
have access to _pages
/blog/index.html
page to list all blog postsRight now I'm the only person I know of using Balloon in production. You can check out my site (also view the source). I'm always open to chat as well. You can find my contact info on my website.
FAQs
Basic static site generator
The npm package balloon-generator receives a total of 3 weekly downloads. As such, balloon-generator popularity was classified as not popular.
We found that balloon-generator demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncovered a malicious PyPI package exploiting Deezer’s API to enable coordinated music piracy through API abuse and C2 server control.
Research
The Socket Research Team discovered a malicious npm package, '@ton-wallet/create', stealing cryptocurrency wallet keys from developers and users in the TON ecosystem.
Security News
Newly introduced telemetry in devenv 1.4 sparked a backlash over privacy concerns, leading to the removal of its AI-powered feature after strong community pushback.