├── .gitattributes ├── .gitignore ├── .hgignore ├── CoffeeScriptPreprocessor.cs ├── Libs ├── CoffeeSharp.dll └── Jurassic.dll ├── Licence.md ├── Module.txt ├── Piedone.Combinator.CoffeeScript.csproj ├── Properties └── AssemblyInfo.cs ├── Readme.md ├── Web.config └── packages.config /.gitattributes: -------------------------------------------------------------------------------- 1 | * -crlf -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | obj/ 2 | bin/ 3 | *.user 4 | -------------------------------------------------------------------------------- /.hgignore: -------------------------------------------------------------------------------- 1 | syntax: glob 2 | bin/ 3 | obj/ 4 | *.user 5 | -------------------------------------------------------------------------------- /CoffeeScriptPreprocessor.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Web; 6 | using CoffeeSharp; 7 | using Piedone.Combinator.EventHandlers; 8 | 9 | namespace Piedone.Combinator.CoffeeScript { 10 | public class CoffeeScriptPreprocessor : ICombinatorResourceEventHandler 11 | { 12 | 13 | public void OnContentLoaded(Models.CombinatorResource resource) 14 | { 15 | if (Path.GetExtension(resource.AbsoluteUrl.ToString()).ToLowerInvariant() != ".coffee") return; 16 | 17 | resource.Content = new CoffeeScriptEngine().Compile(resource.Content); 18 | } 19 | 20 | public void OnContentProcessed(Models.CombinatorResource resource) 21 | { 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /Libs/CoffeeSharp.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lombiq/Combinator-CoffeeScript-Preprocessor/dde7e8a03b31fc61c9d28b71e2876b4a3752053a/Libs/CoffeeSharp.dll -------------------------------------------------------------------------------- /Libs/Jurassic.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lombiq/Combinator-CoffeeScript-Preprocessor/dde7e8a03b31fc61c9d28b71e2876b4a3752053a/Libs/Jurassic.dll -------------------------------------------------------------------------------- /Licence.md: -------------------------------------------------------------------------------- 1 | Copyright © 2015, [Lombiq Technologies Ltd.](https://lombiq.com) 2 | 3 | All rights reserved. 4 | 5 | For more information and requests about licensing please [contact us through our website](https://lombiq.com/contact-us). 6 | 7 | Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 8 | 9 | * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 10 | 11 | * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 12 | 13 | * Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. 14 | 15 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- /Module.txt: -------------------------------------------------------------------------------- 1 | Name: Combinator CoffeeScript Preprocessor 2 | AntiForgery: enabled 3 | Author: Piedone 4 | Website: https://github.com/Lombiq/Combinator-CoffeeScript-Preprocessor 5 | Version: 1.0 6 | OrchardVersion: 1.10.1 7 | Description: CoffeeScript preprocessor for the Combinator Orchard module (https://combinator.codeplex.com/). Uses CoffeeSharp (http://tomlokhorst.github.com/CoffeeSharp/). 8 | Features: 9 | Piedone.Combinator.CoffeeScript: 10 | Name: Combinator CoffeeScript Preprocessor 11 | Description: CoffeeScript preprocessor for the Combinator Orchard module (https://combinator.codeplex.com/). Uses CoffeeSharp (http://tomlokhorst.github.com/CoffeeSharp/). 12 | Category: Performance 13 | Dependencies: Piedone.Combinator -------------------------------------------------------------------------------- /Piedone.Combinator.CoffeeScript.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | 9.0.30729 8 | 2.0 9 | {F8EBC4DF-8C62-43FE-A90D-4D7B12AF93B9} 10 | {349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc} 11 | Library 12 | Properties 13 | Piedone.Combinator.CoffeeScript 14 | Piedone.Combinator.CoffeeScript 15 | v4.5.2 16 | false 17 | 18 | 4.0 19 | 20 | 21 | false 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | true 30 | full 31 | false 32 | bin\ 33 | DEBUG;TRACE 34 | prompt 35 | 4 36 | ..\..\..\OrchardBasicCorrectness.ruleset 37 | false 38 | 39 | 40 | pdbonly 41 | true 42 | bin\ 43 | TRACE 44 | prompt 45 | 4 46 | AllRules.ruleset 47 | false 48 | 49 | 50 | 51 | Libs\CoffeeSharp.dll 52 | 53 | 54 | Libs\Jurassic.dll 55 | 56 | 57 | 58 | 59 | 60 | 3.5 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | ..\..\..\packages\Microsoft.AspNet.Mvc.5.2.3\lib\net45\System.Web.Mvc.dll 75 | True 76 | 77 | 78 | ..\..\..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.dll 79 | True 80 | 81 | 82 | ..\..\..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll 83 | True 84 | 85 | 86 | ..\..\..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.Helpers.dll 87 | True 88 | 89 | 90 | ..\..\..\packages\Microsoft.AspNet.Razor.3.2.3\lib\net45\System.Web.Razor.dll 91 | True 92 | 93 | 94 | ..\..\..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.Deployment.dll 95 | True 96 | 97 | 98 | ..\..\..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.Razor.dll 99 | True 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | {2d1d92bb-4555-4cbe-8d0e-63563d6ce4c6} 110 | Orchard.Framework 111 | false 112 | 113 | 114 | {9916839c-39fc-4ceb-a5af-89ca7e87119f} 115 | Orchard.Core 116 | false 117 | 118 | 119 | {c2f88c61-ed65-400a-aaa3-12518108eb8d} 120 | Piedone.Combinator 121 | 122 | 123 | 124 | 125 | 126 | 127 | 10.0 128 | $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) 129 | 130 | 131 | 132 | 133 | 137 | 138 | 139 | $(ProjectDir)\..\Manifests 140 | 141 | 144 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | False 157 | True 158 | 45979 159 | / 160 | 161 | False 162 | True 163 | http://orchard.codeplex.com 164 | False 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | -------------------------------------------------------------------------------- /Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | using System.Security; 5 | 6 | // General Information about an assembly is controlled through the following 7 | // set of attributes. Change these attribute values to modify the information 8 | // associated with an assembly. 9 | [assembly: AssemblyTitle("Piedone.Combinator.CoffeeScript")] 10 | [assembly: AssemblyDescription("")] 11 | [assembly: AssemblyConfiguration("")] 12 | [assembly: AssemblyProduct("Orchard")] 13 | [assembly: AssemblyCopyright("")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("b5db443b-8e22-4dbf-a0ad-70d7a79e6008")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Revision and Build Numbers 33 | // by using the '*' as shown below: 34 | [assembly: AssemblyVersion("1.0.0.0")] 35 | [assembly: AssemblyFileVersion("1.0.0.0")] 36 | 37 | -------------------------------------------------------------------------------- /Readme.md: -------------------------------------------------------------------------------- 1 | # Combinator CoffeeScript Preprocessor 2 | 3 | 4 | 5 | ## About 6 | 7 | CoffeeScript preprocessor for the Combinator Orchard module (https://github.com/Lombiq/Combinator/). 8 | 9 | 10 | ## Documentation 11 | 12 | **The module is dependent on the [Combinator](https://github.com/Lombiq/Combinator) Orchard module (needs at least Combinator 2.0), so make sure to install it first!** 13 | 14 | This preprocessor hooks into Combinator and compiles included CoffeeScript files (.coffee files) into pure JavaScript. 15 | 16 | 17 | ## Contributing and support 18 | 19 | Bug reports, feature requests, comments, questions, code contributions, and love letters are warmly welcome, please do so via GitHub issues and pull requests. Please adhere to our [open-source guidelines](https://lombiq.com/open-source-guidelines) while doing so. 20 | 21 | This project is developed by [Lombiq Technologies](https://lombiq.com/). Commercial-grade support is available through Lombiq. -------------------------------------------------------------------------------- /Web.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 |
6 |
7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | -------------------------------------------------------------------------------- /packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | --------------------------------------------------------------------------------