blog framework ci