II

MEL Officer

Full-time Ibadan, Oyo, NG
Posted 2 weeks, 4 days ago 112 views 0 applications

Job Description

We need to output clean semantic HTML per rules. Input already has HTML tags but we need to reformat: Use

for intro paragraphs and general text,

for section headers (Responsibilities, Qualifications, Requirements, Education, Experience, Skills, How to Apply, Key Duties, About the Role). Use
  • for list items (duties, requirements, qualifications, skills). No CSS classes, no inline styles, no
    , no
    . Preserve all original content word-for-word — do not add, remove, summarise, or rephrase. If text has no clear sections, just wrap paragraphs in

    tags. We have a job description with sections: intro paragraphs, then position, contract, location, closing date, then DUTIES (list). No other sections like Qualifications etc. So we need to keep all content exactly as is, but reformat using allowed tags. We must preserve original content word-for-word. That means we cannot change wording, but we can change tags. We need to wrap paragraphs in

    . For headings like "Position:", "Contract:", "Location:", "Closing Date:" maybe they are not section headers per allowed list; they are just labels. The rule says use

    for section headers (e.g. Responsibilities, Qualifications, Requirements, Education, Experience, Skills, How to Apply, Key Duties, About the Role). So "DUTIES" is a section header akin to Key Duties, so we should wrap that in

    . The other labels like Position:, Contract:, Location:, Closing Date: are not in that list, so they should be treated as general text, wrapped in

    . Also the intro paragraphs: "The International Institute of Tropical Agriculture seeks suitable Nigerian nationals for the position below at the Institute’s Headquarters in Ibadan." plus empty paragraph etc. We must preserve all content word-for-word, including spaces and special characters like   etc. The original includes   entities. We must keep them exactly. Also there are bullet points using "·     ". Those are special characters and spaces. We need to keep them exactly. For list items we need to wrap each duty in

  • inside a
      . The bullet characters are part of the content; we should keep them inside
    • . The original bullet is a middle dot followed by       (maybe 4 spaces). We'll keep that. We must not add or remove any content. So we need to ensure we keep the exact same text, just changing tags. Let's extract the raw text from the given input (including HTML tags). But we need to ignore the existing tags and treat the content as plain text? The instruction: "Preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase". The original content includes the HTML tags? The given job description includes HTML tags like

      , , etc. If we preserve them word-for-word, we would output the same HTML, but we need to reformat to semantic HTML using only allowed tags. That would be a change (removing etc). However the instruction says preserve original content word-for-word, but also we must format as clean semantic HTML using only certain tags. Likely they mean preserve the textual content (the words) not the markup. So we should strip existing tags and reapply our own. We must not add or remove any words, characters, spaces, etc. So we need to output the same textual content (including spaces,   entities) but wrapped in allowed tags. Thus we need to parse the textual content from the given snippet, ignoring the existing tags, but preserving the text exactly as it appears between tags, including entities like   and & (maybe &?). The snippet includes   entities; we must keep them as is. Let's extract the text: Start: "

      The International Institute of Tropical Agriculture seeks suitable Nigerian nationals for the position below at the Institute’s Headquarters in Ibadan.

      Position:        MEL Officer

      Contract:      2-years renewable contract                                            

      Location: Ibadan

      Closing Date: 10 September 2026

      DUTIES

      ·       Support the implementation of the I-Youth 2.0 MEL framework and monitoring plan in Nigeria.

      ..." We need to get the text nodes. Let's manually extract: Paragraph1: "The International Institute of Tropical Agriculture seeks suitable Nigerian nationals for the position below at the Institute’s Headquarters in Ibadan." Paragraph2: empty (just

      ) => maybe we should keep an empty paragraph? The rule: preserve all original content word-for-word. An empty paragraph is content? It's just a tag with no text. If we preserve word-for-word, we might need to output an empty

      . But we are only allowed to use

      for paragraphs. An empty

      is allowed. Should we keep it? Probably yes to preserve original content. However the instruction: "If text has no clear sections, just wrap paragraphs in

      tags". An empty paragraph is still a paragraph. We'll keep

      . Paragraph3: contains Position:        MEL Officer. So text: "Position:        MEL Officer". Note there are spaces and   entities. We'll keep exactly that. Paragraph4: "Contract:      2-years renewable contract                                            " We need to extract the text nodes: The first strong: "Contract:    " then a space? Actually after
      there is   (an entity) then 2-years renewable contract... then after that there are spaces and   entities. Let's capture exactly. The raw string: `

      Contract:      2-years renewable contract                                            

      ` Let's break: - Opening

      - Contract:     -   - 2-years renewable contract                    -                 (that's 8  ? Actually count: there is a space then 8  ? Let's just keep as is) - space? Actually after the series of   there is a space then           (maybe 8?). Hard to parse but we must keep exactly. Thus the paragraph text is: "Contract:      2-years renewable contract                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    

Apply Now ↗

How well do you match?

Get an instant AI match score for this role — free, takes 3 minutes.

Tailor your CV for this role

The concierge rewrites your whole CV and writes a matching cover letter for this job — opens right here, nothing to paste.

Tailor My CV to This Job ✍️

Free cover letter for this job

Upload your CV and get a tailored cover letter in seconds — free, no account needed.

Generate a Cover Letter 📝

Join Our Ethiopia Channels

Get free job alerts on your phone

MJC
ECHO
Your MJC Assistant

I'm ECHO, your MJC career assistant. I can help you find jobs, explore career tools, and connect with opportunities across Africa.

How was your experience with ECHO?