How to do a week todo list with logseq

I think making too many plans will make me bored, and I prefer to make a “month plan”
I will give a number to the tasks that I think need to be performed for a long time. For example, [[L22S6_1_kotlin]] means a short-term plan 1 in June of 22, learning kotlin. And I will list the long-term tasks that need attention on the content page.

- [[2022]]
  - [#A] [[L22S6_1_kotlin]]
  - [#B] [[L22S6_2_jvm]]

I will freely arrange what to do according to my daily state. Then, on the journal page, record the tasks done every day, such as DOING [[L22S6_1_kotlin]] [[kotlin/functional programming]] sequence.

Then I have a page to review what I have done this month, and then adjust and arrange what I want to do next month. My habit is to focus only on what needs long-term persistence. Making plans for the trivial things will only waste more energy.
The following is the query used to check the completion of monthly tasks.

#+BEGIN_ QUERY
{:title "Recent Tasks"
:query [:find (pull ?b [*])
:in $ ? start ? today
:where
(task ?b #{"TODO" "DOING" "DONE"})
(between ?b ?start ?today)]
:inputs [:60d :today]
:result-transform (fn [result]
(->> result
(map (fn [r] (assoc r :block/properties {"marker" (get r :block/marker)} )))
)
)
:collapsed?  false}
#+END_ QUERY

Hope it can help you