{"id":42640308,"url":"https://github.com/newism/craftcms-revved-url","last_synced_at":"2026-01-29T06:12:48.018Z","repository":{"id":57025915,"uuid":"80809769","full_name":"newism/craftcms-revved-url","owner":"newism","description":"Rev CraftCMS asset urls with date modified timestamps","archived":false,"fork":false,"pushed_at":"2017-03-14T05:18:08.000Z","size":20,"stargazers_count":7,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-04-18T12:10:39.136Z","etag":null,"topics":["craft","craft-plugin","craftcms","craftcms-plugin"],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/newism.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-02-03T08:10:53.000Z","updated_at":"2020-09-25T08:25:09.000Z","dependencies_parsed_at":"2022-08-23T15:00:25.006Z","dependency_job_id":null,"html_url":"https://github.com/newism/craftcms-revved-url","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/newism/craftcms-revved-url","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/newism%2Fcraftcms-revved-url","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/newism%2Fcraftcms-revved-url/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/newism%2Fcraftcms-revved-url/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/newism%2Fcraftcms-revved-url/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/newism","download_url":"https://codeload.github.com/newism/craftcms-revved-url/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/newism%2Fcraftcms-revved-url/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28865590,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-29T05:56:06.453Z","status":"ssl_error","status_checked_at":"2026-01-29T05:55:57.668Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["craft","craft-plugin","craftcms","craftcms-plugin"],"created_at":"2026-01-29T06:12:47.332Z","updated_at":"2026-01-29T06:12:48.012Z","avatar_url":"https://github.com/newism.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NSM Revved URL plugin for Craft CMS\n\nThis Twig function revs asset urls with the date modified timestamp\n\n## Installation\n\nTo install NSM Revved URL, follow these steps:\n\n1. Download \u0026 unzip the file and place the `nsmrevvedurl` directory into your `craft/plugins` directory\n2.  -OR- do a `git clone https://github.com/Newism/nsmrevvedurl.git` directly into your `craft/plugins` folder.  You can then update it with `git pull`\n3.  -OR- install with Composer via `composer require nsm/craftcms-revved-url`\n4. Install plugin in the Craft Control Panel under Settings \u003e Plugins\n5. The plugin folder should be named `nsmrevvedurl` for Craft to see it.  GitHub recently started appending `-master` (the branch name) to the name of the folder for zip file downloads.\n\nNSM Revved URL works on Craft 2.4.x and Craft 2.5.x.\n\n## Usage\n\n### Native Assets\n\nIts simple… just call the function and pass the asset and an optional transform\n\n    nsm_rev_asset_url(asset, transform)\n\nBefore revving:\n\n    http://example.com/uploads/images/_572x430_crop_center-center_80/James-Ellis_elevation-render-1.jpg\n\nAfter revving:\n\n    http://example.com/uploads/images/_572x430_crop_center-center_80/James-Ellis_elevation-render-1.1485302752.jpg\n\n### Imager Support\n\nNSM Revved URL supports [Imager](https://github.com/aelvan/Imager-Craft) transforms and `craft.imager.srcset()` \nby wrapping the Imager plugin functions. \n\n#### Returned a revved URL\n\n    {{ nsm_rev_imager_url(newsImage, transform) }}\n     \n#### Returned a revved Imager model\n\nCaution this replaces the original `url` property\n\n    {% set revvedImagerAsset = nsm_rev_imager_asset(newsImage, transform) }}\n      \n    {# output the revved URL #}\n    {{ revvedImagerAsset.url }}\n\n#### Returned a revved Imager model for use with `craft.imager.srcset()`\n\n    {% set revvedImagerAsset = nsm_rev_imager_asset(newsImage, [transform1, transform2]) }}\n    {{ craft.imager.srcset(revvedImagerAsset) }}\n\n## Updating your server config\n\nThis plugin doesn't actually change the the filename on the server. You'll need to implement rewrite rules on your server.\n\n#### Apache\n\nSee: https://github.com/h5bp/server-configs-apache/blob/master/dist/.htaccess#L968-L984\n\n    # ----------------------------------------------------------------------\n    # | Filename-based cache busting                                       |\n    # ----------------------------------------------------------------------\n\n    # If you're not using a build process to manage your filename version\n    # revving, you might want to consider enabling the following directives\n    # to route all requests such as `/style.12345.css` to `/style.css`.\n    #\n    # To understand why this is important and even a better solution than\n    # using something like `*.css?v231`, please see:\n    # http://www.stevesouders.com/blog/2008/08/23/revving-filenames-dont-use-querystring/\n\n    # \u003cIfModule mod_rewrite.c\u003e\n    #     RewriteEngine On\n    #     RewriteCond %{REQUEST_FILENAME} !-f\n    #     RewriteRule ^(.+)\\.(\\d+)\\.(bmp|css|cur|gif|ico|jpe?g|js|png|svgz?|webp|webmanifest)$ $1.$3 [L]\n    # \u003c/IfModule\u003e\n    \n#### NGINX\n\nSee: https://github.com/h5bp/server-configs-nginx/blob/master/h5bp/location/cache-busting.conf#L1-L10\n\n    # Built-in filename-based cache busting\n\n    # This will route all requests for /css/style.20120716.css to /css/style.css\n    # Read also this: github.com/h5bp/html5-boilerplate/wiki/cachebusting\n    # This is not included by default, because it'd be better if you use the build\n    # script to manage the file names.\n    location ~* (.+)\\.(?:\\d+)\\.(js|css|png|jpg|jpeg|gif)$ {\n      try_files $uri $1.$2;\n    }\n\n\n[\u003cimg src=\"http://newism.com.au/uploads/content/newism-logo.png\" width=\"150px\" /\u003e](http://newism.com.au/)\n\nBrought to you by [Leevi Graham](http://newism.com.au)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnewism%2Fcraftcms-revved-url","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnewism%2Fcraftcms-revved-url","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnewism%2Fcraftcms-revved-url/lists"}