Erb Like Library for C#

ERB like library for C#

Have a look at TemplateMachine, I haven't tested it, but it seems to be a bit ERB-like.

.erb templates in C#

I'm not familiar with erb but it sounds like you're looking for T4 text templates.

Parsing email body with c#

I found the answer by using a library using OpenPop.Net.

public void addMessage(string message, string header) {
string full_body = header + "\n" + message;
System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();
Byte[] full_body_bytes = encoding.GetBytes(full_body);
Message mm = new Message(full_body_bytes);

//do stuff here.
}

Can I set up HTML/Email Templates with ASP.NET?

There's a ton of answers already here, but I stumbled upon a great article about how to use Razor with email templating. Razor was pushed with ASP.NET MVC 3, but MVC is not required to use Razor. This is pretty slick processing of doing email templates

As the article identifies, "The best thing of Razor is that unlike its predecessor(webforms) it is not tied with the web environment, we can easily host it outside the web and use it as template engine for various purpose. "

Generating HTML emails with RazorEngine - Part 01 - Introduction

Leveraging Razor Templates Outside of ASP.NET: They’re Not Just for HTML Anymore!

Smarter email templates in ASP.NET with RazorEngine

Similar Stackoverflow QA

Templating using new RazorEngine API

Using Razor without MVC

Is it possible to use Razor View Engine outside asp.net

Array.join(\n) not the way to join with a newline?

Yes, but if you print that string out it will have newlines in it:

irb(main):001:0> a = (1..4).to_a
=> [1, 2, 3, 4]
irb(main):002:0> a.join("\n")
=> "1\n2\n3\n4"
irb(main):003:0> puts a.join("\n")
1
2
3
4

So it does appear to achieve what you desire (?)

How can I correctly prefix a word with a and an?

  1. Download Wikipedia
  2. Unzip it and write a quick filter program that spits out only article text (the download is generally in XML format, along with non-article metadata too).
  3. Find all instances of a(n).... and make an index on the following word and all of its prefixes (you can use a simple suffixtrie for this). This should be case sensitive, and you'll need a maximum word-length - 15 letters?
  4. (optional) Discard all those prefixes which occur less than 5 times or where "a" vs. "an" achieves less than 2/3 majority (or some other threshholds - tweak here). Preferably keep the empty prefix to avoid corner-cases.
  5. You can optimize your prefix database by discarding all those prefixes whose parent shares the same "a" or "an" annotation.
  6. When determining whether to use "A" or "AN" find the longest matching prefix, and follow its lead. If you didn't discard the empty prefix in step 4, then there will always be a matching prefix (namely the empty prefix), otherwise you may need a special case for a completely-non matching string (such input should be very rare).

You probably can't get much better than this - and it'll certainly beat most rule-based systems.

Edit: I've implemented this in JS/C#. You can try it in your browser, or download the small, reusable javascript implementation it uses. The .NET implementation is package AvsAn on nuget. The implementations are trivial, so it should be easy to port to any other language if necessary.

Turns out the "rules" are quite a bit more complex than I thought:

  • it's an unanticipated result but it's a unanimous vote
  • it's an honest decision but a honeysuckle shrub
  • Symbols: It's an 0800 number, or an ∞ of oregano.
  • Acronyms: It's a NASA scientist, but an NSA analyst; a FIAT car but an FAA policy.

...which just goes to underline that a rule based system would be tricky to build!

Escape c# class property from JSON serialization (to remove quotes)

Answer from @CraigW. is very close. To make it closer to what you are after, try to declare data as collection of collection of object :

public class Series
{
public string type { get; set; }
public string name { get; set; }
public List<List<object>> data { get; set; }
}

Test code to populate the model :

Series series = new Series();
series.type = "foo";
series.name = "bar";

series.data = new List<List<object>>();

for (int i = 0; i < 5; i++)
{
var data = new List<object>();
data.Add(DateTime.Now);
data.Add(i);
series.data.Add(data);
}

var json = JsonConvert.SerializeObject(series, Formatting.Indented);

Test result :

{
"type": "foo",
"name": "bar",
"data": [
[
"2014-04-17T22:15:06.8812404+07:00",
0
],
[
"2014-04-17T22:15:06.8812404+07:00",
1
],
[
"2014-04-17T22:15:06.8812404+07:00",
2
],
[
"2014-04-17T22:15:06.8812404+07:00",
3
],
[
"2014-04-17T22:15:06.8812404+07:00",
4
]
]
}

How can I jump to class/method definition in Atom text editor?

I had the same issue and atom-goto-definition (package name goto-definition) worked like charm for me. Please try once. You can download directly from Atom.

This package is DEPRECATED. Please check it in Github.



Related Topics



Leave a reply



Submit