{"id":13412444,"url":"https://github.com/middleman/middleman","last_synced_at":"2025-05-13T10:58:21.362Z","repository":{"id":622299,"uuid":"261943","full_name":"middleman/middleman","owner":"middleman","description":"Hand-crafted frontend development","archived":false,"fork":false,"pushed_at":"2025-04-22T07:52:54.000Z","size":23617,"stargazers_count":7096,"open_issues_count":14,"forks_count":751,"subscribers_count":167,"default_branch":"main","last_synced_at":"2025-04-28T10:53:26.931Z","etag":null,"topics":["middleman","static-site-generator"],"latest_commit_sha":null,"homepage":"https://middlemanapp.com","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"ooyala/atlantis-manager","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/middleman.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"tdreyno"}},"created_at":"2009-07-27T21:41:11.000Z","updated_at":"2025-04-26T15:37:58.000Z","dependencies_parsed_at":"2023-07-05T15:01:34.668Z","dependency_job_id":"d7eff79d-588c-44fa-939f-723df75f00f3","html_url":"https://github.com/middleman/middleman","commit_stats":{"total_commits":2829,"total_committers":202,"mean_commits":"14.004950495049505","dds":"0.35524920466595966","last_synced_commit":"4e9a7dc4765e5912c64bda33ace473a9e01de64a"},"previous_names":[],"tags_count":296,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/middleman%2Fmiddleman","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/middleman%2Fmiddleman/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/middleman%2Fmiddleman/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/middleman%2Fmiddleman/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/middleman","download_url":"https://codeload.github.com/middleman/middleman/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252544685,"owners_count":21765417,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["middleman","static-site-generator"],"created_at":"2024-07-30T20:01:24.736Z","updated_at":"2025-05-05T17:42:53.931Z","avatar_url":"https://github.com/middleman.png","language":"Ruby","readme":"# Middleman - Makes developing websites simple\n\n[![Gem Version](http://img.shields.io/gem/v/middleman.svg?style=flat)][gem]\n[![CI](https://github.com/middleman/middleman/actions/workflows/ci.yml/badge.svg)](https://github.com/middleman/middleman/actions/workflows/ci.yml)\n[![License](http://img.shields.io/badge/license-MIT-blue.svg?style=flat)][license]\n\n**Middleman** is a static site generator using all the shortcuts and tools in modern web development. Check out [middlemanapp.com](http://middlemanapp.com/) for detailed tutorials, including a [getting started guide](http://middlemanapp.com/basics/getting-started/).\n\n## Why Middleman?\n\nThese days, many websites are built with an API in mind. Rather than package the frontend and the backend together, both can be built and deployed independently using the public API to pull data from the backend and display it on the frontend. Static websites are incredibly fast and require very little RAM. A front-end built to stand-alone can be deployed directly to the cloud or a CDN. Many designers and developers simply deliver static HTML/JS/CSS to their clients.\n\n- Uses [Sass](https://sass-lang.com/) for DRY stylesheets.\n- Bring your own asset pipeline (WebPack, Babel, Sprockets or any other).\n- Easy templating with [ERb](https://ruby-doc.org/stdlib-2.0.0/libdoc/erb/rdoc/ERB.html) or [Haml](https://haml.info/).\n\n**Middleman** gives the stand-alone developer access to all these tools and many, many more.\n\n## Installation\n\nMiddleman is built on Ruby and uses the RubyGems package manager for installation. These are usually pre-installed on Mac OS X and Linux. Windows users can install both using [RubyInstaller]. For windows [RubyInstaller-Devkit] is also required.\n\n```bash\ngem install middleman\n```\n\n## Getting Started\n\nOnce Middleman is installed, you will have access to the `middleman` command. First, let's create a new project. From the terminal:\n\n```bash\nmiddleman init MY_PROJECT\n```\n\nThis will create a new Middleman project located in the \"MY_PROJECT\" directory. This project contains a `config.rb` file for configuring Middleman and a `source` directory for storing your pages, stylesheets, javascripts and images.\n\nChange directories into your new project and start the preview server:\n\n```bash\ncd MY_PROJECT\nmiddleman server\n```\n\nThe preview server allows you to build your site, by modifying the contents of the `source` directory, and see your changes reflected in the browser at: `http://localhost:4567/`\n\nTo get started, simply develop as you normally would by building HTML, CSS, and Javascript in the `source` directory. When you're ready to use more complex templates, simply add the templating engine's extension to the file and start writing in that format.\n\nFor example, say I am working on a stylesheet at `source/stylesheets/site.css` and I'd like to start using Sass. I would rename the file to `source/stylesheets/site.css.scss` and Middleman will automatically begin processing that file as Sass. The same would apply to CoffeeScript (`.js.coffee`), Haml (`.html.haml`) and any other templating engine you might want to use.\n\nFinally, you will want to build your project into a stand-alone site. From the project directory:\n\n```bash\nmiddleman build\n```\n\nThis will compile your templates and output a stand-alone site which can be easily hosted or delivered to your client. The build step can also compress images, employ Javascript \u0026 CSS dependency management, minify Javascript \u0026 CSS and run additional code of your choice. Take a look at the `config.rb` file to see some of the most common extensions which can be activated.\n\n## Learn More\n\nA full set of in-depth instructional guides are available on the official website at: \u003chttp://middlemanapp.com\u003e.\n\nAdditionally, up-to-date generated code documentation is available on [RubyDoc].\n\n## Community\n\nThe official community forum is available at: \u003chttp://forum.middlemanapp.com\u003e\n\n## Bug Reports\n\nGithub Issues are used for managing bug reports and feature requests. If you run into issues, please search the issues and submit new problems: \u003chttps://github.com/middleman/middleman/issues\u003e\n\nThe best way to get quick responses to your issues and swift fixes to your bugs is to submit detailed bug reports, include test cases and respond to developer questions in a timely manner. Even better, if you know Ruby, you can submit [Pull Requests](https://help.github.com/articles/using-pull-requests) containing Cucumber Features which describe how your feature should work or exploit the bug you are submitting.\n\n## How to Run Cucumber Tests\n\n1. Checkout Repository: `git clone https://github.com/middleman/middleman.git`\n2. Install Bundler: `gem install bundler`\n3. Run `bundle install` inside the project root to install the gem dependencies.\n4. Run test cases: `bundle exec rake test`\n\n## Donate\n\n[Click here to lend your support to Middleman](https://github.com/sponsors/tdreyno)\n\n## Versioning\n\nThis library aims to adhere to [Semantic Versioning 2.0.0][semver]. Violations\nof this scheme should be reported as bugs. Specifically, if a minor or patch\nversion is released that breaks backward compatibility, that version should be\nimmediately yanked and/or a new version should be immediately released that\nrestores compatibility. Breaking changes to the public API will only be\nintroduced with new major versions. As a result of this policy, you can (and\nshould) specify a dependency on this gem using the [Pessimistic Version\nConstraint][pvc] with two digits of precision. For example:\n\n```ruby\ngem 'middleman', '~\u003e 4.0'\n```\n\n[semver]: http://semver.org/\n[pvc]: http://guides.rubygems.org/patterns/#pessimistic-version-constraint\n\n## License\n\nCopyright (c) 2010-2023 Thomas Reynolds. MIT Licensed, see [LICENSE] for details.\n\n[gem]: https://rubygems.org/gems/middleman\n[rubyinstaller]: http://rubyinstaller.org/\n[rubyinstaller-devkit]: http://rubyinstaller.org/add-ons/devkit/\n[rubydoc]: http://rubydoc.info/github/middleman/middleman\n[license]: https://github.com/middleman/middleman/blob/master/LICENSE.md\n","funding_links":["https://github.com/sponsors/tdreyno"],"categories":["Content Management \u0026 Blogging","Uncategorized","Ruby","Web 后端","others","Happy Exploring 🤘","By Language","Markdown Building Blocks","Static Page Generation","Middlewares"],"sub_categories":["Static Website Generation","Uncategorized","Ruby","Markdown to Website / Blog"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmiddleman%2Fmiddleman","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmiddleman%2Fmiddleman","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmiddleman%2Fmiddleman/lists"}